source: pyyaml/trunk/tests3/test_representer.py @ 328

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

Added basic support for Python 3 (Thanks idadesub(at)users(dot)sourceforge(dot)net).

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.