aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar John Field <jfield@google.com>2015-12-30 19:30:34 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2016-01-04 12:58:41 +0000
commit9201fda7dcc82d40ee47fadee31d6eb6923605db (patch)
tree4687321d44d83999909397e054252292da4b54ed /src/test
parent6563de696ff5b0be9113fba89e55ef1a9f5548f8 (diff)
Add the source location of the import string to the LoadStatement AST node, for use in tools.
-- MOS_MIGRATED_REVID=111142252
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java33
1 files changed, 25 insertions, 8 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
index 2985fd1ff7..8e51987c47 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
@@ -1083,13 +1083,22 @@ public class ParserTest extends EvaluationTestCase {
@Test
public void testValidAbsoluteImportPath() {
+ String importString = "/some/skylark/file";
List<Statement> statements =
- parseFileForSkylark("load('/some/skylark/file', 'fun_test')\n");
+ parseFileForSkylark("load('" + importString + "', 'fun_test')\n");
LoadStatement stmt = (LoadStatement) statements.get(0);
SkylarkImport imp = stmt.getImport();
- assertThat(imp.getImportString()).isEqualTo("/some/skylark/file");
- assertThat(imp.hasAbsolutePath()).isTrue();
- assertThat(imp.getAbsolutePath()).isEqualTo(new PathFragment("/some/skylark/file.bzl"));
+
+ assertThat(imp.getImportString()).named("getImportString()").isEqualTo("/some/skylark/file");
+ assertThat(imp.hasAbsolutePath()).named("hasAbsolutePath()").isTrue();
+ assertThat(imp.getAbsolutePath()).named("getAbsolutePath()")
+ .isEqualTo(new PathFragment("/some/skylark/file.bzl"));
+
+ int startOffset = stmt.getImportLocation().getStartOffset();
+ int endOffset = stmt.getImportLocation().getEndOffset();
+ assertThat(startOffset).named("getStartOffset()").isEqualTo(5);
+ assertThat(endOffset).named("getEndOffset()")
+ .isEqualTo(startOffset + importString.length() + 2);
}
private void validNonAbsoluteImportTest(String importString, String containingFileLabelString,
@@ -1098,11 +1107,19 @@ public class ParserTest extends EvaluationTestCase {
parseFileForSkylark("load('" + importString + "', 'fun_test')\n");
LoadStatement stmt = (LoadStatement) statements.get(0);
SkylarkImport imp = stmt.getImport();
- assertThat(imp.getImportString()).isEqualTo(importString);
- assertThat(imp.hasAbsolutePath()).isFalse();
+
+ assertThat(imp.getImportString()).named("getImportString()").isEqualTo(importString);
+ assertThat(imp.hasAbsolutePath()).named("hasAbsolutePath()").isFalse();
+
Label containingFileLabel = Label.parseAbsoluteUnchecked(containingFileLabelString);
- assertThat(imp.getLabel(containingFileLabel))
- .isEqualTo(Label.parseAbsoluteUnchecked(expectedLabelString));
+ assertThat(imp.getLabel(containingFileLabel)).named("containingFileLabel()")
+ .isEqualTo(Label.parseAbsoluteUnchecked(expectedLabelString));
+
+ int startOffset = stmt.getImportLocation().getStartOffset();
+ int endOffset = stmt.getImportLocation().getEndOffset();
+ assertThat(startOffset).named("getStartOffset()").isEqualTo(5);
+ assertThat(endOffset).named("getEndOffset()")
+ .isEqualTo(startOffset + importString.length() + 2);
}
private void invalidImportTest(String importString, String expectedMsg) {