diff --git a/sjsonnet/src/sjsonnet/YamlRenderer.scala b/sjsonnet/src/sjsonnet/YamlRenderer.scala index ade9f517..a73516ea 100644 --- a/sjsonnet/src/sjsonnet/YamlRenderer.scala +++ b/sjsonnet/src/sjsonnet/YamlRenderer.scala @@ -23,7 +23,7 @@ class YamlRenderer( null, YamlRenderer.this.elemBuilder, s, - escapeUnicode = true, + escapeUnicode = false, wrapQuotes = true ) } else { @@ -65,7 +65,7 @@ class YamlRenderer( null, elemBuilder, s, - escapeUnicode = true, + escapeUnicode = false, wrapQuotes = true ) } diff --git a/sjsonnet/test/resources/new_test_suite/yaml_unicode_native_output.jsonnet b/sjsonnet/test/resources/new_test_suite/yaml_unicode_native_output.jsonnet new file mode 100644 index 00000000..069e1a30 --- /dev/null +++ b/sjsonnet/test/resources/new_test_suite/yaml_unicode_native_output.jsonnet @@ -0,0 +1,9 @@ +// Regression test: YAML output must pass through Unicode natively. +// Golden verified against cpp-jsonnet 0.21.0, go-jsonnet 0.22.0, jrsonnet 0.5.0-pre99. +std.assertEqual(std.manifestYamlDoc("世界"), "\"世界\"") && +std.assertEqual(std.manifestYamlDoc("café"), "\"café\"") && +std.assertEqual(std.manifestYamlDoc({name: "世界", drink: "café"}), + "\"drink\": \"café\"\n\"name\": \"世界\"") && +std.assertEqual(std.manifestYamlDoc(["🌍", "世界", "café"]), + "- \"🌍\"\n- \"世界\"\n- \"café\"") && +true diff --git a/sjsonnet/test/resources/new_test_suite/yaml_unicode_native_output.jsonnet.golden b/sjsonnet/test/resources/new_test_suite/yaml_unicode_native_output.jsonnet.golden new file mode 100644 index 00000000..27ba77dd --- /dev/null +++ b/sjsonnet/test/resources/new_test_suite/yaml_unicode_native_output.jsonnet.golden @@ -0,0 +1 @@ +true