Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
B

®*ãŠ`ã@sFddlmZddlmZddlmZmZmZmZm	Z	Gdd„dƒZ
dS)é)Úcontextmanager)ÚOptionalé)Ú
ParserElementÚParseExceptionÚKeywordÚ__diag__Ú
__compat__c@s^eZdZdZGdd„dƒZGdd„dƒZedeee	ee	e
eeeeeed	œd
d„ƒZdS)
Úpyparsing_testzB
    namespace class for classes useful in writing unit tests
    c@s@eZdZdZdd„Zdd„Zdd„Zdd	„Zd
d„Zdd
„Z	dS)z&pyparsing_test.reset_pyparsing_contexta˜
        Context manager to be used when writing unit tests that modify pyparsing config values:
        - packrat parsing
        - bounded recursion parsing
        - default whitespace characters.
        - default keyword characters
        - literal string auto-conversion class
        - __diag__ settings

        Example::

            with reset_pyparsing_context():
                # test that literals used to construct a grammar are automatically suppressed
                ParserElement.inlineLiteralsUsing(Suppress)

                term = Word(alphas) | Word(nums)
                group = Group('(' + term[...] + ')')

                # assert that the '()' characters are not included in the parsed tokens
                self.assertParseAndCheckList(group, "(abc 123 def)", ['abc', '123', 'def'])

            # after exiting context manager, literals are converted to Literal expressions again
        cCs
i|_dS)N)Ú
_save_context)Úself©r
ú/build/wlanpi-profiler-7IIg1Q/wlanpi-profiler-1.0.11/debian/wlanpi-profiler/opt/wlanpi-profiler/lib/python3.7/site-packages/pyparsing/testing.pyÚ__init__-sz/pyparsing_test.reset_pyparsing_context.__init__cCsžtj|jd<tj|jd<tj|jd<tj|jd<tj|jd<tjrRtjj	|jd<n
d|jd<tj
|jd<tj|jd<d	d
„tj
Dƒ|jd<dtji|jd
<|S)NÚdefault_whitespaceÚdefault_keyword_charsÚliteral_string_classÚverbose_stacktraceÚpackrat_enabledÚpackrat_cache_sizeÚ
packrat_parseÚrecursion_enabledcSsi|]}tt|ƒ|“qSr
)Úgetattrr)Ú.0Únamer
r
rú
<dictcomp>Fsz?pyparsing_test.reset_pyparsing_context.save.<locals>.<dictcomp>rÚcollect_all_And_tokensr	)rÚDEFAULT_WHITE_CHARSrrÚDEFAULT_KEYWORD_CHARSÚ_literalStringClassrÚ_packratEnabledÚ
packrat_cacheÚsizeÚ_parseÚ_left_recursion_enabledrÚ
_all_namesr	r)rr
r
rÚsave0s
z+pyparsing_test.reset_pyparsing_context.savecCsÂtj|jdkr t |jd¡|jdt_|jdt_t |jd¡x.|jd ¡D]\}}|rjt	j
nt	j|ƒqXWdt_|jdršt 
|jd¡n|jd	t_|jd
t_|jdt_|S)NrrrrrFrrrrr	)rrrZset_default_whitespace_charsrrrÚinlineLiteralsUsingÚitemsrÚenableÚdisabler Zenable_packratr#r$r	r)rrÚvaluer
r
rÚrestorePs$
z.pyparsing_test.reset_pyparsing_context.restorecCst|ƒƒ}|j |j¡|S)N)ÚtyperÚupdate)rÚretr
r
rÚcopyqs
z+pyparsing_test.reset_pyparsing_context.copycCs| ¡S)N)r&)rr
r
rÚ	__enter__vsz0pyparsing_test.reset_pyparsing_context.__enter__cGs| ¡dS)N)r,)rÚargsr
r
rÚ__exit__ysz/pyparsing_test.reset_pyparsing_context.__exit__N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__rr&r,r0r1r3r
r
r
rÚreset_pyparsing_contexts !r8c@sJeZdZdZddd„Zddd„Zddd	„Zdd
d„Zee	dfdd
„ƒZ
dS)z&pyparsing_test.TestParseResultsAssertszk
        A mixin class to add parse results assertion methods to normal unittest.TestCase classes.
        NcCs<|dk	r|j|| ¡|d|dk	r8|j|| ¡|ddS)zÑ
            Unit test assertion to compare a :class:`ParseResults` object with an optional ``expected_list``,
            and compare any defined results names with an optional ``expected_dict``.
            N)Úmsg)ÚassertEqualÚas_listZas_dict)rÚresultÚ
expected_listÚ
expected_dictr9r
r
rÚassertParseResultsEqualssz?pyparsing_test.TestParseResultsAsserts.assertParseResultsEqualsTcCs@|j|dd}|r t| ¡ƒnt| ¡ƒ|j|||ddS)zÆ
            Convenience wrapper assert to test a parser element and input string, and assert that
            the resulting ``ParseResults.asList()`` is equal to the ``expected_list``.
            T)Z	parse_all)r=r9N)Úparse_stringÚprintÚdumpr;r?)rÚexprÚtest_stringr=r9Úverboser<r
r
rÚassertParseAndCheckLists
z>pyparsing_test.TestParseResultsAsserts.assertParseAndCheckListcCs@|j|dd}|r t| ¡ƒnt| ¡ƒ|j|||ddS)zÆ
            Convenience wrapper assert to test a parser element and input string, and assert that
            the resulting ``ParseResults.asDict()`` is equal to the ``expected_dict``.
            T)ÚparseAll)r>r9N)r@rArBr;r?)rrCrDr>r9rEr<r
r
rÚassertParseAndCheckDict›s
z>pyparsing_test.TestParseResultsAsserts.assertParseAndCheckDictc
Cs|\}}|dk	rðdd„t||ƒDƒ}xÊ|D]Â\}}}	tdd„|	Dƒdƒ}
tdd„|	Dƒdƒ}|dk	r’|j||
pp|dt|tƒr†|‚WdQRXq*tdd„|	Dƒdƒ}td	d„|	Dƒdƒ}
||
fd
krÞ|j|||
|
pÖ|dq*td |¡ƒq*W|j||dk	r|nd
ddS)ah
            Unit test assertion to evaluate output of ``ParserElement.runTests()``. If a list of
            list-dict tuples is given as the ``expected_parse_results`` argument, then these are zipped
            with the report tuples returned by ``runTests`` and evaluated using ``assertParseResultsEquals``.
            Finally, asserts that the overall ``runTests()`` success value is ``True``.

            :param run_tests_report: tuple(bool, [tuple(str, ParseResults or Exception)]) returned from runTests
            :param expected_parse_results (optional): [tuple(str, list, dict, Exception)]
            NcSsg|]\}}||f˜‘qSr
r
)rÚrptÚexpectedr
r
rú
<listcomp>¹szOpyparsing_test.TestParseResultsAsserts.assertRunTestResults.<locals>.<listcomp>css|]}t|tƒr|VqdS)N)Ú
isinstanceÚstr)rÚexpr
r
rú	<genexpr>ÁszNpyparsing_test.TestParseResultsAsserts.assertRunTestResults.<locals>.<genexpr>css&|]}t|tƒrt|tƒr|VqdS)N)rLr-Ú
issubclassÚ	Exception)rrNr
r
rrOÅs)Úexpected_exceptionr9css|]}t|tƒr|VqdS)N)rLÚlist)rrNr
r
rrOÓscss|]}t|tƒr|VqdS)N)rLÚdict)rrNr
r
rrOÖs)NN)r=r>r9zno validation for {!r}zfailed runTests)r9)	ÚzipÚnextÚassertRaisesrLrQr?rAÚformatÚ
assertTrue)rÚrun_tests_reportÚexpected_parse_resultsr9Úrun_test_successÚrun_test_resultsÚmergedrDr<rJÚfail_msgrRr=r>r
r
rÚassertRunTestResults©s:
z;pyparsing_test.TestParseResultsAsserts.assertRunTestResultsc	cs$|j||ddVWdQRXdS)N)r9)rW)rÚexc_typer9r
r
rÚassertRaisesParseExceptionèszApyparsing_test.TestParseResultsAsserts.assertRaisesParseException)NNN)NT)NT)NN)r4r5r6r7r?rFrHr`rrrbr
r
r
rÚTestParseResultsAsserts|s



