test/cli/test_cli.rb in nanoc-3.6.5 vs test/cli/test_cli.rb in nanoc-3.6.6
- old
+ new
@@ -100,6 +100,49 @@
assert_match(/Stack trace:/, stderr_addition)
assert_match(/commands\/_test.rb/, stderr_addition)
end
end
+ def test_enable_utf8_only_on_tty
+ new_env_diff = {
+ 'LC_ALL' => 'en_US.ISO-8859-1',
+ 'LC_CTYPE' => 'en_US.ISO-8859-1',
+ 'LANG' => 'en_US.ISO-8859-1',
+ }
+ with_env_vars(new_env_diff) do
+ io = StringIO.new
+ def io.tty? ; true ; end
+ refute Nanoc::CLI.enable_utf8?(io)
+
+ io = StringIO.new
+ def io.tty? ; false ; end
+ assert Nanoc::CLI.enable_utf8?(io)
+ end
+ end
+
+ def test_enable_utf8
+ io = StringIO.new
+ def io.tty? ; true ; end
+
+ new_env_diff = {
+ 'LC_ALL' => 'en_US.ISO-8859-1',
+ 'LC_CTYPE' => 'en_US.ISO-8859-1',
+ 'LANG' => 'en_US.ISO-8859-1',
+ }
+ with_env_vars(new_env_diff) do
+ refute Nanoc::CLI.enable_utf8?(io)
+
+ with_env_vars({ 'LC_ALL' => 'en_US.UTF-8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+ with_env_vars({ 'LC_CTYPE' => 'en_US.UTF-8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+ with_env_vars({ 'LANG' => 'en_US.UTF-8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+
+ with_env_vars({ 'LC_ALL' => 'en_US.utf-8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+ with_env_vars({ 'LC_CTYPE' => 'en_US.utf-8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+ with_env_vars({ 'LANG' => 'en_US.utf-8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+
+ with_env_vars({ 'LC_ALL' => 'en_US.utf8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+ with_env_vars({ 'LC_CTYPE' => 'en_US.utf8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+ with_env_vars({ 'LANG' => 'en_US.utf8' }) { assert Nanoc::CLI.enable_utf8?(io) }
+ end
+ end
+
end