2013-04-06 23:05:26 +02:00
|
|
|
Feature: Setting the right content type for files
|
|
|
|
|
|
|
|
Scenario: The right content type gets automatically determined
|
|
|
|
Given the Server is running at "content-type-app"
|
|
|
|
When I go to "/index.html"
|
|
|
|
Then the content type should be "text/html"
|
|
|
|
When I go to "/images/blank.gif"
|
|
|
|
Then the content type should be "image/gif"
|
|
|
|
When I go to "/javascripts/app.js"
|
|
|
|
Then the content type should be "application/javascript"
|
|
|
|
When I go to "/stylesheets/site.css"
|
|
|
|
Then the content type should be "text/css"
|
|
|
|
When I go to "/README"
|
|
|
|
Then the content type should be "text/plain"
|
|
|
|
|
|
|
|
Scenario: Content type can be set explicitly via page or proxy or frontmatter
|
|
|
|
Given a fixture app "content-type-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
2014-05-27 02:58:35 +02:00
|
|
|
page "README", content_type: 'text/awesome'
|
|
|
|
proxy "bar", "index.html", content_type: 'text/custom'
|
2013-04-06 23:05:26 +02:00
|
|
|
proxy "foo", "README" # auto-delegate to target content type
|
|
|
|
"""
|
|
|
|
And the Server is running at "content-type-app"
|
|
|
|
When I go to "/README"
|
|
|
|
Then the content type should be "text/awesome"
|
|
|
|
When I go to "/bar"
|
|
|
|
Then the content type should be "text/custom"
|
|
|
|
When I go to "/foo"
|
|
|
|
Then the content type should be "text/awesome"
|
|
|
|
When I go to "/override.html"
|
|
|
|
Then the content type should be "text/neato"
|
|
|
|
|
|
|
|
Scenario: Content types can be overridden with mime_type
|
|
|
|
Given a fixture app "content-type-app"
|
|
|
|
And a file named "config.rb" with:
|
|
|
|
"""
|
|
|
|
mime_type('.js', 'application/x-javascript')
|
|
|
|
"""
|
|
|
|
And the Server is running at "content-type-app"
|
|
|
|
When I go to "/javascripts/app.js"
|
|
|
|
Then the content type should be "application/x-javascript"
|
|
|
|
|