aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-12-12 18:15:52 +0000
committerGravatar John Cater <jcater@google.com>2016-12-12 20:36:08 +0000
commitde689133354865836168d08e138bfeaa03879408 (patch)
treec3928d1527680cd55475d1cd8038d364759b28af /src/test/java/com/google/devtools/build/lib
parent860f28f421e3c2ba7fc6b321224cea81b1024fab (diff)
Add tuple() method to Skylark.
This method coerces any collection to a Skylark tuple, analogous to list() or set(). -- PiperOrigin-RevId: 141779268 MOS_MIGRATED_REVID=141779268
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java2
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java9
2 files changed, 11 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java
index 155385d440..a642f63879 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EnvironmentTest.java
@@ -145,6 +145,7 @@ public class EnvironmentTest extends EvaluationTestCase {
"reversed",
"sorted",
"str",
+ "tuple",
"zip"),
outerEnv.getVariableNames());
assertEquals(
@@ -177,6 +178,7 @@ public class EnvironmentTest extends EvaluationTestCase {
"reversed",
"sorted",
"str",
+ "tuple",
"zip"),
innerEnv.getVariableNames());
}
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java b/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java
index a001f3ffff..674241d4aa 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java
@@ -1845,4 +1845,13 @@ public class MethodLibraryTest extends EvaluationTestCase {
.testIfErrorContains("abc", "fail('abc')")
.testIfErrorContains("18", "fail(18)");
}
+
+ @Test
+ public void testTupleCoercion() throws Exception {
+ new BothModesTest()
+ .testStatement("tuple([1, 2]) == (1, 2)", true)
+ .testStatement("tuple(set([1, 2])) == (1, 2)", true)
+ // Depends on current implementation of dict
+ .testStatement("tuple({1: 'foo', 2: 'bar'}) == (1, 2)", true);
+ }
}