Mercurial > nagslang
annotate nagslang/tests/test_yamlish.py @ 138:366b334a7018
Render tuples to lists
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Mon, 02 Sep 2013 18:12:42 +0200 |
parents | c5ff16c66100 |
children | 1d73867becbe |
rev | line source |
---|---|
114
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
1 from unittest import TestCase |
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
2 |
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
3 from nagslang.yamlish import load_s, dump_s |
89
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
4 |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
5 try: |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
6 import yaml |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
7 except ImportError: |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
8 yaml = None # pyflakes:ignore |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
9 |
114
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
10 try: |
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
11 from unittest import SkipTest |
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
12 except ImportError: |
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
13 from pytest import skip |
d1a96fc62d26
Fallback to pytest's skip exception
Stefano Rivera <stefano@rivera.za.net>
parents:
112
diff
changeset
|
14 SkipTest = skip.Exception # pyflakes:ignore |
103
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
15 |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
16 |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
17 class TestParse(TestCase): |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
18 def assertParsesAs(self, text, expected): |
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
19 self.assertEqual(load_s(text.strip()), expected) |
103
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
20 |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
21 def test_dict_list_1(self): |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
22 self.assertParsesAs(''' |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
23 foo: |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
24 - bar |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
25 - baz |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
26 ''', {'foo': ['bar', 'baz']}) |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
27 |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
28 def test_dict_list_2(self): |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
29 self.assertParsesAs(''' |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
30 foo: |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
31 - bar |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
32 - baz |
adf3cd83bf7a
Support a common stylistic variation
Stefano Rivera <stefano@rivera.za.net>
parents:
90
diff
changeset
|
33 ''', {'foo': ['bar', 'baz']}) |
89
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
34 |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
35 |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
36 class TestRoundTrip(TestCase): |
138
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
37 from_pyyaml = False |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
38 |
89
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
39 def roundtrip(self, data): |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
40 text = self.dump_s(data) |
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
41 print '\n=== Begin ===\n%s\n=== End ===' % text |
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
42 self.assertEqual(self.load_s(text), data) |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
43 |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
44 def dump_s(self, data): |
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
45 return dump_s(data) |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
46 |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
47 def load_s(self, text): |
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
48 return load_s(text) |
89
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
49 |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
50 def test_simple_dict(self): |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
51 self.roundtrip({'foo': 'bar'}) |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
52 |
129
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
53 def test_simple_list(self): |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
54 self.roundtrip(['foo', 'bar']) |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
55 |
89
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
56 def test_dict_of_dicts(self): |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
57 self.roundtrip({'foo': {'bar': 'baz'}}) |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
58 |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
59 def test_dict_tree(self): |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
60 self.roundtrip({ |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
61 'foo': { |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
62 'bar': { |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
63 'baz': 'qux' |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
64 }, |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
65 'quux': 'corge', |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
66 } |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
67 }) |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
68 |
129
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
69 def test_list_of_lists(self): |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
70 self.roundtrip(['foo', ['bar', 'baz'], 'qux']) |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
71 |
89
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
72 def test_dict_list(self): |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
73 self.roundtrip({ |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
74 'foo': ['bar', 'baz'], |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
75 }) |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
76 |
129
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
77 def test_list_dict(self): |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
78 self.roundtrip([ |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
79 {'foo': 'bar'}, |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
80 {'baz': 'qux', 'quux': 'corge'}, |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
81 ]) |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
82 |
89
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
83 def test_nested_lists(self): |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
84 self.roundtrip({ |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
85 'foo': [['bar', 'baz', 'qux'], 'quux'], |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
86 }) |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
87 |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
88 def test_list_of_dicts(self): |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
89 self.roundtrip({ |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
90 'foo': [ |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
91 {'bar': 'baz'}, |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
92 {'qux': 'quux'}, |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
93 ], |
102043902451
Simple (subset of) YAML parser
Stefano Rivera <stefano@rivera.za.net>
parents:
diff
changeset
|
94 }) |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
95 |
136
0280ee006d95
Support integer dict keys
Stefano Rivera <stefano@rivera.za.net>
parents:
130
diff
changeset
|
96 def test_int_dict(self): |
0280ee006d95
Support integer dict keys
Stefano Rivera <stefano@rivera.za.net>
parents:
130
diff
changeset
|
97 self.roundtrip({ |
0280ee006d95
Support integer dict keys
Stefano Rivera <stefano@rivera.za.net>
parents:
130
diff
changeset
|
98 1: 'foo', |
0280ee006d95
Support integer dict keys
Stefano Rivera <stefano@rivera.za.net>
parents:
130
diff
changeset
|
99 2: 'bar', |
0280ee006d95
Support integer dict keys
Stefano Rivera <stefano@rivera.za.net>
parents:
130
diff
changeset
|
100 3: ['baz', 'qux'], |
0280ee006d95
Support integer dict keys
Stefano Rivera <stefano@rivera.za.net>
parents:
130
diff
changeset
|
101 }) |
0280ee006d95
Support integer dict keys
Stefano Rivera <stefano@rivera.za.net>
parents:
130
diff
changeset
|
102 |
137
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
103 def test_dict_keys(self): |
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
104 self.roundtrip({ |
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
105 True: 'true', |
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
106 False: [], |
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
107 None: {}, |
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
108 0.7: -0.7, |
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
109 }) |
c5ff16c66100
Support other interesting keys, too
Stefano Rivera <stefano@rivera.za.net>
parents:
136
diff
changeset
|
110 |
138
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
111 def test_tuples(self): |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
112 if self.from_pyyaml: |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
113 raise SkipTest("Can't parse PyYAML tuples") |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
114 orig = { |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
115 'polygons': { |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
116 1: [ |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
117 (0, 1), |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
118 (2, 3), |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
119 ], |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
120 }, |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
121 } |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
122 text = self.dump_s(orig) |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
123 result = self.load_s(text) |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
124 self.assertEqual(orig['polygons'][1][0], |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
125 tuple(result['polygons'][1][0])) |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
126 self.assertEqual(orig['polygons'][1][1], |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
127 tuple(result['polygons'][1][1])) |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
128 |
119
b75de48a618c
Support boolean and None types
Stefano Rivera <stefano@rivera.za.net>
parents:
114
diff
changeset
|
129 def test_quoted(self): |
b75de48a618c
Support boolean and None types
Stefano Rivera <stefano@rivera.za.net>
parents:
114
diff
changeset
|
130 # a literal true is True, but 'true' is a string |
b75de48a618c
Support boolean and None types
Stefano Rivera <stefano@rivera.za.net>
parents:
114
diff
changeset
|
131 self.roundtrip({'foo': 'true'}) |
b75de48a618c
Support boolean and None types
Stefano Rivera <stefano@rivera.za.net>
parents:
114
diff
changeset
|
132 |
b75de48a618c
Support boolean and None types
Stefano Rivera <stefano@rivera.za.net>
parents:
114
diff
changeset
|
133 def test_literals(self): |
b75de48a618c
Support boolean and None types
Stefano Rivera <stefano@rivera.za.net>
parents:
114
diff
changeset
|
134 self.roundtrip({'foo': [True, False, None]}) |
b75de48a618c
Support boolean and None types
Stefano Rivera <stefano@rivera.za.net>
parents:
114
diff
changeset
|
135 |
120
e6e7a471146a
Support numeric types
Stefano Rivera <stefano@rivera.za.net>
parents:
119
diff
changeset
|
136 def test_numeric(self): |
e6e7a471146a
Support numeric types
Stefano Rivera <stefano@rivera.za.net>
parents:
119
diff
changeset
|
137 self.roundtrip({'foo': [1, 2.0, -1, -2.5]}) |
e6e7a471146a
Support numeric types
Stefano Rivera <stefano@rivera.za.net>
parents:
119
diff
changeset
|
138 |
130
67f18e72024d
Handle corner cases around quotes in strings
Stefano Rivera <stefano@rivera.za.net>
parents:
129
diff
changeset
|
139 def test_inline(self): |
67f18e72024d
Handle corner cases around quotes in strings
Stefano Rivera <stefano@rivera.za.net>
parents:
129
diff
changeset
|
140 self.roundtrip([[1, 2, "hi, there' joe", '', "'"], [3, 4]]) |
67f18e72024d
Handle corner cases around quotes in strings
Stefano Rivera <stefano@rivera.za.net>
parents:
129
diff
changeset
|
141 |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
142 |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
143 class TestFromPyYAML(TestRoundTrip): |
138
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
144 from_pyyaml = True |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
145 |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
146 def dump_s(self, data): |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
147 if yaml is None: |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
148 raise SkipTest('yaml module unavailable') |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
149 return yaml.dump(data, default_flow_style=False) |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
150 |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
151 |
129
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
152 class TestFromPyYAMLInlineLists(TestRoundTrip): |
138
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
153 from_pyyaml = True |
366b334a7018
Render tuples to lists
Stefano Rivera <stefano@rivera.za.net>
parents:
137
diff
changeset
|
154 |
129
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
155 def dump_s(self, data): |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
156 if yaml is None: |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
157 raise SkipTest('yaml module unavailable') |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
158 return yaml.dump(data) |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
159 |
423266f0b9e4
Support inline lists, dicts, etc. And alternative top level objects
Stefano Rivera <stefano@rivera.za.net>
parents:
120
diff
changeset
|
160 |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
161 class TestToPyYAML(TestRoundTrip): |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
162 def load_s(self, text): |
90
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
163 if yaml is None: |
a8d83de5b460
Dump our YAML subset too
Stefano Rivera <stefano@rivera.za.net>
parents:
89
diff
changeset
|
164 raise SkipTest('yaml module unavailable') |
112
c28f2fc2bb05
Test with dump_s and load_s
Stefano Rivera <stefano@rivera.za.net>
parents:
103
diff
changeset
|
165 return yaml.load(text) |