summaryrefslogtreecommitdiff
path: root/pyparsing.py
diff options
context:
space:
mode:
authorKyle Lahnakoski <klahnakoski@mozilla.com>2019-10-21 23:42:51 -0400
committerPaul McGuire <ptmcg@users.noreply.github.com>2019-10-21 22:42:51 -0500
commit3481b6f3f9bb2dae7e9d88ed08989b5f71238e4b (patch)
tree7c8174b8d9b45ab39cb9119c579fe12c819c6dd2 /pyparsing.py
parent87d14e7ef563263417d3fddccd25636741c5b6c2 (diff)
downloadpyparsing-git-3481b6f3f9bb2dae7e9d88ed08989b5f71238e4b.tar.gz
refactor tests into tests directory (#130)
Diffstat (limited to 'pyparsing.py')
-rw-r--r--pyparsing.py23
1 files changed, 16 insertions, 7 deletions
diff --git a/pyparsing.py b/pyparsing.py
index 1a7a4e0..eff9170 100644
--- a/pyparsing.py
+++ b/pyparsing.py
@@ -6734,25 +6734,34 @@ class pyparsing_test:
self._save_context = {}
def __enter__(self):
+ self.save()
+
+ def __exit__(self, *args):
+ self.restore()
+
+ def save(self):
self._save_context['default_whitespace'] = ParserElement.DEFAULT_WHITE_CHARS
self._save_context['default_keyword_chars'] = Keyword.DEFAULT_KEYWORD_CHARS
self._save_context['literal_string_class'] = ParserElement._literalStringClass
self._save_context['packrat_enabled'] = ParserElement._packratEnabled
+ self._save_context['packrat_parse'] = ParserElement._parse
self._save_context['__diag__'] = {name: getattr(__diag__, name) for name in __diag__._all_names}
+ self._save_context['__compat__'] = {"collect_all_And_tokens": __compat__.collect_all_And_tokens}
return self
- def __exit__(self, *args):
- # reset pyparsing global state
- if ParserElement.DEFAULT_WHITE_CHARS != self._save_context['default_whitespace']:
- ParserElement.setDefaultWhitespaceChars(self._save_context['default_whitespace'])
+ def restore(self):
+ # restore pyparsing global state to what was saved
+ ParserElement.setDefaultWhitespaceChars(self._save_context['default_whitespace'])
Keyword.DEFAULT_KEYWORD_CHARS = self._save_context['default_keyword_chars']
ParserElement.inlineLiteralsUsing(self._save_context['literal_string_class'])
+ ParserElement._packratEnabled = self._save_context['packrat_enabled']
+ ParserElement._parse = self._save_context['packrat_parse']
for name, value in self._save_context['__diag__'].items():
(__diag__.enable if value else __diag__.disable)(name)
- ParserElement._packratEnabled = self._save_context['packrat_enabled']
-
+ for name, value in self._save_context['__compat__'].items():
+ setattr(__compat__, name, value)
- class ParseResultsAsserts(unittest.TestCase):
+ class TestParseResultsAsserts(unittest.TestCase):
def assertParseResultsEquals(self, result, expected_list=None, expected_dict=None, msg=None):
"""