Skip to content

Commit f7cd8e8

Browse files
committed
Tests: simplified http_server_name.t by using string compare.
Repetitive http header field names are now hidden in test subroutines, and expecting field values are compared as a string, instead of using a regex. This change is anticipated to inherit http_server_name.t in testing server names in the stream module, and to make the tests look alike.
1 parent 0f7a84c commit f7cd8e8

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

http_server_name.t

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -170,56 +170,66 @@ $t->run();
170170

171171
###############################################################################
172172

173-
like(http_server('xxx'), qr/X-Server: localhost/, 'default');
174-
unlike(http_server(), qr/X-Server/, 'empty');
173+
is(get_server('xxx'), 'localhost', 'default');
174+
is(get_server(), undef, 'empty');
175175

176-
like(http_server('www.example.com'), qr/\QX-Server: www.example.com/,
176+
is(get_server('www.example.com'), 'www.example.com',
177177
'www.example.com');
178-
like(http_server('WWW.EXAMPLE.COM'), qr/\QX-Server: www.example.com/,
178+
is(get_server('WWW.EXAMPLE.COM'), 'www.example.com',
179179
'www.example.com uppercase');
180180

181-
like(http_server('example.com'), qr/\QX-Server: ~^EXAMPLE\.COM$/,
181+
is(get_server('example.com'), '~^EXAMPLE\.COM$',
182182
'example.com regex');
183-
like(http_server('EXAMPLE.COM'), qr/\QX-Server: ~^EXAMPLE\.COM$/,
183+
is(get_server('EXAMPLE.COM'), '~^EXAMPLE\.COM$',
184184
'example.com regex uppercase');
185185

186-
like(http_server('blah.example.com'), qr/X-Match: blah/,
186+
is(get_match('blah.example.com'), 'blah',
187187
'(P<name>.*).example.com named capture');
188-
like(http_server('BLAH.EXAMPLE.COM'), qr/X-Match: blah/,
188+
is(get_match('BLAH.EXAMPLE.COM'), 'blah',
189189
'(P<name>.*).example.com named capture uppercase');
190190

191-
like(http_server('www01.example.com'), qr/X-Match: www01/,
191+
is(get_match('www01.example.com'), 'www01',
192192
'\p{N} in named capture');
193-
like(http_server('WWW01.EXAMPLE.COM'), qr/X-Match: www01/,
193+
is(get_match('WWW01.EXAMPLE.COM'), 'www01',
194194
'\p{N} in named capture uppercase');
195195

196-
like(http_server('many.example.com'), qr/\QX-Server: many.example.com/,
196+
is(get_server('many.example.com'), 'many.example.com',
197197
'name row - first');
198-
like(http_server('many2.example.com'), qr/\QX-Server: many.example.com/,
198+
is(get_server('many2.example.com'), 'many.example.com',
199199
'name row - second');
200200

201-
like(http_server('many3.example.com'), qr/\QX-Server: many3.example.com/,
201+
is(get_server('many3.example.com'), 'many3.example.com',
202202
'name list - first');
203-
like(http_server('many4.example.com'), qr/\QX-Server: many3.example.com/,
203+
is(get_server('many4.example.com'), 'many3.example.com',
204204
'name list - second');
205205

206-
like(http_server('www.wc.example.com'),
207-
qr/\QX-Server: *.wc.example.com/, 'wildcard first');
208-
like(http_server('www.pref.wc.example.com'),
209-
qr/\QX-Server: *.pref.wc.example.com/, 'wildcard first most specific');
210-
like(http_server('wc2.example.net'),
211-
qr/\QX-Server: wc2.example.*/, 'wildcard last');
212-
like(http_server('wc2.example.com.pref'),
213-
qr/\QX-Server: wc2.example.com.*/, 'wildcard last most specific');
206+
is(get_server('www.wc.example.com'),
207+
'*.wc.example.com', 'wildcard first');
208+
is(get_server('www.pref.wc.example.com'),
209+
'*.pref.wc.example.com', 'wildcard first most specific');
210+
is(get_server('wc2.example.net'),
211+
'wc2.example.*', 'wildcard last');
212+
is(get_server('wc2.example.com.pref'),
213+
'wc2.example.com.*', 'wildcard last most specific');
214214

215-
like(http_server('www.dot.example.com'), qr/\QX-Server: dot.example.com/,
215+
is(get_server('www.dot.example.com'), 'dot.example.com',
216216
'wildcard dot');
217-
like(http_server('dot.example.com'), qr/\QX-Server: dot.example.com/,
217+
is(get_server('dot.example.com'), 'dot.example.com',
218218
'wildcard dot empty');
219219

220220
###############################################################################
221221

222-
sub http_server {
222+
sub get_server {
223+
get(@_) =~ /X-Server: (.+)\x0d/m;
224+
return $1;
225+
}
226+
227+
sub get_match {
228+
get(@_) =~ /X-Match: (.+)\x0d/m;
229+
return $1;
230+
}
231+
232+
sub get {
223233
my ($host) = @_;
224234

225235
my $str = 'GET / HTTP/1.0' . CRLF .

0 commit comments

Comments
 (0)