public_suffix 5.0.3 → 5.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/test/tests.txt DELETED
@@ -1,98 +0,0 @@
1
- // Any copyright is dedicated to the Public Domain.
2
- // http://creativecommons.org/publicdomain/zero/1.0/
3
-
4
- // null input
5
- null, null
6
- // Mixed case
7
- 'COM', null
8
- 'example.COM', 'example.com'
9
- 'WwW.example.COM', 'example.com'
10
- // Leading dot
11
- '.com', null
12
- '.example', null
13
- '.example.com', null
14
- '.example.example', null
15
- // Unlisted TLD
16
- 'example', null
17
- 'example.example', 'example.example'
18
- 'b.example.example', 'example.example'
19
- 'a.b.example.example', 'example.example'
20
- // Listed, but non-Internet, TLD
21
- //'local', null
22
- //'example.local', null
23
- //'b.example.local', null
24
- //'a.b.example.local', null
25
- // TLD with only 1 rule
26
- 'biz', null
27
- 'domain.biz', 'domain.biz'
28
- 'b.domain.biz', 'domain.biz'
29
- 'a.b.domain.biz', 'domain.biz'
30
- // TLD with some 2-level rules
31
- 'com', null
32
- 'example.com', 'example.com'
33
- 'b.example.com', 'example.com'
34
- 'a.b.example.com', 'example.com'
35
- 'uk.com', null
36
- 'example.uk.com', 'example.uk.com'
37
- 'b.example.uk.com', 'example.uk.com'
38
- 'a.b.example.uk.com', 'example.uk.com'
39
- 'test.ac', 'test.ac'
40
- // TLD with only 1 (wildcard) rule
41
- 'mm', null
42
- 'c.mm', null
43
- 'b.c.mm', 'b.c.mm'
44
- 'a.b.c.mm', 'b.c.mm'
45
- // More complex TLD
46
- 'jp', null
47
- 'test.jp', 'test.jp'
48
- 'www.test.jp', 'test.jp'
49
- 'ac.jp', null
50
- 'test.ac.jp', 'test.ac.jp'
51
- 'www.test.ac.jp', 'test.ac.jp'
52
- 'kyoto.jp', null
53
- 'test.kyoto.jp', 'test.kyoto.jp'
54
- 'ide.kyoto.jp', null
55
- 'b.ide.kyoto.jp', 'b.ide.kyoto.jp'
56
- 'a.b.ide.kyoto.jp', 'b.ide.kyoto.jp'
57
- 'c.kobe.jp', null
58
- 'b.c.kobe.jp', 'b.c.kobe.jp'
59
- 'a.b.c.kobe.jp', 'b.c.kobe.jp'
60
- 'city.kobe.jp', 'city.kobe.jp'
61
- 'www.city.kobe.jp', 'city.kobe.jp'
62
- // TLD with a wildcard rule and exceptions
63
- 'ck', null
64
- 'test.ck', null
65
- 'b.test.ck', 'b.test.ck'
66
- 'a.b.test.ck', 'b.test.ck'
67
- 'www.ck', 'www.ck'
68
- 'www.www.ck', 'www.ck'
69
- // US K12
70
- 'us', null
71
- 'test.us', 'test.us'
72
- 'www.test.us', 'test.us'
73
- 'ak.us', null
74
- 'test.ak.us', 'test.ak.us'
75
- 'www.test.ak.us', 'test.ak.us'
76
- 'k12.ak.us', null
77
- 'test.k12.ak.us', 'test.k12.ak.us'
78
- 'www.test.k12.ak.us', 'test.k12.ak.us'
79
- // IDN labels
80
- '食狮.com.cn', '食狮.com.cn'
81
- '食狮.公司.cn', '食狮.公司.cn'
82
- 'www.食狮.公司.cn', '食狮.公司.cn'
83
- 'shishi.公司.cn', 'shishi.公司.cn'
84
- '公司.cn', null
85
- '食狮.中国', '食狮.中国'
86
- 'www.食狮.中国', '食狮.中国'
87
- 'shishi.中国', 'shishi.中国'
88
- '中国', null
89
- // Same as above, but punycoded
90
- 'xn--85x722f.com.cn', 'xn--85x722f.com.cn'
91
- 'xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn'
92
- 'www.xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn'
93
- 'shishi.xn--55qx5d.cn', 'shishi.xn--55qx5d.cn'
94
- 'xn--55qx5d.cn', null
95
- 'xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s'
96
- 'www.xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s'
97
- 'shishi.xn--fiqs8s', 'shishi.xn--fiqs8s'
98
- 'xn--fiqs8s', null
@@ -1,106 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "test_helper"
4
-
5
- class PublicSuffix::DomainTest < Minitest::Test
6
-
7
- def setup
8
- @klass = PublicSuffix::Domain
9
- end
10
-
11
- # Tokenizes given input into labels.
12
- def test_self_name_to_labels
13
- assert_equal %w[someone spaces live com],
14
- PublicSuffix::Domain.name_to_labels("someone.spaces.live.com")
15
- assert_equal %w[leontina23samiko wiki zoho com],
16
- PublicSuffix::Domain.name_to_labels("leontina23samiko.wiki.zoho.com")
17
- end
18
-
19
- # Converts input into String.
20
- def test_self_name_to_labels_converts_input_to_string
21
- assert_equal %w[someone spaces live com],
22
- PublicSuffix::Domain.name_to_labels(:"someone.spaces.live.com")
23
- end
24
-
25
-
26
- def test_initialize_with_tld
27
- domain = @klass.new("com")
28
- assert_equal "com", domain.tld
29
- assert_nil domain.sld
30
- assert_nil domain.trd
31
- end
32
-
33
- def test_initialize_with_tld_and_sld
34
- domain = @klass.new("com", "google")
35
- assert_equal "com", domain.tld
36
- assert_equal "google", domain.sld
37
- assert_nil domain.trd
38
- end
39
-
40
- def test_initialize_with_tld_and_sld_and_trd
41
- domain = @klass.new("com", "google", "www")
42
- assert_equal "com", domain.tld
43
- assert_equal "google", domain.sld
44
- assert_equal "www", domain.trd
45
- end
46
-
47
-
48
- def test_to_s
49
- assert_equal "com", @klass.new("com").to_s
50
- assert_equal "google.com", @klass.new("com", "google").to_s
51
- assert_equal "www.google.com", @klass.new("com", "google", "www").to_s
52
- end
53
-
54
- def test_to_a
55
- assert_equal [nil, nil, "com"], @klass.new("com").to_a
56
- assert_equal [nil, "google", "com"], @klass.new("com", "google").to_a
57
- assert_equal ["www", "google", "com"], @klass.new("com", "google", "www").to_a
58
- end
59
-
60
-
61
- def test_tld
62
- assert_equal "com", @klass.new("com", "google", "www").tld
63
- end
64
-
65
- def test_sld
66
- assert_equal "google", @klass.new("com", "google", "www").sld
67
- end
68
-
69
- def test_trd
70
- assert_equal "www", @klass.new("com", "google", "www").trd
71
- end
72
-
73
-
74
- def test_name
75
- assert_equal "com", @klass.new("com").name
76
- assert_equal "google.com", @klass.new("com", "google").name
77
- assert_equal "www.google.com", @klass.new("com", "google", "www").name
78
- end
79
-
80
- def test_domain
81
- assert_nil @klass.new("com").domain
82
- assert_nil @klass.new("tldnotlisted").domain
83
- assert_equal "google.com", @klass.new("com", "google").domain
84
- assert_equal "google.tldnotlisted", @klass.new("tldnotlisted", "google").domain
85
- assert_equal "google.com", @klass.new("com", "google", "www").domain
86
- assert_equal "google.tldnotlisted", @klass.new("tldnotlisted", "google", "www").domain
87
- end
88
-
89
- def test_subdomain
90
- assert_nil @klass.new("com").subdomain
91
- assert_nil @klass.new("tldnotlisted").subdomain
92
- assert_nil @klass.new("com", "google").subdomain
93
- assert_nil @klass.new("tldnotlisted", "google").subdomain
94
- assert_equal "www.google.com", @klass.new("com", "google", "www").subdomain
95
- assert_equal "www.google.tldnotlisted", @klass.new("tldnotlisted", "google", "www").subdomain
96
- end
97
-
98
-
99
- def test_domain_question
100
- assert !@klass.new("com").domain?
101
- assert @klass.new("com", "example").domain?
102
- assert @klass.new("com", "example", "www").domain?
103
- assert @klass.new("tldnotlisted", "example").domain?
104
- end
105
-
106
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "test_helper"
4
-
5
- class ErrorsTest < Minitest::Test
6
-
7
- # Inherits from StandardError
8
- def test_error_inheritance
9
- assert_kind_of StandardError,
10
- PublicSuffix::Error.new
11
- end
12
-
13
- # Inherits from PublicSuffix::Error
14
- def test_domain_invalid_inheritance
15
- assert_kind_of PublicSuffix::Error,
16
- PublicSuffix::DomainInvalid.new
17
- end
18
-
19
- # Inherits from PublicSuffix::DomainInvalid
20
- def test_domain_not_allowed_inheritance
21
- assert_kind_of PublicSuffix::DomainInvalid,
22
- PublicSuffix::DomainNotAllowed.new
23
- end
24
-
25
- end
@@ -1,241 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "test_helper"
4
-
5
- class PublicSuffix::ListTest < Minitest::Test
6
-
7
- def setup
8
- @list = PublicSuffix::List.new
9
- end
10
-
11
- def teardown
12
- PublicSuffix::List.default = nil
13
- end
14
-
15
-
16
- def test_initialize
17
- assert_instance_of PublicSuffix::List, @list
18
- assert_equal 0, @list.size
19
- end
20
-
21
-
22
- def test_equality_with_self
23
- list = PublicSuffix::List.new
24
- assert_equal list, list
25
- end
26
-
27
- def test_equality_with_internals
28
- rule = PublicSuffix::Rule.factory("com")
29
- assert_equal PublicSuffix::List.new.add(rule), PublicSuffix::List.new.add(rule)
30
- end
31
-
32
- def test_each_without_block
33
- list = PublicSuffix::List.parse(<<LIST)
34
- alpha
35
- beta
36
- LIST
37
-
38
- assert_kind_of Enumerator, list.each
39
- assert_equal 2, list.each.count
40
- assert_equal PublicSuffix::Rule.factory("alpha"), list.each.first
41
- end
42
-
43
- def test_each_with_block
44
- list = PublicSuffix::List.parse(<<LIST)
45
- alpha
46
- beta
47
- LIST
48
-
49
- entries = []
50
- list.each { |r| entries << r }
51
-
52
- assert_equal 2, entries.count
53
- assert_equal PublicSuffix::Rule.factory("alpha"), entries.first
54
- end
55
-
56
-
57
- def test_add
58
- assert_equal @list, @list.add(PublicSuffix::Rule.factory("foo"))
59
- assert_equal @list, @list << PublicSuffix::Rule.factory("bar")
60
- assert_equal 2, @list.size
61
- end
62
-
63
- def test_add_should_recreate_index
64
- @list = PublicSuffix::List.parse("com")
65
- assert_equal PublicSuffix::Rule.factory("com"), @list.find("google.com")
66
- assert_equal @list.default_rule, @list.find("google.net")
67
-
68
- @list << PublicSuffix::Rule.factory("net")
69
- assert_equal PublicSuffix::Rule.factory("com"), @list.find("google.com")
70
- assert_equal PublicSuffix::Rule.factory("net"), @list.find("google.net")
71
- end
72
-
73
- def test_empty?
74
- assert @list.empty?
75
- @list.add(PublicSuffix::Rule.factory(""))
76
- assert !@list.empty?
77
- end
78
-
79
- def test_size
80
- assert_equal 0, @list.size
81
- assert_equal @list, @list.add(PublicSuffix::Rule.factory(""))
82
- assert_equal 1, @list.size
83
- end
84
-
85
- def test_clear
86
- assert_equal 0, @list.size
87
- assert_equal @list, @list.add(PublicSuffix::Rule.factory(""))
88
- assert_equal 1, @list.size
89
- assert_equal @list, @list.clear
90
- assert_equal 0, @list.size
91
- end
92
-
93
-
94
- def test_find
95
- list = PublicSuffix::List.parse(<<LIST)
96
- // This Source Code Form is subject to the terms of the Mozilla Public
97
- // License, v. 2.0. If a copy of the MPL was not distributed with this
98
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
99
-
100
- // ===BEGIN ICANN DOMAINS===
101
-
102
- // com
103
- com
104
-
105
- // uk
106
- *.uk
107
- *.sch.uk
108
- !bl.uk
109
- !british-library.uk
110
-
111
- // io
112
- io
113
-
114
- // ===END ICANN DOMAINS===
115
- // ===BEGIN PRIVATE DOMAINS===
116
-
117
- // Google, Inc.
118
- blogspot.com
119
-
120
- // ===END PRIVATE DOMAINS===
121
- LIST
122
-
123
- # match IANA
124
- assert_equal PublicSuffix::Rule.factory("com"), list.find("example.com")
125
- assert_equal PublicSuffix::Rule.factory("com"), list.find("foo.example.com")
126
-
127
- # match wildcard
128
- assert_equal PublicSuffix::Rule.factory("*.uk"), list.find("example.uk")
129
- assert_equal PublicSuffix::Rule.factory("*.uk"), list.find("example.co.uk")
130
- assert_equal PublicSuffix::Rule.factory("*.uk"), list.find("foo.example.co.uk")
131
-
132
- # match exception
133
- assert_equal PublicSuffix::Rule.factory("!british-library.uk"), list.find("british-library.uk")
134
- assert_equal PublicSuffix::Rule.factory("!british-library.uk"), list.find("foo.british-library.uk")
135
-
136
- # match default rule
137
- assert_equal PublicSuffix::Rule.factory("*"), list.find("test")
138
- assert_equal PublicSuffix::Rule.factory("*"), list.find("example.test")
139
- assert_equal PublicSuffix::Rule.factory("*"), list.find("foo.example.test")
140
-
141
- # match private
142
- assert_equal PublicSuffix::Rule.factory("blogspot.com", private: true), list.find("blogspot.com")
143
- assert_equal PublicSuffix::Rule.factory("blogspot.com", private: true), list.find("foo.blogspot.com")
144
- end
145
-
146
-
147
- def test_select
148
- assert_equal 2, list.send(:select, "british-library.uk").size
149
- end
150
-
151
- def test_select_name_blank
152
- assert_equal [], list.send(:select, nil)
153
- assert_equal [], list.send(:select, "")
154
- assert_equal [], list.send(:select, " ")
155
- end
156
-
157
- def test_select_ignore_private
158
- list = PublicSuffix::List.new
159
- list.add r1 = PublicSuffix::Rule.factory("io")
160
- list.add r2 = PublicSuffix::Rule.factory("example.io", private: true)
161
-
162
- assert_equal list.send(:select, "foo.io"), [r1]
163
- assert_equal list.send(:select, "example.io"), [r1, r2]
164
- assert_equal list.send(:select, "foo.example.io"), [r1, r2]
165
-
166
- assert_equal list.send(:select, "foo.io", ignore_private: false), [r1]
167
- assert_equal list.send(:select, "example.io", ignore_private: false), [r1, r2]
168
- assert_equal list.send(:select, "foo.example.io", ignore_private: false), [r1, r2]
169
-
170
- assert_equal list.send(:select, "foo.io", ignore_private: true), [r1]
171
- assert_equal list.send(:select, "example.io", ignore_private: true), [r1]
172
- assert_equal list.send(:select, "foo.example.io", ignore_private: true), [r1]
173
- end
174
-
175
-
176
- def test_self_default_getter
177
- PublicSuffix::List.default = nil
178
- assert_nil(PublicSuffix::List.class_eval { @default })
179
- PublicSuffix::List.default
180
- refute_nil(PublicSuffix::List.class_eval { @default })
181
- end
182
-
183
- def test_self_default_setter
184
- PublicSuffix::List.default
185
- refute_nil(PublicSuffix::List.class_eval { @default })
186
- PublicSuffix::List.default = nil
187
- assert_nil(PublicSuffix::List.class_eval { @default })
188
- end
189
-
190
- def test_self_parse
191
- list = PublicSuffix::List.parse(<<LIST)
192
- // This Source Code Form is subject to the terms of the Mozilla Public
193
- // License, v. 2.0. If a copy of the MPL was not distributed with this
194
- // file, You can obtain one at https://mozilla.org/MPL/2.0/.
195
-
196
- // ===BEGIN ICANN DOMAINS===
197
-
198
- // com
199
- com
200
-
201
- // uk
202
- *.uk
203
- !british-library.uk
204
-
205
- // ===END ICANN DOMAINS===
206
- // ===BEGIN PRIVATE DOMAINS===
207
-
208
- // Google, Inc.
209
- blogspot.com
210
-
211
- // ===END PRIVATE DOMAINS===
212
- LIST
213
-
214
- assert_instance_of PublicSuffix::List, list
215
- assert_equal 4, list.size
216
-
217
- rules = %w[com *.uk !british-library.uk blogspot.com].map { |name| PublicSuffix::Rule.factory(name) }
218
- assert_equal rules, list.each.to_a
219
-
220
- # private domains
221
- assert_equal false, list.find("com").private
222
- assert_equal true, list.find("blogspot.com").private
223
- end
224
-
225
-
226
- private
227
-
228
- def list
229
- @_list ||= PublicSuffix::List.parse(<<LIST)
230
- // com : http://en.wikipedia.org/wiki/.com
231
- com
232
-
233
- // uk : http://en.wikipedia.org/wiki/.uk
234
- *.uk
235
- *.sch.uk
236
- !bl.uk
237
- !british-library.uk
238
- LIST
239
- end
240
-
241
- end
@@ -1,188 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "test_helper"
4
-
5
- class PublicSuffixTest < Minitest::Test
6
-
7
- def test_private_domains_enabled_by_default
8
- domain = PublicSuffix.parse("www.example.blogspot.com")
9
- assert_equal "blogspot.com", domain.tld
10
- end
11
-
12
- def test_private_domains_disable
13
- data = File.read(PublicSuffix::List::DEFAULT_LIST_PATH)
14
- PublicSuffix::List.default = PublicSuffix::List.parse(data, private_domains: false)
15
- domain = PublicSuffix.parse("www.example.blogspot.com")
16
- assert_equal "com", domain.tld
17
- ensure
18
- PublicSuffix::List.default = nil
19
- end
20
-
21
-
22
- def test_self_parse_a_domain_with_tld_and_sld
23
- domain = PublicSuffix.parse("example.com")
24
- assert_instance_of PublicSuffix::Domain, domain
25
- assert_equal "com", domain.tld
26
- assert_equal "example", domain.sld
27
- assert_nil domain.trd
28
-
29
- domain = PublicSuffix.parse("example.co.uk")
30
- assert_instance_of PublicSuffix::Domain, domain
31
- assert_equal "co.uk", domain.tld
32
- assert_equal "example", domain.sld
33
- assert_nil domain.trd
34
- end
35
-
36
- def test_self_parse_a_domain_with_tld_and_sld_and_trd
37
- domain = PublicSuffix.parse("alpha.example.com")
38
- assert_instance_of PublicSuffix::Domain, domain
39
- assert_equal "com", domain.tld
40
- assert_equal "example", domain.sld
41
- assert_equal "alpha", domain.trd
42
-
43
- domain = PublicSuffix.parse("alpha.example.co.uk")
44
- assert_instance_of PublicSuffix::Domain, domain
45
- assert_equal "co.uk", domain.tld
46
- assert_equal "example", domain.sld
47
- assert_equal "alpha", domain.trd
48
- end
49
-
50
- def test_self_parse_a_domain_with_tld_and_sld_and_4rd
51
- domain = PublicSuffix.parse("one.two.example.com")
52
- assert_instance_of PublicSuffix::Domain, domain
53
- assert_equal "com", domain.tld
54
- assert_equal "example", domain.sld
55
- assert_equal "one.two", domain.trd
56
-
57
- domain = PublicSuffix.parse("one.two.example.co.uk")
58
- assert_instance_of PublicSuffix::Domain, domain
59
- assert_equal "co.uk", domain.tld
60
- assert_equal "example", domain.sld
61
- assert_equal "one.two", domain.trd
62
- end
63
-
64
- def test_self_parse_name_fqdn
65
- domain = PublicSuffix.parse("www.example.com.")
66
- assert_instance_of PublicSuffix::Domain, domain
67
- assert_equal "com", domain.tld
68
- assert_equal "example", domain.sld
69
- assert_equal "www", domain.trd
70
- end
71
-
72
- def test_self_parse_with_custom_list
73
- list = PublicSuffix::List.new
74
- list << PublicSuffix::Rule.factory("test")
75
-
76
- domain = PublicSuffix.parse("www.example.test", list: list)
77
- assert_instance_of PublicSuffix::Domain, domain
78
- assert_equal "test", domain.tld
79
- assert_equal "example", domain.sld
80
- assert_equal "www", domain.trd
81
- end
82
-
83
- def test_self_parse_with_notlisted_name
84
- domain = PublicSuffix.parse("example.tldnotlisted")
85
- assert_instance_of PublicSuffix::Domain, domain
86
- assert_equal "tldnotlisted", domain.tld
87
- assert_equal "example", domain.sld
88
- assert_nil domain.trd
89
- end
90
-
91
- def test_self_parse_with_unallowed_domain
92
- error = assert_raises(PublicSuffix::DomainNotAllowed) { PublicSuffix.parse("example.bd") }
93
- assert_match(/example\.bd/, error.message)
94
- end
95
-
96
- def test_self_parse_with_uri
97
- error = assert_raises(PublicSuffix::DomainInvalid) { PublicSuffix.parse("http://google.com") }
98
- assert_match(%r{http://google\.com}, error.message)
99
- end
100
-
101
-
102
- def test_self_valid
103
- assert PublicSuffix.valid?("google.com")
104
- assert PublicSuffix.valid?("www.google.com")
105
- assert PublicSuffix.valid?("google.co.uk")
106
- assert PublicSuffix.valid?("www.google.co.uk")
107
- end
108
-
109
- def test_self_valid_with_notlisted_name
110
- assert PublicSuffix.valid?("google.tldnotlisted")
111
- assert PublicSuffix.valid?("www.google.tldnotlisted")
112
- end
113
-
114
- # def test_self_valid_with_fully_qualified_domain_name
115
- # assert PublicSuffix.valid?("google.com.")
116
- # assert PublicSuffix.valid?("google.co.uk.")
117
- # assert !PublicSuffix.valid?("google.tldnotlisted.")
118
- # end
119
-
120
-
121
- def test_self_domain
122
- assert_equal "google.com", PublicSuffix.domain("google.com")
123
- assert_equal "google.com", PublicSuffix.domain("www.google.com")
124
- assert_equal "google.co.uk", PublicSuffix.domain("google.co.uk")
125
- assert_equal "google.co.uk", PublicSuffix.domain("www.google.co.uk")
126
- end
127
-
128
- def test_self_domain_with_notlisted_name
129
- assert_equal "example.tldnotlisted", PublicSuffix.domain("example.tldnotlisted")
130
- end
131
-
132
- def test_self_domain_with_unallowed_name
133
- assert_nil PublicSuffix.domain("example.bd")
134
- end
135
-
136
- def test_self_domain_with_blank_sld
137
- assert_nil PublicSuffix.domain("com")
138
- assert_nil PublicSuffix.domain(".com")
139
- end
140
-
141
-
142
- def test_self_normalize
143
- [
144
- ["com", "com"],
145
- ["example.com", "example.com"],
146
- ["www.example.com", "www.example.com"],
147
-
148
- ["example.com.", "example.com"], # strip FQDN
149
- [" example.com ", "example.com"], # strip spaces
150
- ["Example.COM", "example.com"], # downcase
151
- ].each do |input, output|
152
- assert_equal output, PublicSuffix.normalize(input)
153
- end
154
- end
155
-
156
- def test_normalize_blank
157
- [
158
- nil,
159
- "",
160
- " ",
161
- ].each do |input|
162
- error = PublicSuffix.normalize(input)
163
- assert_instance_of PublicSuffix::DomainInvalid, error
164
- assert_equal "Name is blank", error.message
165
- end
166
- end
167
-
168
- def test_normalize_scheme
169
- [
170
- "https://google.com",
171
- ].each do |input|
172
- error = PublicSuffix.normalize(input)
173
- assert_instance_of PublicSuffix::DomainInvalid, error
174
- assert_match(/scheme/, error.message)
175
- end
176
- end
177
-
178
- def test_normalize_leading_dot
179
- [
180
- ".google.com",
181
- ].each do |input|
182
- error = PublicSuffix.normalize(input)
183
- assert_instance_of PublicSuffix::DomainInvalid, error
184
- assert_match "Name starts with a dot", error.message
185
- end
186
- end
187
-
188
- end