@@ -104,82 +104,84 @@ def test_filehandler
104
104
bug2593 = '[ruby-dev:40030]'
105
105
106
106
TestWEBrick . start_httpserver ( config ) do |server , addr , port , log |
107
- server [ :DocumentRootOptions ] [ :NondisclosureName ] = [ ]
108
- http = Net ::HTTP . new ( addr , port )
109
- req = Net ::HTTP ::Get . new ( "/" )
110
- http . request ( req ) { |res |
111
- assert_equal ( "200" , res . code , log . call )
112
- assert_equal ( "text/html" , res . content_type , log . call )
113
- assert_match ( /HREF="#{ this_file } "/ , res . body , log . call )
114
- }
115
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " )
116
- http . request ( req ) { |res |
117
- assert_equal ( "200" , res . code , log . call )
118
- assert_equal ( "text/plain" , res . content_type , log . call )
119
- assert_equal ( this_data , res . body , log . call )
120
- }
121
-
122
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=#{ filesize -100 } -" )
123
- http . request ( req ) { |res |
124
- assert_equal ( "206" , res . code , log . call )
125
- assert_equal ( "text/plain" , res . content_type , log . call )
126
- assert_nothing_raised ( bug2593 ) { range = res . content_range }
127
- assert_equal ( ( filesize -100 ) ..( filesize -1 ) , range , log . call )
128
- assert_equal ( this_data [ -100 ..-1 ] , res . body , log . call )
129
- }
130
-
131
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=-100" )
132
- http . request ( req ) { |res |
133
- assert_equal ( "206" , res . code , log . call )
134
- assert_equal ( "text/plain" , res . content_type , log . call )
135
- assert_nothing_raised ( bug2593 ) { range = res . content_range }
136
- assert_equal ( ( filesize -100 ) ..( filesize -1 ) , range , log . call )
137
- assert_equal ( this_data [ -100 ..-1 ] , res . body , log . call )
138
- }
139
-
140
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=0-99" )
141
- http . request ( req ) { |res |
142
- assert_equal ( "206" , res . code , log . call )
143
- assert_equal ( "text/plain" , res . content_type , log . call )
144
- assert_nothing_raised ( bug2593 ) { range = res . content_range }
145
- assert_equal ( 0 ..99 , range , log . call )
146
- assert_equal ( this_data [ 0 ..99 ] , res . body , log . call )
147
- }
148
-
149
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=100-199" )
150
- http . request ( req ) { |res |
151
- assert_equal ( "206" , res . code , log . call )
152
- assert_equal ( "text/plain" , res . content_type , log . call )
153
- assert_nothing_raised ( bug2593 ) { range = res . content_range }
154
- assert_equal ( 100 ..199 , range , log . call )
155
- assert_equal ( this_data [ 100 ..199 ] , res . body , log . call )
156
- }
157
-
158
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=0-0" )
159
- http . request ( req ) { |res |
160
- assert_equal ( "206" , res . code , log . call )
161
- assert_equal ( "text/plain" , res . content_type , log . call )
162
- assert_nothing_raised ( bug2593 ) { range = res . content_range }
163
- assert_equal ( 0 ..0 , range , log . call )
164
- assert_equal ( this_data [ 0 ..0 ] , res . body , log . call )
165
- }
166
-
167
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=-1" )
168
- http . request ( req ) { |res |
169
- assert_equal ( "206" , res . code , log . call )
170
- assert_equal ( "text/plain" , res . content_type , log . call )
171
- assert_nothing_raised ( bug2593 ) { range = res . content_range }
172
- assert_equal ( ( filesize -1 ) ..( filesize -1 ) , range , log . call )
173
- assert_equal ( this_data [ -1 , 1 ] , res . body , log . call )
174
- }
175
-
176
- req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=0-0, -2" )
177
- http . request ( req ) { |res |
178
- assert_equal ( "206" , res . code , log . call )
179
- assert_equal ( "multipart/byteranges" , res . content_type , log . call )
180
- }
181
- ensure
182
- server [ :DocumentRootOptions ] . delete :NondisclosureName
107
+ begin
108
+ server [ :DocumentRootOptions ] [ :NondisclosureName ] = [ ]
109
+ http = Net ::HTTP . new ( addr , port )
110
+ req = Net ::HTTP ::Get . new ( "/" )
111
+ http . request ( req ) { |res |
112
+ assert_equal ( "200" , res . code , log . call )
113
+ assert_equal ( "text/html" , res . content_type , log . call )
114
+ assert_match ( /HREF="#{ this_file } "/ , res . body , log . call )
115
+ }
116
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " )
117
+ http . request ( req ) { |res |
118
+ assert_equal ( "200" , res . code , log . call )
119
+ assert_equal ( "text/plain" , res . content_type , log . call )
120
+ assert_equal ( this_data , res . body , log . call )
121
+ }
122
+
123
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=#{ filesize -100 } -" )
124
+ http . request ( req ) { |res |
125
+ assert_equal ( "206" , res . code , log . call )
126
+ assert_equal ( "text/plain" , res . content_type , log . call )
127
+ assert_nothing_raised ( bug2593 ) { range = res . content_range }
128
+ assert_equal ( ( filesize -100 ) ..( filesize -1 ) , range , log . call )
129
+ assert_equal ( this_data [ -100 ..-1 ] , res . body , log . call )
130
+ }
131
+
132
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=-100" )
133
+ http . request ( req ) { |res |
134
+ assert_equal ( "206" , res . code , log . call )
135
+ assert_equal ( "text/plain" , res . content_type , log . call )
136
+ assert_nothing_raised ( bug2593 ) { range = res . content_range }
137
+ assert_equal ( ( filesize -100 ) ..( filesize -1 ) , range , log . call )
138
+ assert_equal ( this_data [ -100 ..-1 ] , res . body , log . call )
139
+ }
140
+
141
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=0-99" )
142
+ http . request ( req ) { |res |
143
+ assert_equal ( "206" , res . code , log . call )
144
+ assert_equal ( "text/plain" , res . content_type , log . call )
145
+ assert_nothing_raised ( bug2593 ) { range = res . content_range }
146
+ assert_equal ( 0 ..99 , range , log . call )
147
+ assert_equal ( this_data [ 0 ..99 ] , res . body , log . call )
148
+ }
149
+
150
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=100-199" )
151
+ http . request ( req ) { |res |
152
+ assert_equal ( "206" , res . code , log . call )
153
+ assert_equal ( "text/plain" , res . content_type , log . call )
154
+ assert_nothing_raised ( bug2593 ) { range = res . content_range }
155
+ assert_equal ( 100 ..199 , range , log . call )
156
+ assert_equal ( this_data [ 100 ..199 ] , res . body , log . call )
157
+ }
158
+
159
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=0-0" )
160
+ http . request ( req ) { |res |
161
+ assert_equal ( "206" , res . code , log . call )
162
+ assert_equal ( "text/plain" , res . content_type , log . call )
163
+ assert_nothing_raised ( bug2593 ) { range = res . content_range }
164
+ assert_equal ( 0 ..0 , range , log . call )
165
+ assert_equal ( this_data [ 0 ..0 ] , res . body , log . call )
166
+ }
167
+
168
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=-1" )
169
+ http . request ( req ) { |res |
170
+ assert_equal ( "206" , res . code , log . call )
171
+ assert_equal ( "text/plain" , res . content_type , log . call )
172
+ assert_nothing_raised ( bug2593 ) { range = res . content_range }
173
+ assert_equal ( ( filesize -1 ) ..( filesize -1 ) , range , log . call )
174
+ assert_equal ( this_data [ -1 , 1 ] , res . body , log . call )
175
+ }
176
+
177
+ req = Net ::HTTP ::Get . new ( "/#{ this_file } " , "range" => "bytes=0-0, -2" )
178
+ http . request ( req ) { |res |
179
+ assert_equal ( "206" , res . code , log . call )
180
+ assert_equal ( "multipart/byteranges" , res . content_type , log . call )
181
+ }
182
+ ensure
183
+ server [ :DocumentRootOptions ] . delete :NondisclosureName
184
+ end
183
185
end
184
186
end
185
187
0 commit comments