-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_psl.txt
135 lines (123 loc) · 6.01 KB
/
test_psl.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Any copyright is dedicated to the Public Domain.
// http://creativecommons.org/publicdomain/zero/1.0/
// https://dxr.mozilla.org/mozilla-central/source/netwerk/test/unit/data/test_psl.txt?raw=1
// NULL input.
checkPublicSuffix(NULL, NULL);
// Mixed case.
checkPublicSuffix("COM", NULL);
checkPublicSuffix("example.COM", "example.com");
checkPublicSuffix("WwW.example.COM", "example.com");
// Leading dot.
checkPublicSuffix(".com", NULL);
checkPublicSuffix(".example", NULL);
checkPublicSuffix(".example.com", NULL);
checkPublicSuffix(".example.example", NULL);
// Unlisted TLD.
checkPublicSuffix("example", NULL);
checkPublicSuffix("example.example", "example.example");
checkPublicSuffix("b.example.example", "example.example");
checkPublicSuffix("a.b.example.example", "example.example");
// Listed, but non-Internet, TLD.
//checkPublicSuffix("local", NULL);
//checkPublicSuffix("example.local", NULL);
//checkPublicSuffix("b.example.local", NULL);
//checkPublicSuffix("a.b.example.local", NULL);
// TLD with only 1 rule.
checkPublicSuffix("biz", NULL);
checkPublicSuffix("domain.biz", "domain.biz");
checkPublicSuffix("b.domain.biz", "domain.biz");
checkPublicSuffix("a.b.domain.biz", "domain.biz");
// TLD with some 2-level rules.
checkPublicSuffix("com", NULL);
checkPublicSuffix("example.com", "example.com");
checkPublicSuffix("b.example.com", "example.com");
checkPublicSuffix("a.b.example.com", "example.com");
checkPublicSuffix("uk.com", NULL);
checkPublicSuffix("example.uk.com", "example.uk.com");
checkPublicSuffix("b.example.uk.com", "example.uk.com");
checkPublicSuffix("a.b.example.uk.com", "example.uk.com");
checkPublicSuffix("test.ac", "test.ac");
// TLD with only 1 (wildcard) rule.
checkPublicSuffix("bd", NULL);
checkPublicSuffix("c.bd", NULL);
checkPublicSuffix("b.c.bd", "b.c.bd");
checkPublicSuffix("a.b.c.bd", "b.c.bd");
// More complex TLD.
checkPublicSuffix("jp", NULL);
checkPublicSuffix("test.jp", "test.jp");
checkPublicSuffix("www.test.jp", "test.jp");
checkPublicSuffix("ac.jp", NULL);
checkPublicSuffix("test.ac.jp", "test.ac.jp");
checkPublicSuffix("www.test.ac.jp", "test.ac.jp");
checkPublicSuffix("kyoto.jp", NULL);
// why would test.kyoto.jp behave different from ide.kyoto.jp?
checkPublicSuffix("test.kyoto.jp", "test.kyoto.jp");
checkPublicSuffix("ide.kyoto.jp", NULL);
checkPublicSuffix("b.ide.kyoto.jp", "b.ide.kyoto.jp");
checkPublicSuffix("a.b.ide.kyoto.jp", "b.ide.kyoto.jp");
checkPublicSuffix("c.kobe.jp", NULL);
checkPublicSuffix("b.c.kobe.jp", "b.c.kobe.jp");
checkPublicSuffix("a.b.c.kobe.jp", "b.c.kobe.jp");
checkPublicSuffix("city.kobe.jp", "city.kobe.jp");
checkPublicSuffix("www.city.kobe.jp", "city.kobe.jp");
// TLD with a wildcard rule and exceptions.
checkPublicSuffix("ck", NULL);
checkPublicSuffix("test.ck", NULL);
checkPublicSuffix("b.test.ck", "b.test.ck");
checkPublicSuffix("a.b.test.ck", "b.test.ck");
checkPublicSuffix("www.ck", "www.ck");
checkPublicSuffix("www.www.ck", "www.ck");
// US K12.
checkPublicSuffix("us", NULL);
checkPublicSuffix("test.us", "test.us");
checkPublicSuffix("www.test.us", "test.us");
checkPublicSuffix("ak.us", NULL);
checkPublicSuffix("test.ak.us", "test.ak.us");
checkPublicSuffix("www.test.ak.us", "test.ak.us");
checkPublicSuffix("k12.ak.us", NULL);
checkPublicSuffix("test.k12.ak.us", "test.k12.ak.us");
checkPublicSuffix("www.test.k12.ak.us", "test.k12.ak.us");
// IDN labels.
checkPublicSuffix("食狮.com.cn", "食狮.com.cn");
checkPublicSuffix("食狮.公司.cn", "食狮.公司.cn");
checkPublicSuffix("www.食狮.公司.cn", "食狮.公司.cn");
checkPublicSuffix("shishi.公司.cn", "shishi.公司.cn");
checkPublicSuffix("公司.cn", NULL);
checkPublicSuffix("食狮.中国", "食狮.中国");
checkPublicSuffix("www.食狮.中国", "食狮.中国");
checkPublicSuffix("shishi.中国", "shishi.中国");
checkPublicSuffix("中国", NULL);
// Same as above, but punycoded.
checkPublicSuffix("xn--85x722f.com.cn", "xn--85x722f.com.cn");
checkPublicSuffix("xn--85x722f.xn--55qx5d.cn", "xn--85x722f.xn--55qx5d.cn");
checkPublicSuffix("www.xn--85x722f.xn--55qx5d.cn", "xn--85x722f.xn--55qx5d.cn");
checkPublicSuffix("shishi.xn--55qx5d.cn", "shishi.xn--55qx5d.cn");
checkPublicSuffix("xn--55qx5d.cn", NULL);
checkPublicSuffix("xn--85x722f.xn--fiqs8s", "xn--85x722f.xn--fiqs8s");
checkPublicSuffix("www.xn--85x722f.xn--fiqs8s", "xn--85x722f.xn--fiqs8s");
checkPublicSuffix("shishi.xn--fiqs8s", "shishi.xn--fiqs8s");
checkPublicSuffix("xn--fiqs8s", NULL);
// added
// https://wiki.mozilla.org/Public_Suffix_List/platform.sh_Problem (s/sh/notsh/)
checkPublicSuffix("a.b.foo.bar.platform.notsh", "foo.bar.platform.notsh");
checkPublicSuffix("bar.platform.notsh", NULL);
checkPublicSuffix("foo.notsh", "foo.notsh");
checkPublicSuffix("platform.notsh", "platform.notsh");
checkPublicSuffix("notsh", NULL);
// https://github.com/publicsuffix/list/issues/{570,689}
checkPublicSuffix("foo.ac.za", "foo.ac.za");
checkPublicSuffix("notregistrable.za", NULL);
// https://github.com/publicsuffix/list/issues/145
checkPublicSuffix("a.bcd.efg.hij.klm.nop.qrs.tuv.wxy.z", "a.bcd.efg.hij.klm.nop.qrs.tuv.wxy.z");
checkPublicSuffix("a.bcd.efg.hij.klm.nop.qrs.tuv.yxw.z", "a.bcd.efg.hij.klm.nop.qrs.tuv.yxw.z");
checkPublicSuffix("a.bcd.efg.hij.klm.nop.qrs.vut.yxw.z", "a.bcd.efg.hij.klm.nop.qrs.vut.yxw.z");
checkPublicSuffix("a.bcd.efg.hij.klm.nop.srq.vut.yxw.z", "a.bcd.efg.hij.klm.nop.srq.vut.yxw.z");
checkPublicSuffix("a.bcd.efg.hij.mlk.nop.srq.vut.yxw.z", "a.bcd.efg.hij.mlk.nop.srq.vut.yxw.z");
checkPublicSuffix("a.bcd.efg.jih.mlk.nop.srq.vut.yxw.z", "a.bcd.efg.jih.mlk.nop.srq.vut.yxw.z");
checkPublicSuffix("a.bcd.gfe.jih.mlk.nop.srq.vut.yxw.z", "a.bcd.gfe.jih.mlk.nop.srq.vut.yxw.z");
checkPublicSuffix("a.bcd.gfe.jih.mlk.nop.srq.vut.yxw.z", "a.bcd.gfe.jih.mlk.nop.srq.vut.yxw.z");
checkPublicSuffix("a.bcd.gfe.jih.mlk.nop.srq.vut.wxy.z", "a.bcd.gfe.jih.mlk.nop.srq.vut.wxy.z");
checkPublicSuffix("a.bcd.gfe.jih.mlk.nop.srq.tuv.wxy.z", "a.bcd.gfe.jih.mlk.nop.srq.tuv.wxy.z");
checkPublicSuffix("a.bcd.gfe.jih.mlk.nop.qrs.tuv.wxy.z", "a.bcd.gfe.jih.mlk.nop.qrs.tuv.wxy.z");
// match TLD exception
checkPublicSuffix("x.exception", "exception");