// Any copyright is dedicated to the Public Domain.
// http://creativecommons.org/publicdomain/zero/1.0/

// null input
null, null
// Mixed case
'COM', null
'example.COM', 'example.com'
'WwW.example.COM', 'example.com'
// Leading dot
'.com', null
'.example', null
'.example.com', null
'.example.example', null
// Unlisted TLD
'example', null
'example.example', 'example.example'
'b.example.example', 'example.example'
'a.b.example.example', 'example.example'
// Listed, but non-Internet, TLD
//'local', null
//'example.local', null
//'b.example.local', null
//'a.b.example.local', null
// TLD with only 1 rule
'biz', null
'domain.biz', 'domain.biz'
'b.domain.biz', 'domain.biz'
'a.b.domain.biz', 'domain.biz'
// TLD with some 2-level rules
'com', null
'example.com', 'example.com'
'b.example.com', 'example.com'
'a.b.example.com', 'example.com'
'uk.com', null
'example.uk.com', 'example.uk.com'
'b.example.uk.com', 'example.uk.com'
'a.b.example.uk.com', 'example.uk.com'
'test.ac', 'test.ac'
// TLD with only 1 (wildcard) rule
'mm', null
'c.mm', null
'b.c.mm', 'b.c.mm'
'a.b.c.mm', 'b.c.mm'
// More complex TLD
'jp', null
'test.jp', 'test.jp'
'www.test.jp', 'test.jp'
'ac.jp', null
'test.ac.jp', 'test.ac.jp'
'www.test.ac.jp', 'test.ac.jp'
'kyoto.jp', null
'test.kyoto.jp', 'test.kyoto.jp'
'ide.kyoto.jp', null
'b.ide.kyoto.jp', 'b.ide.kyoto.jp'
'a.b.ide.kyoto.jp', 'b.ide.kyoto.jp'
'c.kobe.jp', null
'b.c.kobe.jp', 'b.c.kobe.jp'
'a.b.c.kobe.jp', 'b.c.kobe.jp'
'city.kobe.jp', 'city.kobe.jp'
'www.city.kobe.jp', 'city.kobe.jp'
// TLD with a wildcard rule and exceptions
'ck', null
'test.ck', null
'b.test.ck', 'b.test.ck'
'a.b.test.ck', 'b.test.ck'
'www.ck', 'www.ck'
'www.www.ck', 'www.ck'
// US K12
'us', null
'test.us', 'test.us'
'www.test.us', 'test.us'
'ak.us', null
'test.ak.us', 'test.ak.us'
'www.test.ak.us', 'test.ak.us'
'k12.ak.us', null
'test.k12.ak.us', 'test.k12.ak.us'
'www.test.k12.ak.us', 'test.k12.ak.us'
// IDN labels
'食狮.com.cn', '食狮.com.cn'
'食狮.公司.cn', '食狮.公司.cn'
'www.食狮.公司.cn', '食狮.公司.cn'
'shishi.公司.cn', 'shishi.公司.cn'
'公司.cn', null
'食狮.中国', '食狮.中国'
'www.食狮.中国', '食狮.中国'
'shishi.中国', 'shishi.中国'
'中国', null
// Same as above, but punycoded
'xn--85x722f.com.cn', 'xn--85x722f.com.cn'
'xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn'
'www.xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn'
'shishi.xn--55qx5d.cn', 'shishi.xn--55qx5d.cn'
'xn--55qx5d.cn', null
'xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s'
'www.xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s'
'shishi.xn--fiqs8s', 'shishi.xn--fiqs8s'
'xn--fiqs8s', null
