summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorxi <xi@18f92427-320e-0410-9341-c67f048884a3>2006-06-19 20:30:29 +0000
committerxi <xi@18f92427-320e-0410-9341-c67f048884a3>2006-06-19 20:30:29 +0000
commit06f6dc00d6f4fcb4ce9d1e9f7f405b6cdcd5f8a7 (patch)
tree8aaf364f6b1f18aab38d9adc958afa5fea8ee98a /tests
parent3dbbc760b8af8e51c2813d56ffd1f919f3cc3670 (diff)
downloadpyyaml-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.py14
-rw-r--r--tests/test_yaml_ext.py44
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()
+