@@ -205,6 +205,93 @@ def test_stylesheet_path
205
205
end
206
206
end
207
207
208
+ class NoSSLHelperTest < NoHostHelperTest
209
+ def setup
210
+ super
211
+
212
+ @view . request = nil
213
+ end
214
+
215
+ def test_javascript_include_tag_integrity
216
+ assert_dom_equal %(<script src="/javascripts/static.js"></script>) ,
217
+ @view . javascript_include_tag ( "static" , integrity : true )
218
+ assert_dom_equal %(<script src="/javascripts/static.js"></script>) ,
219
+ @view . javascript_include_tag ( "static" , integrity : false )
220
+ assert_dom_equal %(<script src="/javascripts/static.js"></script>) ,
221
+ @view . javascript_include_tag ( "static" , integrity : nil )
222
+
223
+ assert_dom_equal %(<script src="/javascripts/static.js"></script>) ,
224
+ @view . javascript_include_tag ( "static" , integrity : "sha-256-TvVUHzSfftWg1rcfL6TIJ0XKEGrgLyEq6lEpcmrG9qs=" )
225
+
226
+ assert_dom_equal %(<script src="/assets/foo.js"></script>) ,
227
+ @view . javascript_include_tag ( "foo" , integrity : true )
228
+ end
229
+
230
+ def test_stylesheet_link_tag_integrity
231
+ assert_dom_equal %(<link href="/stylesheets/static.css" media="screen" rel="stylesheet" />) ,
232
+ @view . stylesheet_link_tag ( "static" , integrity : true )
233
+ assert_dom_equal %(<link href="/stylesheets/static.css" media="screen" rel="stylesheet" />) ,
234
+ @view . stylesheet_link_tag ( "static" , integrity : false )
235
+ assert_dom_equal %(<link href="/stylesheets/static.css" media="screen" rel="stylesheet" />) ,
236
+ @view . stylesheet_link_tag ( "static" , integrity : nil )
237
+
238
+ assert_dom_equal %(<link href="/stylesheets/static.css" media="screen" rel="stylesheet" />) ,
239
+ @view . stylesheet_link_tag ( "static" , integrity : "sha-256-5YzTQPuOJz/EpeXfN/+v1sxsjAj/dw8q26abiHZM3A4=" )
240
+
241
+ assert_dom_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" />) ,
242
+ @view . stylesheet_link_tag ( "foo" , integrity : true )
243
+ end
244
+ end
245
+
246
+ class LocalhostHelperTest < NoHostHelperTest
247
+ def setup
248
+ super
249
+
250
+ @view . request = ActionDispatch ::Request . new ( {
251
+ "rack.url_scheme" => "http" ,
252
+ "REMOTE_ADDR" => "127.0.0.1"
253
+ } )
254
+ end
255
+
256
+ def test_javascript_include_tag_integrity
257
+ super
258
+
259
+ assert_dom_equal %(<script src="/assets/foo.js"></script>) ,
260
+ @view . javascript_include_tag ( "foo" , integrity : false )
261
+ assert_dom_equal %(<script src="/assets/foo.js"></script>) ,
262
+ @view . javascript_include_tag ( "foo" , integrity : nil )
263
+
264
+ assert_dom_equal %(<script src="/assets/foo.js" integrity="#{ @foo_js_integrity } "></script>) ,
265
+ @view . javascript_include_tag ( "foo" , integrity : true )
266
+ assert_dom_equal %(<script src="/assets/foo.js" integrity="#{ @foo_js_integrity } "></script>) ,
267
+ @view . javascript_include_tag ( "foo.js" , integrity : true )
268
+ assert_dom_equal %(<script src="/assets/foo.js" integrity="#{ @foo_js_integrity } "></script>) ,
269
+ @view . javascript_include_tag ( :foo , integrity : true )
270
+
271
+ assert_dom_equal %(<script src="/assets/foo.js" integrity="#{ @foo_js_integrity } "></script>\n <script src="/assets/bar.js" integrity="#{ @bar_js_integrity } "></script>) ,
272
+ @view . javascript_include_tag ( :foo , :bar , integrity : true )
273
+ end
274
+
275
+ def test_stylesheet_link_tag_integrity
276
+ super
277
+
278
+ assert_dom_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" />) ,
279
+ @view . stylesheet_link_tag ( "foo" , integrity : false )
280
+ assert_dom_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" />) ,
281
+ @view . stylesheet_link_tag ( "foo" , integrity : nil )
282
+
283
+ assert_dom_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" integrity="#{ @foo_css_integrity } " />) ,
284
+ @view . stylesheet_link_tag ( "foo" , integrity : true )
285
+ assert_dom_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" integrity="#{ @foo_css_integrity } " />) ,
286
+ @view . stylesheet_link_tag ( "foo.css" , integrity : true )
287
+ assert_dom_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" integrity="#{ @foo_css_integrity } " />) ,
288
+ @view . stylesheet_link_tag ( :foo , integrity : true )
289
+
290
+ assert_dom_equal %(<link href="/assets/foo.css" media="screen" rel="stylesheet" integrity="#{ @foo_css_integrity } " />\n <link href="/assets/bar.css" media="screen" rel="stylesheet" integrity="sha256-Vd370+VAW4D96CVpZcjFLXyeHoagI0VHwofmzRXetuE=" />) ,
291
+ @view . stylesheet_link_tag ( :foo , :bar , integrity : true )
292
+ end
293
+ end
294
+
208
295
class RelativeHostHelperTest < HelperTest
209
296
def setup
210
297
super
0 commit comments