aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2018-01-31 11:00:11 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-31 11:01:53 -0800
commitaaab11fcf4eacfc17900daf11f35703fbef13194 (patch)
tree0199225322a1c20bc6e081307f8adc54a927ee12 /src/test/java
parent327b911f7830bbad5c51d57a86daebcb371250d8 (diff)
Fix string_list_dict values to be skylark lists in all cases
RELNOTES: None. PiperOrigin-RevId: 184016150
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index 34edf9e506..6baa230f79 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -35,6 +35,8 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkSignature;
import com.google.devtools.build.lib.skylarkinterface.SkylarkValue;
import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
import com.google.devtools.build.lib.testutil.TestMode;
+import java.util.List;
+import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -119,6 +121,10 @@ public class SkylarkEvaluationTest extends EvaluationTest {
public String string() {
return "a";
}
+ @SkylarkCallable(name = "string_list_dict", doc = "")
+ public Map<String, List<String>> stringListDict() {
+ return ImmutableMap.of("a", ImmutableList.of("b", "c"));
+ }
@SkylarkCallable(
name = "with_params",
@@ -751,6 +757,18 @@ public class SkylarkEvaluationTest extends EvaluationTest {
"type 'Mock' has no method isEmpty(string str)", "mock.isEmpty(str='abc')");
}
+ @Test
+ public void testStringListDictValues() throws Exception {
+ new SkylarkTest()
+ .update("mock", new Mock())
+ .setUp(
+ "def func(mock):",
+ " for i, v in mock.string_list_dict().items():",
+ " modified_list = v + ['extra_string']",
+ " return modified_list",
+ "m = func(mock)")
+ .testLookup("m", MutableList.of(env, "b", "c", "extra_string"));
+ }
@Test
public void testJavaCallWithPositionalAndKwargs() throws Exception {
@@ -1328,6 +1346,7 @@ public class SkylarkEvaluationTest extends EvaluationTest {
"return_bad",
"string",
"string_list",
+ "string_list_dict",
"struct_field",
"struct_field_callable",
"value_of",