aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar brandjon <brandjon@google.com>2017-06-12 23:08:09 +0200
committerGravatar Yun Peng <pcloudy@google.com>2017-06-13 09:38:39 +0200
commit540aac6460c6d1671aa1e5cc8b78aa13ba5959ae (patch)
treeb587bfe782a49d2ed97e46f82b089e00133e96b2 /src/test/java/com
parent5c2dc673a3ad2aa52f25c6f7d767671ba3e9b02c (diff)
Refactor AST APIs
Added public visibility to some constructors/accessors, and made child LValue nodes explicitly constructed by the caller rather than hidden inside constructors. This makes it easier to treat nodes as uniform dumb values. Also added some helpers. RELNOTES: None PiperOrigin-RevId: 158761415
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportsTest.java (renamed from src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java)12
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java20
2 files changed, 23 insertions, 9 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportsTest.java
index fa9dfbfa51..7aa1474fb2 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkImportsTest.java
@@ -30,7 +30,7 @@ import org.junit.runners.JUnit4;
* Tests {@link SkylarkImports}.
*/
@RunWith(JUnit4.class)
-public class SkylarkImportTest {
+public class SkylarkImportsTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
@@ -39,17 +39,17 @@ public class SkylarkImportTest {
SkylarkImport importForLabel = SkylarkImports.create(labelString);
assertThat(importForLabel.hasAbsolutePath()).named("hasAbsolutePath()").isFalse();
- assertThat(importForLabel.getImportString()).named("getIMportString()").isEqualTo(labelString);
+ assertThat(importForLabel.getImportString()).named("getImportString()").isEqualTo(labelString);
Label irrelevantContainingFile = Label.parseAbsoluteUnchecked("//another/path:BUILD");
assertThat(importForLabel.getLabel(irrelevantContainingFile)).named("getLabel()")
.isEqualTo(Label.parseAbsoluteUnchecked(expectedLabelString));
-
+
assertThat(importForLabel.asPathFragment()).named("asPathFragment()")
.isEqualTo(PathFragment.create(expectedPathString));
thrown.expect(IllegalStateException.class);
- importForLabel.getAbsolutePath();
+ importForLabel.getAbsolutePath();
}
@Test
@@ -147,7 +147,7 @@ public class SkylarkImportTest {
Label containingLabel = Label.parseAbsolute(containingLabelString);
assertThat(importForPath.getLabel(containingLabel)).named("getLabel()")
.isEqualTo(Label.parseAbsolute(expectedLabelString));
-
+
assertThat(importForPath.asPathFragment()).named("asPathFragment()")
.isEqualTo(PathFragment.create(expectedPathString));
@@ -174,7 +174,7 @@ public class SkylarkImportTest {
private void invalidImportTest(String importString, String expectedMsgPrefix) throws Exception {
thrown.expect(SkylarkImportSyntaxException.class);
thrown.expectMessage(startsWith(expectedMsgPrefix));
- SkylarkImports.create(importString);
+ SkylarkImports.create(importString);
}
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
index ce5e91607c..9ae284d0d6 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java
@@ -139,10 +139,17 @@ public class EvaluationTestCase {
return env;
}
+ protected BuildFileAST parseBuildFileASTWithoutValidation(String... input) {
+ return BuildFileAST.parseSkylarkString(getEventHandler(), input);
+ }
+
+ protected BuildFileAST parseBuildFileAST(String... input) {
+ BuildFileAST ast = parseBuildFileASTWithoutValidation(input);
+ return ast.validate(env, getEventHandler());
+ }
+
protected List<Statement> parseFile(String... input) {
- BuildFileAST ast = BuildFileAST.parseSkylarkString(getEventHandler(), input);
- ast = ast.validate(env, getEventHandler());
- return ast.getStatements();
+ return parseBuildFileAST(input).getStatements();
}
/** Parses an Expression from string without a supporting file */
@@ -152,6 +159,13 @@ public class EvaluationTestCase {
ParserInputSource.create(Joiner.on("\n").join(input), null), getEventHandler());
}
+ /** Same as {@link #parseExpression} but supports Skylark constructs. */
+ @VisibleForTesting
+ public Expression parseExpressionForSkylark(String... input) {
+ return Parser.parseExpressionForSkylark(
+ ParserInputSource.create(Joiner.on("\n").join(input), null), getEventHandler());
+ }
+
public EvaluationTestCase update(String varname, Object value) throws Exception {
env.update(varname, value);
return this;