diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/com/isode/stroke/idn/IDNConverterTest.java | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/test/com/isode/stroke/idn/IDNConverterTest.java b/test/com/isode/stroke/idn/IDNConverterTest.java new file mode 100644 index 0000000..a17affc --- /dev/null +++ b/test/com/isode/stroke/idn/IDNConverterTest.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2010 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ +/* + * Copyright (c) 2015 Tarun Gupta. + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +package com.isode.stroke.idn; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.junit.Test; +import org.junit.Before; +import com.isode.stroke.base.SafeByteArray; +import com.isode.stroke.idn.IDNConverter; +import com.isode.stroke.idn.IDNA; +import com.isode.stroke.idn.ICUConverter; +import com.ibm.icu.text.StringPrepParseException; + +public class IDNConverterTest { + + private IDNConverter testling; + + @Before + public void setUp() { + testling = new ICUConverter(); + } + + @Test + public void testStringPrep() { + try { + String result = testling.getStringPrepared("tronçon", IDNConverter.StringPrepProfile.NamePrep); + assertEquals("tronçon", result); + } catch (StringPrepParseException e) { + assertTrue("getStringPrep threw " + e, (e == null)); + } + } + + @Test + public void testStringPrep_Empty() { + try{ + assertEquals("", testling.getStringPrepared("", IDNConverter.StringPrepProfile.NamePrep)); + assertEquals("", testling.getStringPrepared("", IDNConverter.StringPrepProfile.XMPPNodePrep)); + assertEquals("", testling.getStringPrepared("", IDNConverter.StringPrepProfile.XMPPResourcePrep)); + } catch (StringPrepParseException e) { + assertTrue("getStringPrep threw " + e, (e == null)); + } + } + + @Test + public void testGetEncoded() { + String result = testling.getIDNAEncoded("www.swift.im"); + assertNotNull(result); + assertEquals("www.swift.im", result); + } + + @Test + public void testGetEncoded_International() { + String result = testling.getIDNAEncoded("www.tronçon.com"); + assertNotNull(result); + assertEquals("www.xn--tronon-zua.com", result); + } + + @Test + public void testGetEncoded_Invalid() { + String result = testling.getIDNAEncoded("www.foo,bar.com"); + assertNull(result); + } +}
\ No newline at end of file |