summaryrefslogtreecommitdiff
path: root/_test/lib/test_structure.py
diff options
context:
space:
mode:
Diffstat (limited to '_test/lib/test_structure.py')
-rw-r--r--_test/lib/test_structure.py72
1 files changed, 35 insertions, 37 deletions
diff --git a/_test/lib/test_structure.py b/_test/lib/test_structure.py
index 2656bbb..470d267 100644
--- a/_test/lib/test_structure.py
+++ b/_test/lib/test_structure.py
@@ -1,36 +1,33 @@
-from __future__ import absolute_import
-from __future__ import print_function
-import ruamel.yaml as yaml
+import ruamel.yaml
import canonical # NOQA
import pprint
-from ruamel.yaml.compat import text_type, PY3
def _convert_structure(loader):
- if loader.check_event(yaml.ScalarEvent):
+ if loader.check_event(ruamel.yaml.ScalarEvent):
event = loader.get_event()
if event.tag or event.anchor or event.value:
return True
else:
return None
- elif loader.check_event(yaml.SequenceStartEvent):
+ elif loader.check_event(ruamel.yaml.SequenceStartEvent):
loader.get_event()
sequence = []
- while not loader.check_event(yaml.SequenceEndEvent):
+ while not loader.check_event(ruamel.yaml.SequenceEndEvent):
sequence.append(_convert_structure(loader))
loader.get_event()
return sequence
- elif loader.check_event(yaml.MappingStartEvent):
+ elif loader.check_event(ruamel.yaml.MappingStartEvent):
loader.get_event()
mapping = []
- while not loader.check_event(yaml.MappingEndEvent):
+ while not loader.check_event(ruamel.yaml.MappingEndEvent):
key = _convert_structure(loader)
value = _convert_structure(loader)
mapping.append((key, value))
loader.get_event()
return mapping
- elif loader.check_event(yaml.AliasEvent):
+ elif loader.check_event(ruamel.yaml.AliasEvent):
loader.get_event()
return '*'
else:
@@ -40,17 +37,17 @@ def _convert_structure(loader):
def test_structure(data_filename, structure_filename, verbose=False):
nodes1 = []
- with open(structure_filename, 'r' if PY3 else 'rb') as fp:
+ with open(structure_filename, 'r') as fp:
nodes2 = eval(fp.read())
try:
with open(data_filename, 'rb') as fp:
- loader = yaml.Loader(fp)
+ loader = ruamel.yaml.Loader(fp)
while loader.check_event():
if loader.check_event(
- yaml.StreamStartEvent,
- yaml.StreamEndEvent,
- yaml.DocumentStartEvent,
- yaml.DocumentEndEvent,
+ ruamel.yaml.StreamStartEvent,
+ ruamel.yaml.StreamEndEvent,
+ ruamel.yaml.DocumentStartEvent,
+ ruamel.yaml.DocumentEndEvent,
):
loader.get_event()
continue
@@ -73,12 +70,12 @@ def _compare_events(events1, events2, full=False):
assert len(events1) == len(events2), (len(events1), len(events2))
for event1, event2 in zip(events1, events2):
assert event1.__class__ == event2.__class__, (event1, event2)
- if isinstance(event1, yaml.AliasEvent) and full:
+ if isinstance(event1, ruamel.yaml.AliasEvent) and full:
assert event1.anchor == event2.anchor, (event1, event2)
- if isinstance(event1, (yaml.ScalarEvent, yaml.CollectionStartEvent)):
- if (event1.tag not in [None, u'!'] and event2.tag not in [None, u'!']) or full:
+ if isinstance(event1, (ruamel.yaml.ScalarEvent, ruamel.yaml.CollectionStartEvent)):
+ if (event1.tag not in [None, '!'] and event2.tag not in [None, '!']) or full:
assert event1.tag == event2.tag, (event1, event2)
- if isinstance(event1, yaml.ScalarEvent):
+ if isinstance(event1, ruamel.yaml.ScalarEvent):
assert event1.value == event2.value, (event1, event2)
@@ -87,9 +84,9 @@ def test_parser(data_filename, canonical_filename, verbose=False):
events2 = None
try:
with open(data_filename, 'rb') as fp0:
- events1 = list(yaml.parse(fp0))
+ events1 = list(ruamel.yaml.parse(fp0))
with open(canonical_filename, 'rb') as fp0:
- events2 = list(yaml.canonical_parse(fp0))
+ events2 = list(ruamel.yaml.canonical_parse(fp0))
_compare_events(events1, events2)
finally:
if verbose:
@@ -107,9 +104,9 @@ def test_parser_on_canonical(canonical_filename, verbose=False):
events2 = None
try:
with open(canonical_filename, 'rb') as fp0:
- events1 = list(yaml.parse(fp0))
+ events1 = list(ruamel.yaml.parse(fp0))
with open(canonical_filename, 'rb') as fp0:
- events2 = list(yaml.canonical_parse(fp0))
+ events2 = list(ruamel.yaml.canonical_parse(fp0))
_compare_events(events1, events2, full=True)
finally:
if verbose:
@@ -125,7 +122,7 @@ test_parser_on_canonical.unittest = ['.canonical']
def _compare_nodes(node1, node2):
assert node1.__class__ == node2.__class__, (node1, node2)
assert node1.tag == node2.tag, (node1, node2)
- if isinstance(node1, yaml.ScalarNode):
+ if isinstance(node1, ruamel.yaml.ScalarNode):
assert node1.value == node2.value, (node1, node2)
else:
assert len(node1.value) == len(node2.value), (node1, node2)
@@ -142,9 +139,9 @@ def test_composer(data_filename, canonical_filename, verbose=False):
nodes2 = None
try:
with open(data_filename, 'rb') as fp0:
- nodes1 = list(yaml.compose_all(fp0))
+ nodes1 = list(ruamel.yaml.compose_all(fp0))
with open(canonical_filename, 'rb') as fp0:
- nodes2 = list(yaml.canonical_compose_all(fp0))
+ nodes2 = list(ruamel.yaml.canonical_compose_all(fp0))
assert len(nodes1) == len(nodes2), (len(nodes1), len(nodes2))
for node1, node2 in zip(nodes1, nodes2):
_compare_nodes(node1, node2)
@@ -162,39 +159,39 @@ test_composer.unittest = ['.data', '.canonical']
def _make_loader():
global MyLoader
- class MyLoader(yaml.Loader):
+ class MyLoader(ruamel.yaml.Loader):
def construct_sequence(self, node):
- return tuple(yaml.Loader.construct_sequence(self, node))
+ return tuple(ruamel.yaml.Loader.construct_sequence(self, node))
def construct_mapping(self, node):
pairs = self.construct_pairs(node)
- pairs.sort(key=(lambda i: text_type(i)))
+ pairs.sort(key=(lambda i: str(i)))
return pairs
def construct_undefined(self, node):
return self.construct_scalar(node)
- MyLoader.add_constructor(u'tag:yaml.org,2002:map', MyLoader.construct_mapping)
+ MyLoader.add_constructor('tag:yaml.org,2002:map', MyLoader.construct_mapping)
MyLoader.add_constructor(None, MyLoader.construct_undefined)
def _make_canonical_loader():
global MyCanonicalLoader
- class MyCanonicalLoader(yaml.CanonicalLoader):
+ class MyCanonicalLoader(ruamel.yaml.CanonicalLoader):
def construct_sequence(self, node):
- return tuple(yaml.CanonicalLoader.construct_sequence(self, node))
+ return tuple(ruamel.yaml.CanonicalLoader.construct_sequence(self, node))
def construct_mapping(self, node):
pairs = self.construct_pairs(node)
- pairs.sort(key=(lambda i: text_type(i)))
+ pairs.sort(key=(lambda i: str(i)))
return pairs
def construct_undefined(self, node):
return self.construct_scalar(node)
MyCanonicalLoader.add_constructor(
- u'tag:yaml.org,2002:map', MyCanonicalLoader.construct_mapping
+ 'tag:yaml.org,2002:map', MyCanonicalLoader.construct_mapping
)
MyCanonicalLoader.add_constructor(None, MyCanonicalLoader.construct_undefined)
@@ -204,11 +201,12 @@ def test_constructor(data_filename, canonical_filename, verbose=False):
_make_canonical_loader()
native1 = None
native2 = None
+ yaml = YAML(typ='safe')
try:
with open(data_filename, 'rb') as fp0:
- native1 = list(yaml.load_all(fp0, Loader=MyLoader))
+ native1 = list(yaml.load(fp0, Loader=MyLoader))
with open(canonical_filename, 'rb') as fp0:
- native2 = list(yaml.load_all(fp0, Loader=MyCanonicalLoader))
+ native2 = list(yaml.load(fp0, Loader=MyCanonicalLoader))
assert native1 == native2, (native1, native2)
finally:
if verbose: