aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2017-07-07 09:43:34 -0400
committerGravatar John Cater <jcater@google.com>2017-07-07 13:37:43 -0400
commit06152ea49275609996578be999d7abc20a1a76bc (patch)
tree8f0d0bedc956fa41b7f2e28681990823d6744d48 /src/test/java
parent754654c1e364b61cde3e8925add666a7aa000570 (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.java11
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