>rcNTú|)ÚsÚ
start_lineÚend_lineÚexpand_tabsÚeol_markÚmark_spacesÚmark_controlÚreturncs|r| ¡}ˆdk	r‚ˆdkrPt dd„ttddƒtddƒƒDƒd	d
iB¡}d‰n(t ‡fdd„ttdd
ƒƒd	gDƒ¡}| |¡}|dk	rÂ|dkrÂ|dkr¶t dddœ¡}| |¡}n| d|¡}|dkrÎd}|dkrÞt|ƒ}t	|t|ƒƒ}t	t
d|ƒ|ƒ}ˆdkr| ¡|d|…}n dd„| d¡|d|…Dƒ}|sFdStt|ƒƒ‰t
dd„|Dƒƒ}	dˆd}
|	dkr¦|
d 
dd„tt
|	ddƒƒDƒ¡d}nd}||
d 
dd„t|	dƒDƒ¡d}|
d|	dd}
||
d 
‡‡fdd„t||d Dƒ¡dS)!u	
        Helpful method for debugging a parser - prints a string with line and column numbers.
        (Line and column numbers are 1-based.)

        :param s: tuple(bool, str - string to be printed with line and column numbers
        :param start_line: int - (optional) starting line number in s to print (default=1)
        :param end_line: int - (optional) ending line number in s to print (default=len(s))
        :param expand_tabs: bool - (optional) expand tabs to spaces, to match the pyparsing default
        :param eol_mark: str - (optional) string to mark the end of lines, helps visualize trailing spaces (default="|")
        :param mark_spaces: str - (optional) special character to display in place of spaces
        :param mark_control: str - (optional) convert non-printing control characters to a placeholding
                                 character; valid values:
                                 - "unicode" - replaces control chars with Unicode symbols, such as "␍" and "␊"
                                 - any single character string - replace control characters with given string
                                 - None (default) - string is displayed as-is

        :return: str - input string with leading line numbers and column number headers
        NÚunicodecSsi|]\}}||“qSr
