3
Y'ícZ4 ã @ sB d dl mZ d dlZddlmZmZmZmZmZ G dd dZ dS )é )ÚcontextmanagerNé )Ú
ParserElementÚParseExceptionÚKeywordÚ__diag__Ú
__compat__c @ sf e Zd ZdZG dd dZG dd dZedeej e
ej e
eeej e ej e ed d
dZdS )
Úpyparsing_testzB
namespace class for classes useful in writing unit tests
c @ s@ e Zd ZdZdd Zdd Zdd Zdd Zd
d Zdd
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
c C s