From 2303b575d6dff1cb073ba99b279efda868aec847 Mon Sep 17 00:00:00 2001 From: Richard Prinz Date: Sat, 8 Nov 2014 19:28:50 +0100 Subject: [PATCH] Added test for RELAX NG validation --- test/document.js | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/test/document.js b/test/document.js index 96511b86..680fde0f 100644 --- a/test/document.js +++ b/test/document.js @@ -230,6 +230,60 @@ module.exports.validate = function(assert) { assert.done(); }; +module.exports.rngValidate = function(assert) { + // see http://relaxng.org/ for more infos about RELAX NG + + var rng = + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''; + + var xml_valid = + ''+ + ''+ + 'John Smith'+ + 'js@example.com'+ + ''+ + ''+ + 'Fred Bloggs'+ + 'fb@example.net'+ + ''+ + ''; + + var xml_invalid = + ''+ + ''+ + 'John Smith'+ + 'js@example.com'+ + ''+ + ''+ + 'Fred Bloggs'+ + 'fb@example.net'+ + ''+ + ''; + + var rngDoc = libxml.parseXml(rng); + var xmlDocValid = libxml.parseXml(xml_valid); + var xmlDocInvalid = libxml.parseXml(xml_invalid); + + assert.equal(xmlDocValid.rngValidate(rngDoc), true); + assert.equal(xmlDocValid.validationErrors.length, 0); + + assert.equal(xmlDocInvalid.rngValidate(rngDoc), false); + assert.equal(xmlDocInvalid.validationErrors.length, 1); + + assert.done(); +}; + module.exports.errors = { empty_html_doc: function(assert) { function assertDocRootError(func, msg) {