diff options
author | 2015-12-30 19:30:34 +0000 | |
---|---|---|
committer | 2016-01-04 12:58:41 +0000 | |
commit | 9201fda7dcc82d40ee47fadee31d6eb6923605db (patch) | |
tree | 4687321d44d83999909397e054252292da4b54ed /src/test | |
parent | 6563de696ff5b0be9113fba89e55ef1a9f5548f8 (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.java | 33 |
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) { |