test/cli/commands/test_create_site.rb in nanoc-3.6.11 vs test/cli/commands/test_create_site.rb in nanoc-3.7.0
- old
+ new
@@ -17,9 +17,40 @@
site.load_data
site.compile
end
end
+ def test_default_encoding
+ if !defined?(Encoding)
+ skip 'No Encoding class'
+ return
+ end
+
+ original_encoding = Encoding.default_external
+ Encoding.default_external = 'ISO-8859-1' # ew!
+
+ Nanoc::CLI.run %w( create_site foo )
+
+ FileUtils.cd('foo') do
+
+ # Try with encoding = default encoding = utf-8
+ File.open('content/index.html', 'w') { |io| io.write("Hello <\xD6>!\n") }
+ site = Nanoc::Site.new('.')
+ exception = assert_raises(RuntimeError) do
+ site.compile
+ end
+ assert_equal "Could not read content/index.html because the file is not valid UTF-8.", exception.message
+
+ # Try with encoding = specific
+ File.open('nanoc.yaml', 'w') { |io| io.write("meh: true\n") }
+ site = Nanoc::Site.new('.')
+ site.compile
+ end
+ FileUtils
+ ensure
+ Encoding.default_external = original_encoding
+ end
+
def test_new_site_has_correct_stylesheets
Nanoc::CLI.run %w( create_site foo )
FileUtils.cd('foo') do
Nanoc::CLI.run %w( compile )