hanami 2.1.0.beta2 → 2.1.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +41 -9
- data/hanami.gemspec +1 -1
- data/lib/hanami/config/actions.rb +14 -0
- data/lib/hanami/extensions/action/slice_configured_action.rb +5 -5
- data/lib/hanami/extensions/action.rb +4 -4
- data/lib/hanami/extensions/view/context.rb +0 -11
- data/lib/hanami/extensions/view/part.rb +51 -2
- data/lib/hanami/extensions/view/slice_configured_part.rb +72 -0
- data/lib/hanami/extensions/view/slice_configured_view.rb +2 -2
- data/lib/hanami/helpers/assets_helper.rb +31 -43
- data/lib/hanami/routes.rb +33 -2
- data/lib/hanami/slice.rb +12 -2
- data/lib/hanami/slice_registrar.rb +48 -23
- data/lib/hanami/version.rb +1 -1
- data/lib/hanami/web/rack_logger.rb +70 -2
- data/lib/hanami/web/welcome.html.erb +203 -0
- data/lib/hanami/web/welcome.rb +46 -0
- data/spec/integration/assets/assets_spec.rb +14 -3
- data/spec/integration/logging/request_logging_spec.rb +65 -7
- data/spec/integration/rack_app/method_override_spec.rb +97 -0
- data/spec/integration/slices_spec.rb +275 -5
- data/spec/integration/view/context/assets_spec.rb +0 -8
- data/spec/integration/view/context/inflector_spec.rb +0 -8
- data/spec/integration/view/context/settings_spec.rb +0 -8
- data/spec/integration/view/helpers/part_helpers_spec.rb +2 -2
- data/spec/integration/view/helpers/user_defined_helpers/part_helpers_spec.rb +10 -10
- data/spec/integration/view/parts/default_rendering_spec.rb +138 -0
- data/spec/integration/web/welcome_view_spec.rb +84 -0
- data/spec/support/app_integration.rb +22 -4
- data/spec/unit/hanami/helpers/assets_helper/audio_tag_spec.rb +2 -2
- data/spec/unit/hanami/helpers/assets_helper/{favicon_link_tag_spec.rb → favicon_tag_spec.rb} +8 -12
- data/spec/unit/hanami/helpers/assets_helper/image_tag_spec.rb +1 -1
- data/spec/unit/hanami/helpers/assets_helper/javascript_tag_spec.rb +3 -3
- data/spec/unit/hanami/helpers/assets_helper/{stylesheet_link_tag_spec.rb → stylesheet_tag_spec.rb} +13 -13
- data/spec/unit/hanami/helpers/assets_helper/video_tag_spec.rb +5 -1
- data/spec/unit/hanami/version_spec.rb +1 -1
- metadata +15 -6
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require "rack/test"
|
5
|
+
|
6
|
+
RSpec.describe "Web / Welcome view", :app_integration do
|
7
|
+
include Rack::Test::Methods
|
8
|
+
|
9
|
+
let(:app) { Hanami.app }
|
10
|
+
|
11
|
+
before do
|
12
|
+
with_directory(@dir = make_tmp_directory) do
|
13
|
+
write "config/app.rb", <<~RUBY
|
14
|
+
require "hanami"
|
15
|
+
|
16
|
+
module TestApp
|
17
|
+
class App < Hanami::App
|
18
|
+
config.logger.stream = File::NULL
|
19
|
+
end
|
20
|
+
end
|
21
|
+
RUBY
|
22
|
+
|
23
|
+
write "config/routes.rb", <<~RUBY
|
24
|
+
module TestApp
|
25
|
+
class Routes < Hanami::Routes
|
26
|
+
end
|
27
|
+
end
|
28
|
+
RUBY
|
29
|
+
|
30
|
+
before_prepare if respond_to?(:before_prepare)
|
31
|
+
require "hanami/prepare"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context "no routes defined" do
|
36
|
+
it "renders the welcome page" do
|
37
|
+
get "/"
|
38
|
+
|
39
|
+
body = last_response.body.strip
|
40
|
+
expect(body).to include "<h1>Welcome to Hanami</h1>"
|
41
|
+
expect(body).to include "Hanami version: #{Hanami::VERSION}"
|
42
|
+
expect(body).to include "Ruby version: #{RUBY_DESCRIPTION}"
|
43
|
+
|
44
|
+
expect(last_response.status).to eq 200
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context "routes defined" do
|
49
|
+
def before_prepare
|
50
|
+
write "config/routes.rb", <<~RUBY
|
51
|
+
module TestApp
|
52
|
+
class Routes < Hanami::Routes
|
53
|
+
root to: -> * { [200, {}, "Hello from a route"] }
|
54
|
+
end
|
55
|
+
end
|
56
|
+
RUBY
|
57
|
+
end
|
58
|
+
|
59
|
+
it "does not render the welcome page" do
|
60
|
+
get "/"
|
61
|
+
|
62
|
+
expect(last_response.body).to eq "Hello from a route"
|
63
|
+
expect(last_response.status).to eq 200
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "non-development env" do
|
68
|
+
def before_prepare
|
69
|
+
@hanami_env = ENV["HANAMI_ENV"]
|
70
|
+
ENV["HANAMI_ENV"] = "production"
|
71
|
+
end
|
72
|
+
|
73
|
+
after do
|
74
|
+
ENV["HANAMI_ENV"] = @hanami_env
|
75
|
+
end
|
76
|
+
|
77
|
+
it "does not render the welcome page" do
|
78
|
+
get "/"
|
79
|
+
|
80
|
+
expect(last_response.body).to eq "Not Found"
|
81
|
+
expect(last_response.status).to eq 404
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -39,15 +39,14 @@ module RSpec
|
|
39
39
|
|
40
40
|
def compile_assets!
|
41
41
|
link_node_modules
|
42
|
+
generate_assets_config
|
42
43
|
|
43
44
|
require "hanami/cli/command"
|
44
45
|
require "hanami/cli/commands/app/command"
|
45
46
|
require "hanami/cli/commands/app/assets/compile"
|
46
|
-
|
47
|
+
assets_compile = Hanami::CLI::Commands::App::Assets::Compile.new(config: Hanami.app.config.assets)
|
47
48
|
|
48
|
-
with_directory(Hanami.app.root)
|
49
|
-
compiler.call
|
50
|
-
end
|
49
|
+
with_directory(Hanami.app.root) { assets_compile.call }
|
51
50
|
end
|
52
51
|
|
53
52
|
def link_node_modules
|
@@ -58,6 +57,25 @@ module RSpec
|
|
58
57
|
FileUtils.ln_s(node_modules_path, root)
|
59
58
|
rescue Errno::EEXIST # rubocop:disable Lint/SuppressedException
|
60
59
|
end
|
60
|
+
|
61
|
+
def generate_assets_config
|
62
|
+
root = Hanami.app.root
|
63
|
+
|
64
|
+
with_directory(root) do
|
65
|
+
write("config/assets.mjs", <<~JS) unless root.join("config", "assets.mjs").exist?
|
66
|
+
import * as assets from "hanami-assets";
|
67
|
+
await assets.run();
|
68
|
+
JS
|
69
|
+
|
70
|
+
write("package.json", <<~JSON) unless root.join("package.json").exist?
|
71
|
+
{
|
72
|
+
"scripts": {
|
73
|
+
"assets": "node config/assets.mjs"
|
74
|
+
}
|
75
|
+
}
|
76
|
+
JSON
|
77
|
+
end
|
78
|
+
end
|
61
79
|
end
|
62
80
|
end
|
63
81
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RSpec.describe Hanami::Helpers::AssetsHelper, "#
|
3
|
+
RSpec.describe Hanami::Helpers::AssetsHelper, "#audio", :app_integration do
|
4
4
|
subject(:obj) {
|
5
5
|
helpers = described_class
|
6
6
|
Class.new {
|
@@ -84,7 +84,7 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#audio_tag", :app_integration do
|
|
84
84
|
end
|
85
85
|
|
86
86
|
xit "renders with sources" do
|
87
|
-
actual =
|
87
|
+
actual = audio do
|
88
88
|
tag.text "Your browser does not support the audio tag"
|
89
89
|
tag.source src: subject.asset_url("song.ogg"), type: "audio/ogg"
|
90
90
|
tag.source src: subject.asset_url("song.wav"), type: "audio/wav"
|
data/spec/unit/hanami/helpers/assets_helper/{favicon_link_tag_spec.rb → favicon_tag_spec.rb}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RSpec.describe Hanami::Helpers::AssetsHelper, "#
|
3
|
+
RSpec.describe Hanami::Helpers::AssetsHelper, "#favicon", :app_integration do
|
4
4
|
subject(:obj) {
|
5
5
|
helpers = described_class
|
6
6
|
Class.new {
|
@@ -14,8 +14,8 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#favicon_link_tag", :app_integrat
|
|
14
14
|
}.new(context)
|
15
15
|
}
|
16
16
|
|
17
|
-
def
|
18
|
-
obj.instance_eval {
|
17
|
+
def favicon_tag(...)
|
18
|
+
obj.instance_eval { favicon_tag(...) }
|
19
19
|
end
|
20
20
|
|
21
21
|
let(:root) { make_tmp_directory }
|
@@ -53,26 +53,22 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#favicon_link_tag", :app_integrat
|
|
53
53
|
end
|
54
54
|
|
55
55
|
it "returns an instance of SafeString" do
|
56
|
-
actual =
|
56
|
+
actual = favicon_tag
|
57
57
|
expect(actual).to be_instance_of(::Hanami::View::HTML::SafeString)
|
58
58
|
end
|
59
59
|
|
60
|
-
it "is aliased as `favicon`" do
|
61
|
-
expect(subject.favicon).to eq favicon_link_tag
|
62
|
-
end
|
63
|
-
|
64
60
|
it "renders <link> tag" do
|
65
|
-
actual =
|
61
|
+
actual = favicon_tag.to_s
|
66
62
|
expect(actual).to eq(%(<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">))
|
67
63
|
end
|
68
64
|
|
69
65
|
it "renders with HTML attributes" do
|
70
|
-
actual =
|
66
|
+
actual = favicon_tag("favicon.png", rel: "icon", type: "image/png").to_s
|
71
67
|
expect(actual).to eq(%(<link href="/assets/favicon.png" rel="icon" type="image/png">))
|
72
68
|
end
|
73
69
|
|
74
70
|
it "ignores href passed as an option" do
|
75
|
-
actual =
|
71
|
+
actual = favicon_tag("favicon.png", href: "wrong").to_s
|
76
72
|
expect(actual).to eq(%(<link href="/assets/favicon.png" rel="shortcut icon" type="image/x-icon">))
|
77
73
|
end
|
78
74
|
|
@@ -84,7 +80,7 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#favicon_link_tag", :app_integrat
|
|
84
80
|
end
|
85
81
|
|
86
82
|
it "returns absolute url for href attribute" do
|
87
|
-
actual =
|
83
|
+
actual = favicon_tag.to_s
|
88
84
|
expect(actual).to eq(%(<link href="#{base_url}/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">))
|
89
85
|
end
|
90
86
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RSpec.describe Hanami::Helpers::AssetsHelper, "#
|
3
|
+
RSpec.describe Hanami::Helpers::AssetsHelper, "#javascript", :app_integration do
|
4
4
|
subject(:obj) {
|
5
5
|
helpers = described_class
|
6
6
|
Class.new {
|
@@ -69,8 +69,8 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#javascript_tag", :app_integratio
|
|
69
69
|
expect(actual).to be_instance_of(::Hanami::View::HTML::SafeString)
|
70
70
|
end
|
71
71
|
|
72
|
-
it "is aliased as
|
73
|
-
expect(subject.
|
72
|
+
it "is aliased as #javascript_tag" do
|
73
|
+
expect(subject.javascript_tag("feature-a")).to eq javascript_tag("feature-a")
|
74
74
|
end
|
75
75
|
|
76
76
|
it "renders <script> tag" do
|
data/spec/unit/hanami/helpers/assets_helper/{stylesheet_link_tag_spec.rb → stylesheet_tag_spec.rb}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RSpec.describe Hanami::Helpers::AssetsHelper, "#
|
3
|
+
RSpec.describe Hanami::Helpers::AssetsHelper, "#stylesheet", :app_integration do
|
4
4
|
subject(:obj) {
|
5
5
|
helpers = described_class
|
6
6
|
Class.new {
|
@@ -14,8 +14,8 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#stylesheet_link_tag", :app_integ
|
|
14
14
|
}.new(context)
|
15
15
|
}
|
16
16
|
|
17
|
-
def
|
18
|
-
subject.
|
17
|
+
def stylesheet_tag(...)
|
18
|
+
subject.stylesheet_tag(...)
|
19
19
|
end
|
20
20
|
|
21
21
|
let(:context) { TestApp::Views::Context.new }
|
@@ -65,36 +65,36 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#stylesheet_link_tag", :app_integ
|
|
65
65
|
end
|
66
66
|
|
67
67
|
it "returns an instance of SafeString" do
|
68
|
-
actual =
|
68
|
+
actual = stylesheet_tag("main")
|
69
69
|
expect(actual).to be_instance_of(::Hanami::View::HTML::SafeString)
|
70
70
|
end
|
71
71
|
|
72
|
-
it "is aliased as
|
73
|
-
expect(subject.
|
72
|
+
it "is aliased as #stylesheet_tag" do
|
73
|
+
expect(subject.stylesheet_tag("main")).to eq stylesheet_tag("main")
|
74
74
|
end
|
75
75
|
|
76
76
|
it "renders <link> tag" do
|
77
|
-
actual =
|
77
|
+
actual = stylesheet_tag("main")
|
78
78
|
expect(actual).to eq(%(<link href="/assets/main.css" type="text/css" rel="stylesheet">))
|
79
79
|
end
|
80
80
|
|
81
81
|
xit "renders <link> tag without appending ext after query string" do
|
82
|
-
actual =
|
82
|
+
actual = stylesheet_tag("fonts?font=Helvetica")
|
83
83
|
expect(actual).to eq(%(<link href="/assets/fonts?font=Helvetica" type="text/css" rel="stylesheet">))
|
84
84
|
end
|
85
85
|
|
86
86
|
it "renders <link> tag with an integrity attribute" do
|
87
|
-
actual =
|
87
|
+
actual = stylesheet_tag("main", integrity: "sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC")
|
88
88
|
expect(actual).to eq(%(<link href="/assets/main.css" type="text/css" rel="stylesheet" integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC" crossorigin="anonymous">))
|
89
89
|
end
|
90
90
|
|
91
91
|
it "renders <link> tag with a crossorigin attribute" do
|
92
|
-
actual =
|
92
|
+
actual = stylesheet_tag("main", integrity: "sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC", crossorigin: "use-credentials")
|
93
93
|
expect(actual).to eq(%(<link href="/assets/main.css" type="text/css" rel="stylesheet" integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC" crossorigin="use-credentials">))
|
94
94
|
end
|
95
95
|
|
96
96
|
it "ignores href passed as an option" do
|
97
|
-
actual =
|
97
|
+
actual = stylesheet_tag("main", href: "wrong")
|
98
98
|
expect(actual).to eq(%(<link href="/assets/main.css" type="text/css" rel="stylesheet">))
|
99
99
|
end
|
100
100
|
|
@@ -106,7 +106,7 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#stylesheet_link_tag", :app_integ
|
|
106
106
|
before { compile_assets! }
|
107
107
|
|
108
108
|
it "includes subresource_integrity and crossorigin attributes" do
|
109
|
-
actual =
|
109
|
+
actual = stylesheet_tag("app")
|
110
110
|
expect(actual).to match(%r{<link href="/assets/app-[A-Z0-9]{8}.css" type="text/css" rel="stylesheet" integrity="sha384-[A-Za-z0-9+/]{64}" crossorigin="anonymous">})
|
111
111
|
end
|
112
112
|
end
|
@@ -119,7 +119,7 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#stylesheet_link_tag", :app_integ
|
|
119
119
|
end
|
120
120
|
|
121
121
|
it "returns absolute url for href attribute" do
|
122
|
-
actual =
|
122
|
+
actual = stylesheet_tag("main")
|
123
123
|
expect(actual).to eq(%(<link href="#{base_url}/assets/main.css" type="text/css" rel="stylesheet">))
|
124
124
|
end
|
125
125
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
RSpec.describe Hanami::Helpers::AssetsHelper, "#
|
3
|
+
RSpec.describe Hanami::Helpers::AssetsHelper, "#video", :app_integration do
|
4
4
|
subject(:obj) {
|
5
5
|
helpers = described_class
|
6
6
|
Class.new {
|
@@ -62,6 +62,10 @@ RSpec.describe Hanami::Helpers::AssetsHelper, "#video_tag", :app_integration do
|
|
62
62
|
expect(actual).to eq(%(<video src="/assets/movie.mp4"></video>))
|
63
63
|
end
|
64
64
|
|
65
|
+
it "is aliased as #video_tag" do
|
66
|
+
expect(video_tag("movie.mp4")).to eq(subject.video_tag("movie.mp4"))
|
67
|
+
end
|
68
|
+
|
65
69
|
it "renders with html attributes" do
|
66
70
|
actual = video_tag("movie.mp4", autoplay: true, controls: true).to_s
|
67
71
|
expect(actual).to eq(%(<video autoplay="autoplay" controls="controls" src="/assets/movie.mp4"></video>))
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hanami
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.0.
|
4
|
+
version: 2.1.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Guidi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -279,6 +279,7 @@ files:
|
|
279
279
|
- lib/hanami/extensions/view/scope.rb
|
280
280
|
- lib/hanami/extensions/view/slice_configured_context.rb
|
281
281
|
- lib/hanami/extensions/view/slice_configured_helpers.rb
|
282
|
+
- lib/hanami/extensions/view/slice_configured_part.rb
|
282
283
|
- lib/hanami/extensions/view/slice_configured_view.rb
|
283
284
|
- lib/hanami/extensions/view/standard_helpers.rb
|
284
285
|
- lib/hanami/helpers/assets_helper.rb
|
@@ -311,6 +312,8 @@ files:
|
|
311
312
|
- lib/hanami/slice_registrar.rb
|
312
313
|
- lib/hanami/version.rb
|
313
314
|
- lib/hanami/web/rack_logger.rb
|
315
|
+
- lib/hanami/web/welcome.html.erb
|
316
|
+
- lib/hanami/web/welcome.rb
|
314
317
|
- spec/integration/action/cookies_spec.rb
|
315
318
|
- spec/integration/action/csrf_protection_spec.rb
|
316
319
|
- spec/integration/action/format_config_spec.rb
|
@@ -341,6 +344,7 @@ files:
|
|
341
344
|
- spec/integration/logging/notifications_spec.rb
|
342
345
|
- spec/integration/logging/request_logging_spec.rb
|
343
346
|
- spec/integration/rack_app/body_parser_spec.rb
|
347
|
+
- spec/integration/rack_app/method_override_spec.rb
|
344
348
|
- spec/integration/rack_app/middleware_spec.rb
|
345
349
|
- spec/integration/rack_app/non_booted_rack_app_spec.rb
|
346
350
|
- spec/integration/rack_app/rack_app_spec.rb
|
@@ -376,10 +380,12 @@ files:
|
|
376
380
|
- spec/integration/view/helpers/scope_helpers_spec.rb
|
377
381
|
- spec/integration/view/helpers/user_defined_helpers/part_helpers_spec.rb
|
378
382
|
- spec/integration/view/helpers/user_defined_helpers/scope_helpers_spec.rb
|
383
|
+
- spec/integration/view/parts/default_rendering_spec.rb
|
379
384
|
- spec/integration/view/slice_configuration_spec.rb
|
380
385
|
- spec/integration/view/views_spec.rb
|
381
386
|
- spec/integration/web/render_detailed_errors_spec.rb
|
382
387
|
- spec/integration/web/render_errors_spec.rb
|
388
|
+
- spec/integration/web/welcome_view_spec.rb
|
383
389
|
- spec/spec_helper.rb
|
384
390
|
- spec/support/app_integration.rb
|
385
391
|
- spec/support/coverage.rb
|
@@ -407,10 +413,10 @@ files:
|
|
407
413
|
- spec/unit/hanami/extensions/view/context_spec.rb
|
408
414
|
- spec/unit/hanami/helpers/assets_helper/asset_url_spec.rb
|
409
415
|
- spec/unit/hanami/helpers/assets_helper/audio_tag_spec.rb
|
410
|
-
- spec/unit/hanami/helpers/assets_helper/
|
416
|
+
- spec/unit/hanami/helpers/assets_helper/favicon_tag_spec.rb
|
411
417
|
- spec/unit/hanami/helpers/assets_helper/image_tag_spec.rb
|
412
418
|
- spec/unit/hanami/helpers/assets_helper/javascript_tag_spec.rb
|
413
|
-
- spec/unit/hanami/helpers/assets_helper/
|
419
|
+
- spec/unit/hanami/helpers/assets_helper/stylesheet_tag_spec.rb
|
414
420
|
- spec/unit/hanami/helpers/assets_helper/video_tag_spec.rb
|
415
421
|
- spec/unit/hanami/helpers/form_helper_spec.rb
|
416
422
|
- spec/unit/hanami/port_spec.rb
|
@@ -479,6 +485,7 @@ test_files:
|
|
479
485
|
- spec/integration/logging/notifications_spec.rb
|
480
486
|
- spec/integration/logging/request_logging_spec.rb
|
481
487
|
- spec/integration/rack_app/body_parser_spec.rb
|
488
|
+
- spec/integration/rack_app/method_override_spec.rb
|
482
489
|
- spec/integration/rack_app/middleware_spec.rb
|
483
490
|
- spec/integration/rack_app/non_booted_rack_app_spec.rb
|
484
491
|
- spec/integration/rack_app/rack_app_spec.rb
|
@@ -514,10 +521,12 @@ test_files:
|
|
514
521
|
- spec/integration/view/helpers/scope_helpers_spec.rb
|
515
522
|
- spec/integration/view/helpers/user_defined_helpers/part_helpers_spec.rb
|
516
523
|
- spec/integration/view/helpers/user_defined_helpers/scope_helpers_spec.rb
|
524
|
+
- spec/integration/view/parts/default_rendering_spec.rb
|
517
525
|
- spec/integration/view/slice_configuration_spec.rb
|
518
526
|
- spec/integration/view/views_spec.rb
|
519
527
|
- spec/integration/web/render_detailed_errors_spec.rb
|
520
528
|
- spec/integration/web/render_errors_spec.rb
|
529
|
+
- spec/integration/web/welcome_view_spec.rb
|
521
530
|
- spec/spec_helper.rb
|
522
531
|
- spec/support/app_integration.rb
|
523
532
|
- spec/support/coverage.rb
|
@@ -545,10 +554,10 @@ test_files:
|
|
545
554
|
- spec/unit/hanami/extensions/view/context_spec.rb
|
546
555
|
- spec/unit/hanami/helpers/assets_helper/asset_url_spec.rb
|
547
556
|
- spec/unit/hanami/helpers/assets_helper/audio_tag_spec.rb
|
548
|
-
- spec/unit/hanami/helpers/assets_helper/
|
557
|
+
- spec/unit/hanami/helpers/assets_helper/favicon_tag_spec.rb
|
549
558
|
- spec/unit/hanami/helpers/assets_helper/image_tag_spec.rb
|
550
559
|
- spec/unit/hanami/helpers/assets_helper/javascript_tag_spec.rb
|
551
|
-
- spec/unit/hanami/helpers/assets_helper/
|
560
|
+
- spec/unit/hanami/helpers/assets_helper/stylesheet_tag_spec.rb
|
552
561
|
- spec/unit/hanami/helpers/assets_helper/video_tag_spec.rb
|
553
562
|
- spec/unit/hanami/helpers/form_helper_spec.rb
|
554
563
|
- spec/unit/hanami/port_spec.rb
|