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