�
&
�d�4 � �H � d dl mZ d dlZddlmZmZmZmZmZ G d� d� Z y)� )�contextmanagerN� )�
ParserElement�ParseException�Keyword�__diag__�
__compat__c �� � e Zd ZdZ G d� d� Z G d� d� Ze ddedej e
d ej e
d
ededej e d
ej e defd�� Zy)�pyparsing_testzB
namespace class for classes useful in writing unit tests
c �4 � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z y) �&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 � � i | _ y �N)�
_save_context��selfs �3/usr/lib/python3/dist-packages/pyparsing/testing.py�__init__z/pyparsing_test.reset_pyparsing_context.__init__- s
� �!#�D�� c �� � t j | j d< |