diff options
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java index 3cc0a84d24..177f2db017 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java @@ -28,13 +28,12 @@ import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyFunctionException; import com.google.devtools.build.skyframe.SkyValue; - +import java.util.Map; +import javax.annotation.Nullable; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; -import javax.annotation.Nullable; - /** * Tests for @{link RepositoryFunction} */ @@ -48,9 +47,9 @@ public class RepositoryFunctionTest extends BuildViewTestCase { static class TestingRepositoryFunction extends RepositoryFunction { @Nullable @Override - public SkyValue fetch( - Rule rule, Path outputDirectory, BlazeDirectories directories, SkyFunction.Environment env) - throws SkyFunctionException, InterruptedException { + public SkyValue fetch(Rule rule, Path outputDirectory, BlazeDirectories directories, + SkyFunction.Environment env, Map<String, String> markerData) + throws SkyFunctionException, InterruptedException { return null; } @@ -96,4 +95,23 @@ public class RepositoryFunctionTest extends BuildViewTestCase { FileSystemUtils.readContentAsLatin1(rootDirectory.getRelative("WORKSPACE"))); assertThat(workspaceContent).contains("workspace(name = \"abc\")"); } + + private static void assertMarkerFileEscaping(String testCase) { + String escaped = RepositoryDelegatorFunction.escape(testCase); + assertThat(RepositoryDelegatorFunction.unescape(escaped)).isEqualTo(testCase); + } + + @Test + public void testMarkerFileEscaping() throws Exception { + assertMarkerFileEscaping(null); + assertMarkerFileEscaping("\\0"); + assertMarkerFileEscaping("a\\0"); + assertMarkerFileEscaping("a b"); + assertMarkerFileEscaping("a b c"); + assertMarkerFileEscaping("a \\b"); + assertMarkerFileEscaping("a \\nb"); + assertMarkerFileEscaping("a \\\\nb"); + assertMarkerFileEscaping("a \\\nb"); + assertMarkerFileEscaping("a \nb"); + } } |