diff options
author | Greg Estren <gregce@google.com> | 2015-05-14 17:18:41 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-05-15 09:44:53 +0000 |
commit | b3dece0edf7ad45ef0bfca9c0d50ea7198f43c51 (patch) | |
tree | 8c4f662f9fe64473293611db08885e4564363386 /src/test | |
parent | b140749f869c4c963f9daffdda4927e3ca688939 (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.java | 10 |
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]"); |