1 package org.mozilla.gecko.util.publicsuffix; 2 3 import org.junit.Assert; 4 import org.junit.Test; 5 import org.junit.runner.RunWith; 6 import org.mozilla.gecko.background.testhelpers.TestRunner; 7 import org.robolectric.RuntimeEnvironment; 8 9 @RunWith(TestRunner.class) 10 public class TestPublicSuffix { 11 @Test testStripPublicSuffix()12 public void testStripPublicSuffix() { 13 // Test empty value 14 Assert.assertEquals("", 15 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "")); 16 17 // Test domains with public suffix 18 Assert.assertEquals("www.mozilla", 19 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "www.mozilla.org")); 20 Assert.assertEquals("www.google", 21 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "www.google.com")); 22 Assert.assertEquals("foobar", 23 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "foobar.blogspot.com")); 24 Assert.assertEquals("independent", 25 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "independent.co.uk")); 26 Assert.assertEquals("biz", 27 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "biz.com.ua")); 28 Assert.assertEquals("example", 29 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "example.org")); 30 Assert.assertEquals("example", 31 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "example.pvt.k12.ma.us")); 32 33 // Test domain without public suffix 34 Assert.assertEquals("localhost", 35 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "localhost")); 36 Assert.assertEquals("firefox.mozilla", 37 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "firefox.mozilla")); 38 39 // IDN domains 40 Assert.assertEquals("ουτοπία.δπθ", 41 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "ουτοπία.δπθ.gr")); 42 Assert.assertEquals("a网络A", 43 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "a网络A.网络.Cn")); 44 45 // Other non-domain values 46 Assert.assertEquals("192.168.0.1", 47 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "192.168.0.1")); 48 Assert.assertEquals("asdflkj9uahsd", 49 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "asdflkj9uahsd")); 50 51 // Other trailing and other types of dots 52 Assert.assertEquals("www.mozilla。home.example", 53 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "www.mozilla。home.example。org")); 54 Assert.assertEquals("example", 55 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, "example.org")); 56 } 57 58 @Test(expected = NullPointerException.class) testStripPublicSuffixThrowsException()59 public void testStripPublicSuffixThrowsException() { 60 PublicSuffix.stripPublicSuffix(RuntimeEnvironment.application, null); 61 } 62 } 63