middleman-core 4.0.0 → 4.1.0.rc.1
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/features/asset_hash.feature +63 -0
- data/features/asset_host.feature +14 -0
- data/features/cache_buster.feature +15 -1
- data/features/clean_build.feature +16 -0
- data/features/cli/preview_server.feature +6 -4
- data/features/cli_extension.feature +1 -1
- data/features/directory_index.feature +3 -1
- data/features/encoding_option.feature +28 -0
- data/features/i18n_mixed_sources.feature +39 -0
- data/features/ignore.feature +33 -4
- data/features/relative_assets.feature +14 -0
- data/features/support/env.rb +1 -1
- data/fixtures/asset-hash-app/source/index.html.erb +3 -0
- data/fixtures/asset-hash-app/source/layout.erb +3 -3
- data/fixtures/asset-hash-app/source/other.html.erb +3 -0
- data/fixtures/asset-hash-app/source/stylesheets/fragment.css.scss +7 -0
- data/fixtures/asset-hash-host-app/source/index.html.erb +3 -0
- data/fixtures/asset-hash-host-app/source/layout.erb +3 -3
- data/fixtures/asset-hash-host-app/source/other.html.erb +3 -0
- data/fixtures/asset-hash-host-app/source/stylesheets/fragment.css.scss +3 -0
- data/fixtures/i-8859-1-app/config.rb +1 -0
- data/fixtures/i-8859-1-app/source/index.html.erb +1 -0
- data/fixtures/i18n-mixed-sources/config.rb +1 -0
- data/fixtures/i18n-mixed-sources/locales/en.yml +4 -0
- data/fixtures/i18n-mixed-sources/locales/es.yml +4 -0
- data/fixtures/i18n-mixed-sources/source/a/sub.html.erb +9 -0
- data/fixtures/i18n-mixed-sources/source/b/index.html.erb +9 -0
- data/fixtures/i18n-mixed-sources/source/index.html.erb +9 -0
- data/fixtures/i18n-mixed-sources/source/localizable/a/index.html.erb +9 -0
- data/fixtures/i18n-mixed-sources/source/localizable/b/sub.html.erb +9 -0
- data/fixtures/i18n-mixed-sources/source/localizable/index.html.erb +9 -0
- data/fixtures/import-app/config.rb +1 -1
- data/fixtures/indexable-app/config.rb +1 -0
- data/fixtures/indexable-app/source/regex_leave_me_alone2.html +1 -0
- data/lib/middleman-core/application.rb +6 -5
- data/lib/middleman-core/builder.rb +7 -3
- data/lib/middleman-core/core_extensions/collections.rb +3 -1
- data/lib/middleman-core/core_extensions/collections/step_context.rb +6 -7
- data/lib/middleman-core/core_extensions/default_helpers.rb +2 -2
- data/lib/middleman-core/core_extensions/front_matter.rb +1 -0
- data/lib/middleman-core/core_extensions/i18n.rb +16 -9
- data/lib/middleman-core/core_extensions/routing.rb +1 -1
- data/lib/middleman-core/extension.rb +34 -0
- data/lib/middleman-core/extensions/asset_hash.rb +2 -0
- data/lib/middleman-core/extensions/asset_host.rb +2 -0
- data/lib/middleman-core/extensions/cache_buster.rb +2 -0
- data/lib/middleman-core/extensions/external_pipeline.rb +0 -2
- data/lib/middleman-core/extensions/gzip.rb +1 -1
- data/lib/middleman-core/extensions/relative_assets.rb +2 -0
- data/lib/middleman-core/load_paths.rb +1 -1
- data/lib/middleman-core/meta_pages/sitemap_resource.rb +1 -1
- data/lib/middleman-core/middleware/inline_url_rewriter.rb +10 -2
- data/lib/middleman-core/sitemap/extensions/ignores.rb +37 -39
- data/lib/middleman-core/sitemap/extensions/import.rb +24 -66
- data/lib/middleman-core/sitemap/extensions/move_file.rb +9 -38
- data/lib/middleman-core/sitemap/extensions/proxies.rb +20 -52
- data/lib/middleman-core/sitemap/extensions/traversal.rb +13 -1
- data/lib/middleman-core/sitemap/resource.rb +4 -9
- data/lib/middleman-core/sitemap/store.rb +10 -9
- data/lib/middleman-core/step_definitions/server_steps.rb +4 -0
- data/lib/middleman-core/util.rb +22 -24
- data/lib/middleman-core/version.rb +1 -1
- data/spec/middleman-core/util_spec.rb +10 -1
- metadata +34 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 404deb8049bbd24929ef1847e8cd92598db4e61e
|
4
|
+
data.tar.gz: 758e2ac1ab487d3671e66cf3ac01c9fd5cc80f58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 365df7410bf7945f84b566fc061b6b5aa60eada04c1bc2b28ccd1558ac90b04cd6132588212b601b7c89555d4b1bdcb5fb93bf9e7199cd140a3516338db72c52
|
7
|
+
data.tar.gz: 56a33ca43a78ca4e2078b77fd57c78c25c2d5badfbfb2c75a764e504d7c3150e51cff954852299d71d3cfc2255763c9feec535320a6e0e31f54bc3e5826cf1d5
|
data/features/asset_hash.feature
CHANGED
@@ -64,9 +64,13 @@ Feature: Assets get file hashes appended to them and references to them are upda
|
|
64
64
|
When I go to "/"
|
65
65
|
Then I should see 'href="apple-touch-icon.png"'
|
66
66
|
And I should see 'href="stylesheets/site-d2959d87.css"'
|
67
|
+
And I should see 'href="stylesheets/fragment-a06f0dfc.css"'
|
67
68
|
And I should see 'src="javascripts/application-1d8d5276.js"'
|
68
69
|
And I should see 'src="images/100px-5fd6fb90.jpg"'
|
69
70
|
And I should see 'srcset="images/100px-5fd6fb90.jpg 1x, images/200px-c11eb203.jpg 2x, images/300px-59adce76.jpg 3x"'
|
71
|
+
And I should see 'src="images/100px-5fd6fb90.jpg?test"'
|
72
|
+
And I should see 'src="images/100px-5fd6fb90.jpg?#test"'
|
73
|
+
And I should see 'src="images/100px-5fd6fb90.jpg#test"'
|
70
74
|
When I go to "/subdir/"
|
71
75
|
Then I should see 'href="../stylesheets/site-d2959d87.css"'
|
72
76
|
And I should see 'src="../javascripts/application-1d8d5276.js"'
|
@@ -75,6 +79,9 @@ Feature: Assets get file hashes appended to them and references to them are upda
|
|
75
79
|
Then I should see 'href="../stylesheets/site-d2959d87.css"'
|
76
80
|
And I should see 'src="../javascripts/application-1d8d5276.js"'
|
77
81
|
And I should see 'src="../images/100px-5fd6fb90.jpg"'
|
82
|
+
And I should see 'src="../images/100px-5fd6fb90.jpg?test"'
|
83
|
+
And I should see 'src="../images/100px-5fd6fb90.jpg?#test"'
|
84
|
+
And I should see 'src="../images/100px-5fd6fb90.jpg#test"'
|
78
85
|
When I go to "/javascripts/application-1d8d5276.js"
|
79
86
|
Then I should see "img.src = '/images/100px-5fd6fb90.jpg'"
|
80
87
|
When I go to "/stylesheets/site-d2959d87.css"
|
@@ -87,6 +94,11 @@ Feature: Assets get file hashes appended to them and references to them are upda
|
|
87
94
|
Then I should see 'images/100px-5fd6fb90.gif'
|
88
95
|
And I should see 'images/100px-5fd6fb90.jpg'
|
89
96
|
And I should see 'images/100px-1242c368.png'
|
97
|
+
When I go to "/stylesheets/fragment-a06f0dfc.css"
|
98
|
+
And I should see 'url("../images/100px-5fd6fb90.jpg")'
|
99
|
+
And I should see 'url("../images/100px-5fd6fb90.jpg?test")'
|
100
|
+
And I should see 'url("../images/100px-5fd6fb90.jpg?#test")'
|
101
|
+
And I should see 'url("../images/100px-5fd6fb90.jpg#test")'
|
90
102
|
|
91
103
|
Scenario: Hashed assets work with Slim
|
92
104
|
Given the Server is running at "asset-hash-app"
|
@@ -99,13 +111,25 @@ Feature: Assets get file hashes appended to them and references to them are upda
|
|
99
111
|
Given the Server is running at "asset-hash-host-app"
|
100
112
|
When I go to "/"
|
101
113
|
Then I should see 'href="http://middlemanapp.com/stylesheets/site-e587b659.css"'
|
114
|
+
Then I should see 'href="http://middlemanapp.com/stylesheets/fragment-7af0b5ab.css"'
|
102
115
|
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg"'
|
116
|
+
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg?test"'
|
117
|
+
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg?#test"'
|
118
|
+
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg#test"'
|
103
119
|
When I go to "/subdir/"
|
104
120
|
Then I should see 'href="http://middlemanapp.com/stylesheets/site-e587b659.css"'
|
105
121
|
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg"'
|
106
122
|
When I go to "/other/"
|
107
123
|
Then I should see 'href="http://middlemanapp.com/stylesheets/site-e587b659.css"'
|
108
124
|
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg"'
|
125
|
+
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg?test"'
|
126
|
+
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg?#test"'
|
127
|
+
And I should see 'src="http://middlemanapp.com/images/100px-5fd6fb90.jpg#test"'
|
128
|
+
When I go to "/stylesheets/fragment-7af0b5ab.css"
|
129
|
+
And I should see 'url("http://middlemanapp.com/images/100px-5fd6fb90.jpg")'
|
130
|
+
And I should see 'url("http://middlemanapp.com/images/100px-5fd6fb90.jpg?test")'
|
131
|
+
And I should see 'url("http://middlemanapp.com/images/100px-5fd6fb90.jpg?#test")'
|
132
|
+
And I should see 'url("http://middlemanapp.com/images/100px-5fd6fb90.jpg#test")'
|
109
133
|
|
110
134
|
Scenario: The asset hash should change when a SASS partial changes
|
111
135
|
Given the Server is running at "asset-hash-app"
|
@@ -179,6 +203,45 @@ Feature: Assets get file hashes appended to them and references to them are upda
|
|
179
203
|
| javascripts/application-1d8d5276.js |
|
180
204
|
| stylesheets/site-7474cadd.css |
|
181
205
|
|
206
|
+
Scenario: Hashed-asset files are not replaced for rewrite ignored paths
|
207
|
+
Given a fixture app "asset-hash-app"
|
208
|
+
And a file named "config.rb" with:
|
209
|
+
"""
|
210
|
+
is_stylesheet = proc { |path| path.start_with? '/stylesheets' }
|
211
|
+
activate :asset_hash, rewrite_ignore: [
|
212
|
+
%r(javascripts/*),
|
213
|
+
'/subdir/*',
|
214
|
+
is_stylesheet
|
215
|
+
]
|
216
|
+
activate :relative_assets
|
217
|
+
activate :directory_indexes
|
218
|
+
"""
|
219
|
+
And a successfully built app at "asset-hash-app"
|
220
|
+
When I cd to "build"
|
221
|
+
Then the following files should exist:
|
222
|
+
| index.html |
|
223
|
+
| subdir/index.html |
|
224
|
+
| images/100px-5fd6fb90.jpg |
|
225
|
+
| javascripts/application-1d8d5276.js |
|
226
|
+
| stylesheets/site-8bc55985.css |
|
227
|
+
And the following files should not exist:
|
228
|
+
| images/100px.jpg |
|
229
|
+
| javascripts/application.js |
|
230
|
+
| stylesheets/site.css |
|
231
|
+
And the file "javascripts/application-1d8d5276.js" should contain "img.src = '/images/100px.jpg'"
|
232
|
+
And the file "stylesheets/site-8bc55985.css" should contain:
|
233
|
+
"""
|
234
|
+
background-image: url("../images/100px.jpg")
|
235
|
+
"""
|
236
|
+
And the file "index.html" should contain 'href="stylesheets/site-8bc55985.css"'
|
237
|
+
And the file "index.html" should contain 'src="javascripts/application-1d8d5276.js"'
|
238
|
+
And the file "index.html" should contain 'src="images/100px-5fd6fb90.jpg"'
|
239
|
+
And the file "subdir/index.html" should contain:
|
240
|
+
"""
|
241
|
+
<h2>Image url3:</h2>
|
242
|
+
<p><img src="../images/100px.jpg"></p>
|
243
|
+
"""
|
244
|
+
|
182
245
|
Scenario: Already minified files should still be hashed
|
183
246
|
Given a successfully built app at "asset-hash-minified-app"
|
184
247
|
When I cd to "build"
|
data/features/asset_host.feature
CHANGED
@@ -35,3 +35,17 @@ Feature: Alternate between multiple asset hosts
|
|
35
35
|
When I go to "/stylesheets/asset_host.css"
|
36
36
|
Then I should see content matching %r{http://assets1.example.com/}
|
37
37
|
Then I should not see content matching %r{http://assets1.example.com//}
|
38
|
+
|
39
|
+
Scenario: Hosts are not rewritten for rewrite ignored paths
|
40
|
+
Given a fixture app "asset-host-app"
|
41
|
+
And a file named "config.rb" with:
|
42
|
+
"""
|
43
|
+
activate :asset_host, host: "http://assets1.example.com", rewrite_ignore: [
|
44
|
+
'/stylesheets/asset_host.css',
|
45
|
+
]
|
46
|
+
"""
|
47
|
+
And the Server is running
|
48
|
+
When I go to "/asset_host.html"
|
49
|
+
Then I should see content matching %r{http://assets1.example.com/}
|
50
|
+
When I go to "/stylesheets/asset_host.css"
|
51
|
+
Then I should not see content matching %r{http://assets1.example.com/}
|
@@ -39,4 +39,18 @@ Feature: Generate mtime-based query string for busting browser caches
|
|
39
39
|
And the Server is running at "cache-buster-app"
|
40
40
|
When I go to "/cache-buster.html"
|
41
41
|
Then I should see "site.css?"
|
42
|
-
Then I should see "blank.gif?"
|
42
|
+
Then I should see "blank.gif?"
|
43
|
+
|
44
|
+
Scenario: URLs are not rewritten for rewrite ignored paths
|
45
|
+
Given a fixture app "cache-buster-app"
|
46
|
+
And a file named "config.rb" with:
|
47
|
+
"""
|
48
|
+
activate :cache_buster, rewrite_ignore: [
|
49
|
+
'/cache-buster.html',
|
50
|
+
]
|
51
|
+
"""
|
52
|
+
And the Server is running at "cache-buster-app"
|
53
|
+
When I go to "/cache-buster.html"
|
54
|
+
Then I should see 'site.css"'
|
55
|
+
Then I should see 'empty-with-include.js"'
|
56
|
+
Then I should see 'blank.gif"'
|
@@ -16,6 +16,22 @@ Feature: Build Clean
|
|
16
16
|
| build/should_be_ignored3.html |
|
17
17
|
And the file "build/index.html" should contain "Comment in layout"
|
18
18
|
|
19
|
+
Scenario: Clean build has a whitelist
|
20
|
+
Given a fixture app "clean-app"
|
21
|
+
When a file named "build/.test" with:
|
22
|
+
"""
|
23
|
+
Hello
|
24
|
+
"""
|
25
|
+
When a file named "config.rb" with:
|
26
|
+
"""
|
27
|
+
set :skip_build_clean do |path|
|
28
|
+
path =~ /\.test/
|
29
|
+
end
|
30
|
+
"""
|
31
|
+
Given a built app at "clean-app"
|
32
|
+
Then the following files should exist:
|
33
|
+
| build/.test |
|
34
|
+
|
19
35
|
Scenario: Clean build an app with newly ignored files and a nested output directory
|
20
36
|
Given a fixture app "clean-nested-app"
|
21
37
|
When a file named "config.rb" with:
|
@@ -42,7 +42,7 @@ Feature: Run the preview server
|
|
42
42
|
Inspect your site configuration at "http://
|
43
43
|
"""
|
44
44
|
|
45
|
-
@
|
45
|
+
@wip
|
46
46
|
Scenario: Start the server with defaults in verbose mode, when a local mdns server resolves the local hostname
|
47
47
|
Given I start a mdns server for the local hostname
|
48
48
|
When I run `middleman server --verbose` interactively
|
@@ -115,6 +115,7 @@ Feature: Run the preview server
|
|
115
115
|
Inspect your site configuration at "http://127.0.0.1:4567/__middleman"
|
116
116
|
"""
|
117
117
|
|
118
|
+
@wip
|
118
119
|
Scenario: Start the server with bind address 127.0.0.5
|
119
120
|
|
120
121
|
This will have no hostname attached because the hosts file, the DNS server
|
@@ -359,7 +360,6 @@ Feature: Run the preview server
|
|
359
360
|
The Middleman preview server is bound to ":::65432", "0.0.0.0:65432"
|
360
361
|
"""
|
361
362
|
|
362
|
-
@ruby-2.1
|
363
363
|
@wip
|
364
364
|
Scenario: Start the server when port is blocked by other middleman instance
|
365
365
|
Given `middleman server` is running in background
|
@@ -469,7 +469,8 @@ Feature: Run the preview server
|
|
469
469
|
Inspect your site configuration at "http://www.example.com:4567/__middleman", "http://127.0.0.1:4567/__middleman"
|
470
470
|
"""
|
471
471
|
|
472
|
-
|
472
|
+
@ruby-2.1
|
473
|
+
@wip
|
473
474
|
Scenario: Start the server with server name "host.local" and the link local name server is used to resolve the server name
|
474
475
|
|
475
476
|
To make the mdns resolver resolve a name, it needs to end with ".local".
|
@@ -501,7 +502,8 @@ Feature: Run the preview server
|
|
501
502
|
Inspect your site configuration at "http://host.local:4567/__middleman", "http://127.0.0.1:4567/__middleman"
|
502
503
|
"""
|
503
504
|
|
504
|
-
|
505
|
+
@ruby-2.1
|
506
|
+
@wip
|
505
507
|
Scenario: Start the server with server name "host" and the link local name server is used to resolve the server name
|
506
508
|
|
507
509
|
To make the mdns resolver resolve a name, it needs to end with ".local". If
|
@@ -9,6 +9,7 @@ Feature: Directory Index
|
|
9
9
|
| a_folder/needs_index/index.html |
|
10
10
|
| leave_me_alone.html |
|
11
11
|
| wildcard_leave_me_alone.html |
|
12
|
+
| regex_leave_me_alone2.html |
|
12
13
|
| evil spaces/index.html |
|
13
14
|
| regular/index.html |
|
14
15
|
| .htaccess |
|
@@ -21,12 +22,13 @@ Feature: Directory Index
|
|
21
22
|
| a_folder/needs_index.html |
|
22
23
|
| leave_me_alone/index.html |
|
23
24
|
| wildcard_leave_me_alone/index.html |
|
25
|
+
| regex_leave_me_alone2/index.html |
|
24
26
|
And the file "needs_index/index.html" should contain "Indexable"
|
25
27
|
And the file "a_folder/needs_index/index.html" should contain "Indexable"
|
26
28
|
And the file "leave_me_alone.html" should contain "Stay away"
|
27
29
|
And the file "regular/index.html" should contain "Regular"
|
28
30
|
And the file "evil spaces/index.html" should contain "Filled with Evil Spaces"
|
29
|
-
|
31
|
+
|
30
32
|
Scenario: Preview normal file
|
31
33
|
Given the Server is running at "indexable-app"
|
32
34
|
When I go to "/needs_index/"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: iso-8859-1
|
2
|
+
Feature: encoding option
|
3
|
+
|
4
|
+
Scenario: No encoding set
|
5
|
+
Given a fixture app "clean-app"
|
6
|
+
Given the Server is running at "clean-app"
|
7
|
+
|
8
|
+
When I go to "/index.html"
|
9
|
+
Then the "Content-Type" header should contain "text/html"
|
10
|
+
Then the "Content-Type" header should contain "charset=utf-8"
|
11
|
+
|
12
|
+
@wip
|
13
|
+
Scenario: Custom encoding set
|
14
|
+
Given a fixture app "i-8859-1-app"
|
15
|
+
And a file named "config.rb" with:
|
16
|
+
"""
|
17
|
+
set :encoding, "ISO-8859-1"
|
18
|
+
|
19
|
+
::Rack::Mime::MIME_TYPES['.html'] = 'text/html; charset=iso-8859-1'
|
20
|
+
::Rack::Mime::MIME_TYPES['.htm'] = 'text/html; charset=iso-8859-1'
|
21
|
+
::Rack::Mime::MIME_TYPES['.map'] = 'application/json; charset=iso-8859-1'
|
22
|
+
"""
|
23
|
+
Given the Server is running at "i-8859-1-app"
|
24
|
+
|
25
|
+
When I go to "/index.html"
|
26
|
+
Then the "Content-Type" header should contain "text/html"
|
27
|
+
Then the "Content-Type" header should contain "charset=iso-8859-1"
|
28
|
+
Then I should see "äöü"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
Feature: i18n merging path trees
|
2
|
+
|
3
|
+
Scenario: Mixing localized and non-localized sources and merging the path trees (see issue #1709)
|
4
|
+
Given a fixture app "i18n-test-app"
|
5
|
+
And a file named "config.rb" with:
|
6
|
+
"""
|
7
|
+
activate :i18n, mount_at_root: :en, langs: [:en, :es]
|
8
|
+
"""
|
9
|
+
Given the Server is running at "i18n-mixed-sources"
|
10
|
+
|
11
|
+
When I go to "/"
|
12
|
+
Then I should see "Current locale: en"
|
13
|
+
Then I should see "path: is-localized Home"
|
14
|
+
When I go to "/es"
|
15
|
+
Then I should see "Current locale: es"
|
16
|
+
Then I should see "path: is-localized Home"
|
17
|
+
|
18
|
+
When I go to "/a/"
|
19
|
+
Then I should see "Current locale: en"
|
20
|
+
Then I should see "path: is-localized Home # a/index.html.erb"
|
21
|
+
When I go to "/es/a/"
|
22
|
+
Then I should see "Current locale: es"
|
23
|
+
Then I should see "path: is-localized Home # a/index.html.erb"
|
24
|
+
|
25
|
+
When I go to "/b/"
|
26
|
+
Then I should see "Current locale: en"
|
27
|
+
Then I should see "path: is-localized Home # b/index.html.erb"
|
28
|
+
|
29
|
+
When I go to "/a/sub.html"
|
30
|
+
Then I should see "Current locale: en"
|
31
|
+
Then I should see "path: is-localized Home # a/index.html.erb # a/sub.html.erb"
|
32
|
+
|
33
|
+
When I go to "/b/sub.html"
|
34
|
+
Then I should see "Current locale: en"
|
35
|
+
Then I should see "path: is-localized Home # b/index.html.erb # b/sub.html.erb"
|
36
|
+
|
37
|
+
When I go to "/es/b/sub.html"
|
38
|
+
Then I should see "Current locale: es"
|
39
|
+
Then I should see "path: is-localized Home # b/index.html.erb # b/sub.html.erb"
|
data/features/ignore.feature
CHANGED
@@ -12,7 +12,7 @@ Feature: Ignoring paths
|
|
12
12
|
And the following files should not exist:
|
13
13
|
| build/plain.html |
|
14
14
|
| build/about.html |
|
15
|
-
|
15
|
+
|
16
16
|
Scenario: Ignore a single path (server)
|
17
17
|
Given a fixture app "ignore-app"
|
18
18
|
And a file named "config.rb" with:
|
@@ -28,6 +28,35 @@ Feature: Ignoring paths
|
|
28
28
|
When I go to "/about.html"
|
29
29
|
Then I should see "File Not Found"
|
30
30
|
|
31
|
+
Scenario: Ignoring collected values
|
32
|
+
Given a fixture app "ignore-app"
|
33
|
+
And a file named "data/ignores.yaml" with:
|
34
|
+
"""
|
35
|
+
---
|
36
|
+
- "plain"
|
37
|
+
"""
|
38
|
+
And a file named "config.rb" with:
|
39
|
+
"""
|
40
|
+
data.ignores.each do |name|
|
41
|
+
ignore "#{name}.html"
|
42
|
+
end
|
43
|
+
"""
|
44
|
+
And the Server is running
|
45
|
+
When I go to "/plain.html"
|
46
|
+
Then I should see "File Not Found"
|
47
|
+
When I go to "/about.html"
|
48
|
+
Then I should not see "File Not Found"
|
49
|
+
|
50
|
+
When the file "data/ignores.yaml" has the contents
|
51
|
+
"""
|
52
|
+
---
|
53
|
+
- "about"
|
54
|
+
"""
|
55
|
+
When I go to "/plain.html"
|
56
|
+
Then I should not see "File Not Found"
|
57
|
+
When I go to "/about.html"
|
58
|
+
Then I should see "File Not Found"
|
59
|
+
|
31
60
|
Scenario: Ignore a globbed path (build)
|
32
61
|
Given a fixture app "ignore-app"
|
33
62
|
And a file named "config.rb" with:
|
@@ -47,7 +76,7 @@ Feature: Ignoring paths
|
|
47
76
|
| build/reports/index.html |
|
48
77
|
| build/reports/another.html |
|
49
78
|
| build/images/icons/messages.png |
|
50
|
-
|
79
|
+
|
51
80
|
Scenario: Ignore a globbed path (server)
|
52
81
|
Given a fixture app "ignore-app"
|
53
82
|
And a file named "config.rb" with:
|
@@ -93,7 +122,7 @@ Feature: Ignoring paths
|
|
93
122
|
| build/reports/index.html |
|
94
123
|
| build/reports/another.html |
|
95
124
|
| build/images/icons/messages.png |
|
96
|
-
|
125
|
+
|
97
126
|
Scenario: Ignore a regex (server)
|
98
127
|
Given a fixture app "ignore-app"
|
99
128
|
And a file named "config.rb" with:
|
@@ -118,4 +147,4 @@ Feature: Ignoring paths
|
|
118
147
|
When I go to "/reports/another.html"
|
119
148
|
Then I should see "File Not Found"
|
120
149
|
When I go to "/images/icons/messages.png"
|
121
|
-
Then I should see "File Not Found"
|
150
|
+
Then I should see "File Not Found"
|
@@ -132,3 +132,17 @@ Feature: Relative Assets
|
|
132
132
|
And the Server is running at "relative-assets-app"
|
133
133
|
When I go to "/sub/image_tag.html"
|
134
134
|
Then I should see '<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" />'
|
135
|
+
|
136
|
+
Scenario: URLs are not rewritten for rewrite ignored paths
|
137
|
+
Given a fixture app "relative-assets-app"
|
138
|
+
And a file named "config.rb" with:
|
139
|
+
"""
|
140
|
+
activate :relative_assets, rewrite_ignore: [
|
141
|
+
'/stylesheets/fonts.css',
|
142
|
+
]
|
143
|
+
"""
|
144
|
+
And the Server is running at "relative-assets-app"
|
145
|
+
When I go to "/stylesheets/relative_assets.css"
|
146
|
+
Then I should see 'url("../images/blank.gif'
|
147
|
+
When I go to "/stylesheets/fonts.css"
|
148
|
+
Then I should see 'url(/fonts/roboto/roboto-regular-webfont.eot'
|
data/features/support/env.rb
CHANGED
@@ -4,6 +4,9 @@
|
|
4
4
|
|
5
5
|
<h2>Image url:</h2>
|
6
6
|
<img src="<%= image_path('100px.jpg') %>" srcset="<%= image_path('100px.jpg') %> 1x, <%= image_path('200px.jpg') %> 2x, <%= image_path('300px.jpg') %> 3x">
|
7
|
+
<%= image_tag('100px.jpg?test') %>
|
8
|
+
<%= image_tag('100px.jpg?#test') %>
|
9
|
+
<%= image_tag('100px.jpg#test') %>
|
7
10
|
|
8
11
|
<h2>Ignored path:</h2>
|
9
12
|
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
@@ -3,16 +3,16 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8">
|
5
5
|
|
6
|
-
<%= stylesheet_link_tag "site" %>
|
6
|
+
<%= stylesheet_link_tag "site", "fragment" %>
|
7
7
|
<%= javascript_include_tag "application" %>
|
8
8
|
<%= yield_content :head %>
|
9
9
|
</head>
|
10
|
-
|
10
|
+
|
11
11
|
<body class="<%= page_classes %>">
|
12
12
|
|
13
13
|
<div id="main" role="main">
|
14
14
|
<%= yield %>
|
15
15
|
</div>
|
16
|
-
|
16
|
+
|
17
17
|
</body>
|
18
18
|
</html>
|