[361058] QName._expanded and compare problem Merged from HEAD
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 2a4a23c..29dba3d 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
@@ -2379,6 +2379,48 @@ assertEquals("true", actual); } + public void testFnIndexOf_onQName() throws Exception { + // bug 338999 + URL fileURL = bundle.getEntry("/bugTestFiles/bug338999.xml"); + URL schemaURL = bundle.getEntry("/bugTestFiles/bug338999.xsd"); + + loadDOMDocument(fileURL, schemaURL); + + // Get XSModel object for the Schema + XSModel schema = getGrammar(schemaURL); + + setupDynamicContext(schema); + + String xpath = "fn:index-of( for $e in X/* return fn:node-name($e), fn:node-name(X/b) )"; + compileXPath(xpath); + ResultSequence rs = evaluate(domDoc); + + assertTrue( rs.size()>0 ); + String actual = ((XSInteger) rs.first()).getStringValue(); + assertEquals("2", actual); + } + + public void testFnIndexOf_onQName2() throws Exception { + // bug 338999 + URL fileURL = bundle.getEntry("/bugTestFiles/bug338999.xml"); + URL schemaURL = bundle.getEntry("/bugTestFiles/bug338999.xsd"); + + loadDOMDocument(fileURL, schemaURL); + + // Get XSModel object for the Schema + XSModel schema = getGrammar(schemaURL); + + setupDynamicContext(schema); + + String xpath = "fn:index-of( for $e in X/* return fn:node-name($e), fn:QName('','b') )"; + compileXPath(xpath); + ResultSequence rs = evaluate(domDoc); + + assertTrue( rs.size()>0 ); + String actual = ((XSInteger) rs.first()).getStringValue(); + assertEquals("2", actual); + } + public void testBug339025_distinctValuesOnNodeSequence() throws Exception { // bug 339025 URL fileURL = bundle.getEntry("/bugTestFiles/bug339025.xml");