From 5fb466da6421daef086f1720e7961e348f5ce7c1 Mon Sep 17 00:00:00 2001 From: Haroon Ahmed Date: Sat, 19 Jun 2021 13:22:38 +0100 Subject: [PATCH] Fixes build for Gemfile, rails 7 by adding a new method that checks the rails version and appends media="screen" to the assertions. The setting config.action_view.apply_stylesheet_media_default = true was added in rails 7. The method signature for ActionView::Base.new requires a couple of extra params which was also needed to get the build to pass. --- Gemfile | 2 +- test/test_helper.rb | 121 ++++++++++++++++++++++--------------------- test/test_railtie.rb | 13 +++-- 3 files changed, 73 insertions(+), 63 deletions(-) diff --git a/Gemfile b/Gemfile index ac05301..113771b 100644 --- a/Gemfile +++ b/Gemfile @@ -3,5 +3,5 @@ gemspec gem 'actionpack', github: 'rails/rails', branch: 'master' gem 'railties', github: 'rails/rails', branch: 'master' -gem 'rack', github: 'rack/rack', branch: 'master' +gem 'rack', github: 'rack/rack', branch: 'master', ref: "e84bb296d1a16b32159608596f1f5a23b2016633" gem 'sprockets', github: 'rails/sprockets', branch: '3.x' diff --git a/test/test_helper.rb b/test/test_helper.rb index 138a527..9845f25 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -7,6 +7,12 @@ require 'sprockets/rails/helper' ActiveSupport::TestCase.test_order = :random if ActiveSupport::TestCase.respond_to?(:test_order=) +def append_media_attribute + if ::Rails::VERSION::MAJOR < 7 + "media=\"screen\"" + end +end + class HelperTest < ActionView::TestCase FIXTURES_PATH = File.expand_path("../fixtures", __FILE__) @@ -19,7 +25,7 @@ class HelperTest < ActionView::TestCase tmp = File.expand_path("../../tmp", __FILE__) @manifest = Sprockets::Manifest.new(@assets, tmp) - @view = ActionView::Base.new(ActionView::LookupContext.new([])) + @view = ActionView::Base.new(ActionView::LookupContext.new([]), {}, nil) @view.extend ::Sprockets::Rails::Helper @view.assets_environment = @assets @view.assets_manifest = @manifest @@ -135,23 +141,23 @@ class NoHostHelperTest < HelperTest def test_stylesheet_link_tag ActiveSupport::Deprecation.silence do - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static.css") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:static) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("/elsewhere.css") - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag("/style1.css", "style2.css") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("http://www.example.com/styles/style") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("http://www.example.com/styles/style.css") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("//www.example.com/styles/style.css") assert_dom_equal %(), @@ -177,12 +183,12 @@ class NoHostHelperTest < HelperTest def test_stylesheet_link_tag_integrity ActiveSupport::Deprecation.silence do - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static", integrity: "sha-256-5YzTQPuOJz/EpeXfN/+v1sxsjAj/dw8q26abiHZM3A4=") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static", integrity: false) end end @@ -244,18 +250,18 @@ class NoSSLHelperTest < NoHostHelperTest def test_stylesheet_link_tag_integrity ActiveSupport::Deprecation.silence do - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static", integrity: false) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static", integrity: nil) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("static", integrity: "sha-256-5YzTQPuOJz/EpeXfN/+v1sxsjAj/dw8q26abiHZM3A4=") end - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: true) end end @@ -292,19 +298,19 @@ class LocalhostHelperTest < NoHostHelperTest def test_stylesheet_link_tag_integrity super - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: false) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: nil) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo.css", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo, integrity: true) - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag(:foo, :bar, integrity: true) end end @@ -352,11 +358,11 @@ class RelativeHostHelperTest < HelperTest assert_equal "https://assets.example.com/stylesheets/bank.css?foo=1#hash", @view.stylesheet_path("bank.css?foo=1#hash") end - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo.css") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) end @@ -366,7 +372,6 @@ class RelativeHostHelperTest < HelperTest end end - class NoDigestHelperTest < NoHostHelperTest def setup super @@ -390,11 +395,11 @@ class NoDigestHelperTest < NoHostHelperTest def test_stylesheet_link_tag super - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo.css") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) assert_servable_asset_url "/assets/foo.css" @@ -446,14 +451,14 @@ class DigestHelperTest < NoHostHelperTest def test_stylesheet_link_tag super - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo.css") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag(:foo, :bar) assert_servable_asset_url "/assets/foo-#{@foo_css_digest}.css" @@ -481,19 +486,19 @@ class DigestHelperTest < NoHostHelperTest def test_stylesheet_link_tag_integrity super - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: false) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: nil) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo.css", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo, integrity: true) - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag(:foo, :bar, integrity: true) end @@ -564,11 +569,11 @@ class DebugHelperTest < NoHostHelperTest super if using_sprockets4? - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:bar) - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag(:file1, :file2) assert_servable_asset_url "/assets/foo.self.css" @@ -577,11 +582,11 @@ class DebugHelperTest < NoHostHelperTest assert_servable_asset_url "/assets/file1.self.css" assert_servable_asset_url "/assets/file2.self.css" else - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag(:bar) - assert_dom_equal %(\n\n), + assert_dom_equal %(\n\n), @view.stylesheet_link_tag(:file1, :file2) assert_servable_asset_url "/assets/foo.self.css?body=1" @@ -651,11 +656,11 @@ class DebugDigestHelperTest < NoHostHelperTest super if using_sprockets4? - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:bar) - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag(:file1, :file2) assert_servable_asset_url "/assets/foo.self-#{@foo_self_css_digest}.css" @@ -664,11 +669,11 @@ class DebugDigestHelperTest < NoHostHelperTest assert_servable_asset_url "/assets/file1.self-#{@file1_self_css_digest}.css" assert_servable_asset_url "/assets/file2.self-#{@file2_self_css_digest}.css" else - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) - assert_dom_equal %(\n), + assert_dom_equal %(\n), @view.stylesheet_link_tag(:bar) - assert_dom_equal %(\n\n), + assert_dom_equal %(\n\n), @view.stylesheet_link_tag(:file1, :file2) assert_servable_asset_url "/assets/foo.self-#{@foo_self_css_digest}.css?body=1" @@ -735,11 +740,11 @@ class ManifestHelperTest < NoHostHelperTest def test_stylesheet_link_tag super - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo.css") - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo) end @@ -757,11 +762,11 @@ class ManifestHelperTest < NoHostHelperTest def test_stylesheet_link_tag_integrity super - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag("foo.css", integrity: true) - assert_dom_equal %(), + assert_dom_equal %(), @view.stylesheet_link_tag(:foo, integrity: true) end diff --git a/test/test_railtie.rb b/test/test_railtie.rb index 8e964ee..8d9c3b4 100644 --- a/test/test_railtie.rb +++ b/test/test_railtie.rb @@ -187,7 +187,7 @@ class TestRailtie < TestBoot def test_default_check_precompiled_assets assert app.config.assets.check_precompiled_asset app.initialize! - @view = ActionView::Base.new + @view = action_view assert @view.check_precompiled_asset end @@ -196,7 +196,7 @@ class TestRailtie < TestBoot config.assets.check_precompiled_asset = false end app.initialize! - @view = ActionView::Base.new + @view = action_view refute @view.check_precompiled_asset end @@ -254,7 +254,7 @@ class TestRailtie < TestBoot assert_equal app.assets_manifest, ActionView::Base.assets_manifest assert_kind_of Sprockets::Environment, ActionView::Base.assets_environment - @view = ActionView::Base.new + @view = action_view assert_equal "/javascripts/xmlhr.js", @view.javascript_path("xmlhr") assert_equal "/assets/foo-4ef5541f349f7ed5a0d6b71f2fa4c82745ca106ae02f212aea5129726ac6f6ab.js", @view.javascript_path("foo") @@ -275,7 +275,7 @@ class TestRailtie < TestBoot refute ActionView::Base.assets_environment assert_equal app.assets_manifest, ActionView::Base.assets_manifest - @view = ActionView::Base.new + @view = action_view refute @view.assets_environment assert_equal app.assets_manifest, @view.assets_manifest end @@ -410,4 +410,9 @@ class TestRailtie < TestBoot assert middleware.include?(Sprockets::Rails::QuietAssets) assert middleware.each_cons(2).include?([Sprockets::Rails::QuietAssets, Rails::Rack::Logger]) end + + private + def action_view + ActionView::Base.new(ActionView::LookupContext.new([]), {}, nil) + end end -- 2.33.0