[334478] [xpath2] implementation of xs:token data type
diff --git a/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java b/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java index 4fe2d00..8a71878 100644 --- a/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java +++ b/tests/org.eclipse.wst.xml.xpath2.processor.tests/src/org/eclipse/wst/xml/xpath2/processor/test/TestBugs.java
@@ -46,7 +46,8 @@ * attribute nodes, where the schema type of nodes * are simple, with varieties 'list' and 'union'. * Mukul Gandhi - bug 325262 - providing ability to store an XPath2 sequence into - * an user-defined variable. + * an user-defined variable. + * Mukul Gandhi - bug 334478 implementation of xs:token data type *******************************************************************************/ package org.eclipse.wst.xml.xpath2.processor.test; @@ -1948,6 +1949,35 @@ assertEquals("true", result.string_value()); } + public void testXSToken() throws Exception { + // Bug 334478 + bundle = Platform.getBundle("org.w3c.xqts.testsuite"); + URL fileURL = bundle.getEntry("/TestSources/emptydoc.xml"); + loadDOMDocument(fileURL); + + // Get XML Schema Information for the Document + XSModel schema = getGrammar(); + + DynamicContext dc = setupDynamicContext(schema); + + // the strings in below are not valid tokens (they contain 2 consecutive spaces) + String xpath = "xs:token('abcs abcde') eq xs:token('abcs abcde')"; + XPath path = compileXPath(dc, xpath); + + Evaluator eval = new DefaultEvaluator(dc, domDoc); + + boolean testSuccess = false; + try { + ResultSequence rs = eval.evaluate(path); + } + catch(DynamicError ex) { + // a 'DynamicError' exception indicates, that this test is a success + testSuccess = true; + } + + assertTrue(testSuccess); + } + private CollationProvider createLengthCollatorProvider() { return new CollationProvider() { @SuppressWarnings("unchecked")