diff options
author | 2017-07-07 09:43:34 -0400 | |
---|---|---|
committer | 2017-07-07 13:37:43 -0400 | |
commit | 06152ea49275609996578be999d7abc20a1a76bc (patch) | |
tree | 8f0d0bedc956fa41b7f2e28681990823d6744d48 /src/test/java | |
parent | 754654c1e364b61cde3e8925add666a7aa000570 (diff) |
Clean up string representations for providers
If --incompatible_descriptive_string_representations is passed, providers and
their instances are converted to strings using `str`, `repr` and `print` functions
differently (without leaking the provider's name which isn't supposed to be
visible).
PiperOrigin-RevId: 161196343
Diffstat (limited to 'src/test/java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skylark/SkylarkStringRepresentationsTest.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkStringRepresentationsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkStringRepresentationsTest.java index 82e2c1e1c1..01686d6c96 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkStringRepresentationsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkStringRepresentationsTest.java @@ -238,6 +238,15 @@ public class SkylarkStringRepresentationsTest extends SkylarkTestCase { } @Test + public void testStringRepresentations_Providers() throws Exception { + setSkylarkSemanticsOptions("--incompatible_descriptive_string_representations=true"); + + assertStringRepresentation("provider()", "<provider>"); + assertStringRepresentation( + "p = provider()", "p(b = 'foo', a = 1)", "struct(a = 1, b = \"foo\")"); + } + + @Test public void testStringRepresentations_Select() throws Exception { setSkylarkSemanticsOptions("--incompatible_descriptive_string_representations=true"); @@ -312,7 +321,7 @@ public class SkylarkStringRepresentationsTest extends SkylarkTestCase { setSkylarkSemanticsOptions("--incompatible_descriptive_string_representations=false"); assertStringRepresentation("provider()", "<function <no name>>"); - assertStringRepresentation("p = provider()", "p(b = 2, a = 1)", "p(a = 1, b = 2)"); + assertStringRepresentation("p = provider()", "p(b = 'foo', a = 1)", "p(a = 1, b = \"foo\")"); } @Test |