From 1ca5be7b1927c4b2fa061ac3955bb121bb186fb8 Mon Sep 17 00:00:00 2001 From: Ulrich Gabor Date: Tue, 5 Jan 2016 15:10:49 +0100 Subject: [PATCH] Tests for issue #1702 --- .../features/encoding_option.feature | 23 +++++++++++++++++++ .../fixtures/i-8859-1-app/config.rb | 1 + .../i-8859-1-app/source/index.html.erb | 1 + .../step_definitions/server_steps.rb | 4 ++++ 4 files changed, 29 insertions(+) create mode 100644 middleman-core/features/encoding_option.feature create mode 100644 middleman-core/fixtures/i-8859-1-app/config.rb create mode 100644 middleman-core/fixtures/i-8859-1-app/source/index.html.erb diff --git a/middleman-core/features/encoding_option.feature b/middleman-core/features/encoding_option.feature new file mode 100644 index 00000000..b2aeed6b --- /dev/null +++ b/middleman-core/features/encoding_option.feature @@ -0,0 +1,23 @@ +# encoding: iso-8859-1 +Feature: encoding option + + Scenario: No encoding set + Given a fixture app "clean-app" + Given the Server is running at "clean-app" + + When I go to "/index.html" + Then the "Content-Type" header should contain "text/html" + Then the "Content-Type" header should contain "charset=utf-8" + + Scenario: Custom encoding set + Given a fixture app "i-8859-1-app" + And a file named "config.rb" with: + """ + set :encoding, "ISO-8859-1" + """ + Given the Server is running at "i-8859-1-app" + + When I go to "/index.html" + Then the "Content-Type" header should contain "text/html" + Then the "Content-Type" header should contain "charset=iso-8859-1" + Then I should see "äöü" diff --git a/middleman-core/fixtures/i-8859-1-app/config.rb b/middleman-core/fixtures/i-8859-1-app/config.rb new file mode 100644 index 00000000..3252ee63 --- /dev/null +++ b/middleman-core/fixtures/i-8859-1-app/config.rb @@ -0,0 +1 @@ +set :encoding, "ISO-8859-1" diff --git a/middleman-core/fixtures/i-8859-1-app/source/index.html.erb b/middleman-core/fixtures/i-8859-1-app/source/index.html.erb new file mode 100644 index 00000000..3c015801 --- /dev/null +++ b/middleman-core/fixtures/i-8859-1-app/source/index.html.erb @@ -0,0 +1 @@ +äöü diff --git a/middleman-core/lib/middleman-core/step_definitions/server_steps.rb b/middleman-core/lib/middleman-core/step_definitions/server_steps.rb index 9ff79474..7defbbc0 100644 --- a/middleman-core/lib/middleman-core/step_definitions/server_steps.rb +++ b/middleman-core/lib/middleman-core/step_definitions/server_steps.rb @@ -75,6 +75,10 @@ Then /^the content type should be "([^\"]*)"$/ do |expected| expect(page.response_headers['Content-Type']).to start_with expected end +Then /^the "([^\"]*)" header should contain "([^\"]*)"$/ do |header, expected| + expect(page.response_headers[header]).to include expected +end + Then /^I should see "([^\"]*)"$/ do |expected| expect(page.body).to include expected end