Tests and a small bug fix to make them pass
This commit is contained in:
parent
3cbda0ee36
commit
0fa1bfe675
6 changed files with 44 additions and 1 deletions
40
middleman-core/features/strip_url.feature
Normal file
40
middleman-core/features/strip_url.feature
Normal file
|
@ -0,0 +1,40 @@
|
|||
Feature: Strip the index_file from urls
|
||||
|
||||
Scenario: Default behaviour, strip with trailing slash
|
||||
Given the Server is running at "strip-url-app"
|
||||
When I go to "/"
|
||||
Then I should see "URL: '/'"
|
||||
When I go to "/index.html"
|
||||
Then I should see "URL: '/'"
|
||||
When I go to "/other.html"
|
||||
Then I should see "URL: '/other.html'"
|
||||
When I go to "/subdir/index.html"
|
||||
Then I should see "URL: '/subdir/'"
|
||||
|
||||
Scenario: Trailing slash off
|
||||
Given a fixture app "strip-url-app"
|
||||
And a file named "config.rb" with:
|
||||
"""
|
||||
set :trailing_slash, false
|
||||
"""
|
||||
And the Server is running
|
||||
When I go to "/"
|
||||
Then I should see "URL: '/'"
|
||||
When I go to "/other.html"
|
||||
Then I should see "URL: '/other.html'"
|
||||
When I go to "/subdir/index.html"
|
||||
Then I should see "URL: '/subdir'"
|
||||
|
||||
Scenario: Strip index off
|
||||
Given a fixture app "strip-url-app"
|
||||
And a file named "config.rb" with:
|
||||
"""
|
||||
set :strip_index_file, false
|
||||
"""
|
||||
And the Server is running
|
||||
When I go to "/"
|
||||
Then I should see "URL: '/index.html'"
|
||||
When I go to "/other.html"
|
||||
Then I should see "URL: '/other.html'"
|
||||
When I go to "/subdir/index.html"
|
||||
Then I should see "URL: '/subdir/index.html'"
|
0
middleman-core/fixtures/strip-url-app/config.rb
Normal file
0
middleman-core/fixtures/strip-url-app/config.rb
Normal file
1
middleman-core/fixtures/strip-url-app/source/index.html.erb
Executable file
1
middleman-core/fixtures/strip-url-app/source/index.html.erb
Executable file
|
@ -0,0 +1 @@
|
|||
URL: '<%= current_page.url %>'
|
1
middleman-core/fixtures/strip-url-app/source/other.html.erb
Executable file
1
middleman-core/fixtures/strip-url-app/source/other.html.erb
Executable file
|
@ -0,0 +1 @@
|
|||
URL: '<%= current_page.url %>'
|
1
middleman-core/fixtures/strip-url-app/source/subdir/index.html.erb
Executable file
1
middleman-core/fixtures/strip-url-app/source/subdir/index.html.erb
Executable file
|
@ -0,0 +1 @@
|
|||
URL: '<%= current_page.url %>'
|
|
@ -143,7 +143,7 @@ module Middleman
|
|||
def url
|
||||
url_path = destination_path
|
||||
if app.strip_index_file
|
||||
url_path = url_path.sub(/\/#{Regexp.escape(app.index_file)}$/,
|
||||
url_path = url_path.sub(/(^|\/)#{Regexp.escape(app.index_file)}$/,
|
||||
app.trailing_slash ? '/' : '')
|
||||
end
|
||||
File.join(app.respond_to?(:http_prefix) ? app.http_prefix : '/', url_path)
|
||||
|
|
Loading…
Reference in a new issue