diff options
author | xi <xi@18f92427-320e-0410-9341-c67f048884a3> | 2006-06-19 20:30:29 +0000 |
---|---|---|
committer | xi <xi@18f92427-320e-0410-9341-c67f048884a3> | 2006-06-19 20:30:29 +0000 |
commit | 06f6dc00d6f4fcb4ce9d1e9f7f405b6cdcd5f8a7 (patch) | |
tree | 8aaf364f6b1f18aab38d9adc958afa5fea8ee98a /tests | |
parent | 3dbbc760b8af8e51c2813d56ffd1f919f3cc3670 (diff) | |
download | pyyaml-06f6dc00d6f4fcb4ce9d1e9f7f405b6cdcd5f8a7.tar.gz |
Add pyrex-based bindings for the libyaml scanner.
git-svn-id: http://svn.pyyaml.org/pyyaml/trunk@195 18f92427-320e-0410-9341-c67f048884a3
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_build_ext.py | 14 | ||||
-rw-r--r-- | tests/test_yaml_ext.py | 44 |
2 files changed, 58 insertions, 0 deletions
diff --git a/tests/test_build_ext.py b/tests/test_build_ext.py new file mode 100644 index 0000000..a335c1b --- /dev/null +++ b/tests/test_build_ext.py @@ -0,0 +1,14 @@ + + +def main(): + import sys, os, distutils.util + build_lib = 'build/lib' + build_lib_ext = os.path.join('build', 'lib.%s-%s' % (distutils.util.get_platform(), sys.version[0:3])) + sys.path.insert(0, build_lib) + sys.path.insert(0, build_lib_ext) + import test_yaml_ext + test_yaml_ext.main('test_yaml_ext') + +if __name__ == '__main__': + main() + diff --git a/tests/test_yaml_ext.py b/tests/test_yaml_ext.py new file mode 100644 index 0000000..ffd894f --- /dev/null +++ b/tests/test_yaml_ext.py @@ -0,0 +1,44 @@ + +import unittest, test_appliance + +import _yaml, yaml + +class TestExtVersion(unittest.TestCase): + + def testExtVersion(self): + self.failUnlessEqual("%s.%s.%s" % _yaml.get_version(), _yaml.get_version_string()) + +class TestExtScanner(test_appliance.TestAppliance): + + def _testExtScanner(self, test_name, data_filename, canonical_filename): + data = file(data_filename, 'r').read() + tokens = list(yaml.scan(data)) + ext_tokens = [] + try: + for token in yaml.scan(data, Loader=yaml.ExtLoader): + ext_tokens.append(token) + self.failUnlessEqual(len(tokens), len(ext_tokens)) + for token, ext_token in zip(tokens, ext_tokens): + self.failUnlessEqual(token.__class__, ext_token.__class__) + self.failUnlessEqual((token.start_mark.index, token.start_mark.line, token.start_mark.column), + (ext_token.start_mark.index, ext_token.start_mark.line, ext_token.start_mark.column)) + self.failUnlessEqual((token.end_mark.index, token.end_mark.line, token.end_mark.column), + (ext_token.end_mark.index, ext_token.end_mark.line, ext_token.end_mark.column)) + if hasattr(token, 'value'): + self.failUnlessEqual(token.value, ext_token.value) + except: + print + print "DATA:" + print file(data_filename, 'rb').read() + print "TOKENS:", tokens + print "EXT_TOKENS:", ext_tokens + raise + +TestExtScanner.add_tests('testExtScanner', '.data', '.canonical') + +def main(module='__main__'): + unittest.main(module) + +if __name__ == '__main__': + main() + |