aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2015-05-14 17:18:41 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-05-15 09:44:53 +0000
commitb3dece0edf7ad45ef0bfca9c0d50ea7198f43c51 (patch)
tree8c4f662f9fe64473293611db08885e4564363386 /src/test
parentb140749f869c4c963f9daffdda4927e3ca688939 (diff)
Let select concatenation mix Skylark and native lists
(e.g. select({...}) + [list1] + [list2] where list1 is defined in a BUILD file and list2 is defined in a Skylark macro/rule). Fixes #176 -- MOS_MIGRATED_REVID=93633255
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
index 5c7715f001..9d83155b78 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
@@ -465,6 +465,16 @@ public class EvaluationTest extends EvaluationTestCase {
"(1, 2) + [3, 4]");
}
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testSelectorListConcatenation() throws Exception {
+ SelectorList x = (SelectorList) eval("select({'foo': ['FOO'], 'bar': ['BAR']}) + []");
+ List<Object> elements = x.getElements();
+ assertThat(elements.size()).isEqualTo(2);
+ assertThat(elements.get(0)).isInstanceOf(SelectorValue.class);
+ assertThat((Iterable) elements.get(1)).isEmpty();
+ }
+
@Test
public void testListComprehensionFailsOnNonSequence() throws Exception {
checkEvalErrorContains("type 'int' is not iterable", "[x + 1 for x in 123]");