531e697936
The lookaside cache is primarily intended for large binary files. These source files are text files with small modifications over the time, so there is no real benefit from the additional layer of indirection.
99 lines
4.2 KiB
Plaintext
99 lines
4.2 KiB
Plaintext
// Any copyright is dedicated to the Public Domain.
|
|
// https://creativecommons.org/publicdomain/zero/1.0/
|
|
|
|
// 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('mm', null);
|
|
checkPublicSuffix('c.mm', null);
|
|
checkPublicSuffix('b.c.mm', 'b.c.mm');
|
|
checkPublicSuffix('a.b.c.mm', 'b.c.mm');
|
|
// 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);
|
|
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);
|