package org.exist.xquery.value; import java.net.URI; import junit.framework.TestCase; import org.exist.test.TestConstants; import org.exist.xquery.ValueIndexByQNameTest; /** * * @author cgeorg */ public class AnyURITest extends TestCase { public static void main(String[] args) { junit.textui.TestRunner.run(ValueIndexByQNameTest.class); } public void testFullyEscapedStringToXmldbURI() { try { String escaped = TestConstants.SPECIAL_NAME; AnyURIValue anyUri = new AnyURIValue(escaped); assertEquals(anyUri.toXmldbURI(),TestConstants.SPECIAL_URI); } catch(Exception e) { fail(e.toString()); } } public void testFullyEscapedStringToURI() { try { URI uri = TestConstants.SPECIAL_URI.getXmldbURI(); String escaped = TestConstants.SPECIAL_NAME; AnyURIValue anyUri = new AnyURIValue(escaped); assertEquals(anyUri.toURI(),uri); } catch(Exception e) { fail(e.toString()); } } /** * TODO: change AnyURIValue to directly store the escaped value? */ public void todoTestPartiallyEscapedStringToXmldbURI() { try { String escaped = TestConstants.SPECIAL_NAME.replaceAll("%20"," ").replaceAll("%C3%A0","\u00E0"); AnyURIValue anyUri = new AnyURIValue(escaped); assertEquals(anyUri.toXmldbURI(), TestConstants.SPECIAL_URI); } catch(Exception e) { e.printStackTrace(); fail(e.toString()); } } public void testPartiallyEscapedStringToURI() { try { URI uri = TestConstants.SPECIAL_URI.getXmldbURI(); String escaped = TestConstants.SPECIAL_NAME.replaceAll("%20"," ").replaceAll("%C3%A0","\u00E0"); AnyURIValue anyUri = new AnyURIValue(escaped); assertEquals(anyUri.toURI(),uri); } catch(Exception e) { fail(e.toString()); } } }