middleman/middleman-core/features/content_type.feature

44 lines
1.6 KiB
Gherkin

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:
"""
page "README", :content_type => 'text/awesome'
proxy "bar", "index.html", :content_type => 'text/custom'
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"