Wed, 13 Jul 2022 15:34:50 +0200
Revisions <no_multi_processing, Variables Viewer, with_python2> closed.
4971
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | // Any copyright is dedicated to the Public Domain. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | // http://creativecommons.org/publicdomain/zero/1.0/ |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | // null input. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | checkPublicSuffix(null, null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | // Mixed case. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | checkPublicSuffix('COM', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | checkPublicSuffix('example.COM', 'example.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | checkPublicSuffix('WwW.example.COM', 'example.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | // Leading dot. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | checkPublicSuffix('.com', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | checkPublicSuffix('.example', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | checkPublicSuffix('.example.com', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | checkPublicSuffix('.example.example', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | // Unlisted TLD. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | checkPublicSuffix('example', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | checkPublicSuffix('example.example', 'example.example'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | checkPublicSuffix('b.example.example', 'example.example'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | checkPublicSuffix('a.b.example.example', 'example.example'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | // Listed, but non-Internet, TLD. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | //checkPublicSuffix('local', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | //checkPublicSuffix('example.local', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | //checkPublicSuffix('b.example.local', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | //checkPublicSuffix('a.b.example.local', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | // TLD with only 1 rule. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | checkPublicSuffix('biz', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | checkPublicSuffix('domain.biz', 'domain.biz'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | checkPublicSuffix('b.domain.biz', 'domain.biz'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | checkPublicSuffix('a.b.domain.biz', 'domain.biz'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | // TLD with some 2-level rules. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | checkPublicSuffix('com', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | checkPublicSuffix('example.com', 'example.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | checkPublicSuffix('b.example.com', 'example.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | checkPublicSuffix('a.b.example.com', 'example.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | checkPublicSuffix('uk.com', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | checkPublicSuffix('example.uk.com', 'example.uk.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | checkPublicSuffix('b.example.uk.com', 'example.uk.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | checkPublicSuffix('a.b.example.uk.com', 'example.uk.com'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | checkPublicSuffix('test.ac', 'test.ac'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | // TLD with only 1 (wildcard) rule. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | checkPublicSuffix('bd', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | checkPublicSuffix('c.bd', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | checkPublicSuffix('b.c.bd', 'b.c.bd'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | checkPublicSuffix('a.b.c.bd', 'b.c.bd'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | // More complex TLD. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | checkPublicSuffix('jp', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | checkPublicSuffix('test.jp', 'test.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | checkPublicSuffix('www.test.jp', 'test.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | checkPublicSuffix('ac.jp', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | checkPublicSuffix('test.ac.jp', 'test.ac.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | checkPublicSuffix('www.test.ac.jp', 'test.ac.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | checkPublicSuffix('kyoto.jp', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | checkPublicSuffix('test.kyoto.jp', 'test.kyoto.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | checkPublicSuffix('ide.kyoto.jp', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | checkPublicSuffix('b.ide.kyoto.jp', 'b.ide.kyoto.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | checkPublicSuffix('a.b.ide.kyoto.jp', 'b.ide.kyoto.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | checkPublicSuffix('c.kobe.jp', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | checkPublicSuffix('b.c.kobe.jp', 'b.c.kobe.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | checkPublicSuffix('a.b.c.kobe.jp', 'b.c.kobe.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | checkPublicSuffix('city.kobe.jp', 'city.kobe.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | checkPublicSuffix('www.city.kobe.jp', 'city.kobe.jp'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | // TLD with a wildcard rule and exceptions. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | checkPublicSuffix('ck', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | checkPublicSuffix('test.ck', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | checkPublicSuffix('b.test.ck', 'b.test.ck'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | checkPublicSuffix('a.b.test.ck', 'b.test.ck'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | checkPublicSuffix('www.ck', 'www.ck'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | checkPublicSuffix('www.www.ck', 'www.ck'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | // US K12. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | checkPublicSuffix('us', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | checkPublicSuffix('test.us', 'test.us'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | checkPublicSuffix('www.test.us', 'test.us'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | checkPublicSuffix('ak.us', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | checkPublicSuffix('test.ak.us', 'test.ak.us'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | checkPublicSuffix('www.test.ak.us', 'test.ak.us'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | checkPublicSuffix('k12.ak.us', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | checkPublicSuffix('test.k12.ak.us', 'test.k12.ak.us'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | checkPublicSuffix('www.test.k12.ak.us', 'test.k12.ak.us'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | // IDN labels. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | checkPublicSuffix('食狮.com.cn', '食狮.com.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | checkPublicSuffix('食狮.公司.cn', '食狮.公司.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | checkPublicSuffix('www.食狮.公司.cn', '食狮.公司.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | checkPublicSuffix('shishi.公司.cn', 'shishi.公司.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | checkPublicSuffix('公司.cn', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | checkPublicSuffix('食狮.中国', '食狮.中国'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | checkPublicSuffix('www.食狮.中国', '食狮.中国'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | checkPublicSuffix('shishi.中国', 'shishi.中国'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | checkPublicSuffix('中国', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | // Same as above, but punycoded. |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | checkPublicSuffix('xn--85x722f.com.cn', 'xn--85x722f.com.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | checkPublicSuffix('xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | checkPublicSuffix('www.xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | checkPublicSuffix('shishi.xn--55qx5d.cn', 'shishi.xn--55qx5d.cn'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | checkPublicSuffix('xn--55qx5d.cn', null); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | checkPublicSuffix('xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | checkPublicSuffix('www.xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | checkPublicSuffix('shishi.xn--fiqs8s', 'shishi.xn--fiqs8s'); |
0f21662c0d2d
Added a class to extract all top level domains from a file provided by Mozilla.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | checkPublicSuffix('xn--fiqs8s', null); |