diff options
author | Matěj Cepl <mcepl@redhat.com> | 2012-02-16 17:51:01 +0100 |
---|---|---|
committer | Matěj Cepl <mcepl@redhat.com> | 2012-02-16 17:51:01 +0100 |
commit | f78eca9d4be9b3b7e1177823a9f520faa5b4055b (patch) | |
tree | 7dd5841d046557aa884483af9573958aa492f0d4 /test/test_input.py | |
parent | 7d08baca38827b59af9592e415bc4778fb8c4958 (diff) | |
download | yamlish-f78eca9d4be9b3b7e1177823a9f520faa5b4055b.tar.gz |
More tests and deleted yamlishwriter-php (there is really nothing there).
Diffstat (limited to 'test/test_input.py')
-rw-r--r-- | test/test_input.py | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/test/test_input.py b/test/test_input.py new file mode 100644 index 0000000..a979756 --- /dev/null +++ b/test/test_input.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- +from __future__ import absolute_import, print_function, unicode_literals +import logging +import unittest +import yamlish +logging.basicConfig(format='%(levelname)s:%(funcName)s:%(message)s', + level=logging.INFO) + +IN = """ + --- + bill-to: + address: + city: "Royal Oak" + lines: "458 Walkman Dr.\nSuite #292\n" + postal: 48046 + state: MI + family: Dumars + given: Chris + comments: "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338\n" + date: 2001-01-23 + invoice: 34843 + product: + - + description: Basketball + price: 450.00 + quantity: 4 + sku: BL394D + - + description: "Super Hoop" + price: 2392.00 + quantity: 1 + sku: BL4438H + tax: 251.42 + total: 4443.52 + ... +""" + +OUT = { + 'bill-to': { + 'given': 'Chris', + 'address': { + 'city': 'Royal Oak', + 'postal': '48046', + 'lines': "458 Walkman Dr.\nSuite #292\n", + 'state': 'MI' + }, + 'family': 'Dumars' + }, + 'invoice': '34843', + 'date': '2001-01-23', + 'tax': '251.42', + 'product': [ + { + 'sku': 'BL394D', + 'quantity': '4', + 'price': '450.00', + 'description': 'Basketball' + }, + { + 'sku': 'BL4438H', + 'quantity': '1', + 'price': '2392.00', + 'description': 'Super Hoop' + } + ], + 'comments': + "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338\n", + 'total': '4443.52' +} + +class TestInput(unittest.TestCase): + """FIXME description of this class""" + def test_reader(self): + scalar = IN + source = [ + { + "name": 'Array reference', + "source": IN.split("\n"), + }, +# { +# "name": 'Closure', +# "source": sub { shift @lines }, +# }, + { + "name": 'Scalar', + "source": IN, + } + ] + + for src in source: + name = src['name'] + yaml = yamlish.Reader() + self.assert_(True, "%s: Created" % name) + self.assert_(isinstance(yaml, yamlish.Reader)) + + #my $got = eval { $yaml -> read($src -> {source}) }; + got = yaml.read(src['source']) + self.assertEqual(got, OUT, """%s: Result matches + expected = %s + + observed = %s + """ % (name, OUT, got)) |