6
6
require "action_dispatch"
7
7
ActionView ::Template ::Types . delegate_to Mime
8
8
9
+ module AssetTagHelperTestHelpers
10
+ def with_preload_links_header ( new_preload_links_header = true )
11
+ original_preload_links_header = ActionView ::Helpers ::AssetTagHelper . preload_links_header
12
+ ActionView ::Helpers ::AssetTagHelper . preload_links_header = new_preload_links_header
13
+
14
+ yield
15
+ ensure
16
+ ActionView ::Helpers ::AssetTagHelper . preload_links_header = original_preload_links_header
17
+ end
18
+ end
19
+
9
20
class AssetTagHelperTest < ActionView ::TestCase
10
21
tests ActionView ::Helpers ::AssetTagHelper
11
22
23
+ include AssetTagHelperTestHelpers
24
+
12
25
attr_reader :request , :response
13
26
14
27
class FakeRequest
@@ -24,6 +37,7 @@ class FakeResponse
24
37
def headers
25
38
@headers ||= { }
26
39
end
40
+ def sending? ; false ; end
27
41
end
28
42
29
43
def setup
@@ -788,16 +802,6 @@ def test_caching_image_path_with_caching_and_proc_asset_host_using_request
788
802
assert_equal "http://localhost/images/xml.png" , image_path ( "xml.png" )
789
803
end
790
804
end
791
-
792
- private
793
- def with_preload_links_header ( new_preload_links_header = true )
794
- original_preload_links_header = ActionView ::Helpers ::AssetTagHelper . preload_links_header
795
- ActionView ::Helpers ::AssetTagHelper . preload_links_header = new_preload_links_header
796
-
797
- yield
798
- ensure
799
- ActionView ::Helpers ::AssetTagHelper . preload_links_header = original_preload_links_header
800
- end
801
805
end
802
806
803
807
class AssetTagHelperNonVhostTest < ActionView ::TestCase
@@ -951,6 +955,32 @@ def test_javascript_include_tag_without_request
951
955
end
952
956
end
953
957
958
+ class AssetTagHelperWithStreamingRequest < ActionView ::TestCase
959
+ tests ActionView ::Helpers ::AssetTagHelper
960
+
961
+ include AssetTagHelperTestHelpers
962
+
963
+ def setup
964
+ super
965
+ response . sending!
966
+ end
967
+
968
+ def test_stylesheet_link_tag_with_streaming
969
+ with_preload_links_header do
970
+ assert_dom_equal (
971
+ %(<link rel="stylesheet" href="/stylesheets/foo.css" />) ,
972
+ stylesheet_link_tag ( "foo.css" )
973
+ )
974
+ end
975
+ end
976
+
977
+ def test_javascript_include_tag_with_streaming
978
+ with_preload_links_header do
979
+ assert_dom_equal %(<script src="/javascripts/foo.js"></script>) , javascript_include_tag ( "foo.js" )
980
+ end
981
+ end
982
+ end
983
+
954
984
class AssetUrlHelperControllerTest < ActionView ::TestCase
955
985
tests ActionView ::Helpers ::AssetUrlHelper
956
986
0 commit comments