r
)rÚcÚur
r
rrsz4pyparsing_test.with_line_numbers.<locals>.<dictcomp>ré!i$i3$éi!$Úcsi|]
}ˆ|“qSr
r
)rrn)rkr
rrsé ú i	$i#$)é	rsrcSsg|]}|d‘qS)u␊r
)rÚliner
r
rrK'sz4pyparsing_test.with_line_numbers.<locals>.<listcomp>u␊css|]}t|ƒVqdS)N)Úlen)rrvr
r
rrO,sz3pyparsing_test.with_line_numbers.<locals>.<genexpr>éccss"|]}d d|dd¡VqdS)z{}{}zc                                                                                                   rédN)rX)rÚir
r
rrO2sryÚ
css |]}d |dd¡VqdS)z         {}ré
N)rX)rrzr
r
rrO=sr|Z
1234567890c3s"|]\}}d |ˆ|ˆ¡VqdS)z{:{}d}:{}{}N)rX)rrzrv)riÚlineno_widthr
rrOGs)Ústart)Ú
expandtabsrMÚ	maketransrUÚrangerSÚ	translateÚreplacerwÚminÚmaxÚ
splitlinesÚsplitÚjoinÚ	enumerate)rerfrgrhrirjrkZtblZs_linesZmax_line_lenZleadZheader0Zheader1Zheader2r
)rir}rkrÚwith_line_numbersísH$

 
,,z pyparsing_test.with_line_numbers)NNTrdNN)r4r5r6r7r8rcÚstaticmethodrMrÚintÚboolrŠr
r
r
rr
shq r
N)Ú
contextlibrÚtypingrÚcorerrrrr	r
r
r
r
rÚ<module>s