summaryrefslogtreecommitdiff
path: root/src/lxml/tests
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2019-05-06 22:29:22 +0200
committerStefan Behnel <stefan_ml@behnel.de>2019-05-06 22:29:22 +0200
commitbb2a4fd588d1cdf5ecd9badd618505d578ea2942 (patch)
tree626238d4951f109b6dea39641f20540af322d8dd /src/lxml/tests
parent3f0db5d57940eebd418fe86bcbdad39ffe23211d (diff)
downloadpython-lxml-bb2a4fd588d1cdf5ecd9badd618505d578ea2942.tar.gz
LP#1827833: Fix .rnc parsing support with recent versions of rnc2rng.
Diffstat (limited to 'src/lxml/tests')
-rw-r--r--src/lxml/tests/test_relaxng.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/lxml/tests/test_relaxng.py b/src/lxml/tests/test_relaxng.py
index 62811c95..3eae4b23 100644
--- a/src/lxml/tests/test_relaxng.py
+++ b/src/lxml/tests/test_relaxng.py
@@ -218,6 +218,7 @@ class ETreeRelaxNGTestCase(HelperTestCase):
self.assertTrue(schema.validate(b_tree))
self.assertFalse(schema.error_log.filter_from_errors())
+
class RelaxNGCompactTestCase(HelperTestCase):
pytestmark = skipif('rnc2rng is None')
@@ -230,17 +231,21 @@ class RelaxNGCompactTestCase(HelperTestCase):
self.assertFalse(schema.validate(tree_invalid))
def test_relaxng_compact_file_obj(self):
- f = open(fileInTestDir('test.rnc'), 'rb')
- try:
+ with open(fileInTestDir('test.rnc'), 'r') as f:
schema = etree.RelaxNG(file=f)
- finally:
- f.close()
+
+ tree_valid = self.parse('<a><b>B</b><c>C</c></a>')
+ tree_invalid = self.parse('<a><b></b></a>')
+ self.assertTrue(schema.validate(tree_valid))
+ self.assertFalse(schema.validate(tree_invalid))
def test_relaxng_compact_str(self):
tree_valid = self.parse('<a><b>B</b></a>')
+ tree_invalid = self.parse('<a><b>X</b></a>')
rnc_str = 'element a { element b { "B" } }'
schema = etree.RelaxNG.from_rnc_string(rnc_str)
self.assertTrue(schema.validate(tree_valid))
+ self.assertFalse(schema.validate(tree_invalid))
def test_suite():