/* * Created on 04.07.2005 - $Id$ */ package org.exist.xquery; import org.exist.test.ExistXmldbEmbeddedServer; import org.junit.ClassRule; import org.junit.Test; import org.xmldb.api.base.ResourceSet; import org.xmldb.api.base.XMLDBException; import static org.junit.Assert.assertEquals; /** Tests for various XQuery (XML Schema) simple types conversions. * @author jmvanel */ public class ConversionsTest { @ClassRule public static final ExistXmldbEmbeddedServer existEmbeddedServer = new ExistXmldbEmbeddedServer(false, true); /** test conversion from QName to string */ @Test public void qname2string() throws XMLDBException { final String query = "declare namespace foo = 'http://foo'; \n" + "let $a := ( xs:QName('foo:bar'), xs:QName('foo:john'), xs:QName('foo:doe') )\n" + "for $b in $a \n" + "return \n" + "<blah>{string($b)}</blah>" ; final ResourceSet result = existEmbeddedServer.executeQuery( query ); /* which returns : <blah>foo:bar</blah> <blah>foo:john</blah> <blah>foo:doe</blah>" */ final String r = (String) result.getResource(0).getContent(); assertEquals( "<blah>foo:bar</blah>", r ); assertEquals( "XQuery: " + query, 3, result.getSize() ); } }