source: pyyaml/trunk/tests/test_representer.py @ 322

Revision 322, 1.3 KB checked in by xi, 6 years ago (diff)

Refactored the test suite; updated include and library paths in setup.cfg.

Line 
1
2import yaml
3import test_constructor
4import pprint
5
6def test_representer_types(code_filename, verbose=False):
7    test_constructor._make_objects()
8    for allow_unicode in [False, True]:
9        native1 = test_constructor._load_code(open(code_filename, 'rb').read())
10        native2 = None
11        try:
12            output = yaml.dump(native1, Dumper=test_constructor.MyDumper,
13                        allow_unicode=allow_unicode)
14            native2 = yaml.load(output, Loader=test_constructor.MyLoader)
15            try:
16                if native1 == native2:
17                    continue
18            except TypeError:
19                pass
20            value1 = test_constructor._serialize_value(native1)
21            value2 = test_constructor._serialize_value(native2)
22            if verbose:
23                print "SERIALIZED NATIVE1:"
24                print value1
25                print "SERIALIZED NATIVE2:"
26                print value2
27            assert value1 == value2, (native1, native2)
28        finally:
29            if verbose:
30                print "NATIVE1:"
31                pprint.pprint(native1)
32                print "NATIVE2:"
33                pprint.pprint(native2)
34                print "OUTPUT:"
35                print output
36
37test_representer_types.unittest = ['.code']
38
39if __name__ == '__main__':
40    import test_appliance
41    test_appliance.run(globals())
42
Note: See TracBrowser for help on using the repository browser.