| Index: tools/gn/filesystem_utils_unittest.cc
|
| diff --git a/tools/gn/filesystem_utils_unittest.cc b/tools/gn/filesystem_utils_unittest.cc
|
| index 906d672bdd2db245de6e21eca04be4b3e9eaa0fa..4eaf0388449fe4dbf0e4c4b05552cd886b1dd1d5 100644
|
| --- a/tools/gn/filesystem_utils_unittest.cc
|
| +++ b/tools/gn/filesystem_utils_unittest.cc
|
| @@ -90,6 +90,50 @@ TEST(FilesystemUtils, FindLastDirComponent) {
|
| EXPECT_EQ("bar", FindLastDirComponent(regular2));
|
| }
|
|
|
| +TEST(FilesystemUtils, EnsureStringIsInOutputDir) {
|
| + SourceDir output_dir("//out/Debug/");
|
| +
|
| + // Some outside.
|
| + Err err;
|
| + EXPECT_FALSE(EnsureStringIsInOutputDir(output_dir, "//foo", Value(), false,
|
| + &err));
|
| + EXPECT_TRUE(err.has_error());
|
| + err = Err();
|
| + EXPECT_FALSE(EnsureStringIsInOutputDir(output_dir, "//out/Debugit", Value(),
|
| + false, &err));
|
| + EXPECT_TRUE(err.has_error());
|
| +
|
| + // Some inside.
|
| + err = Err();
|
| + EXPECT_TRUE(EnsureStringIsInOutputDir(output_dir, "//out/Debug/", Value(),
|
| + false, &err));
|
| + EXPECT_FALSE(err.has_error());
|
| + EXPECT_TRUE(EnsureStringIsInOutputDir(output_dir, "//out/Debug/foo", Value(),
|
| + false, &err));
|
| + EXPECT_FALSE(err.has_error());
|
| +
|
| + // Pattern but no template expansions are allowed.
|
| + EXPECT_FALSE(EnsureStringIsInOutputDir(output_dir, "{{source_gen_dir}}",
|
| + Value(), false, &err));
|
| + EXPECT_TRUE(err.has_error());
|
| +
|
| + // Pattern with template expansions allowed.
|
| + err = Err();
|
| + EXPECT_TRUE(EnsureStringIsInOutputDir(output_dir, "{{source_gen_dir}}",
|
| + Value(), true, &err));
|
| + EXPECT_FALSE(err.has_error());
|
| +
|
| + // Template expansion that doesn't include the absolute directory.
|
| + EXPECT_FALSE(EnsureStringIsInOutputDir(output_dir, "{{source}}",
|
| + Value(), true, &err));
|
| + EXPECT_TRUE(err.has_error());
|
| + err = Err();
|
| + EXPECT_FALSE(EnsureStringIsInOutputDir(output_dir,
|
| + "{{source_root_relative_dir}}",
|
| + Value(), true, &err));
|
| + EXPECT_TRUE(err.has_error());
|
| +}
|
| +
|
| TEST(FilesystemUtils, IsPathAbsolute) {
|
| EXPECT_TRUE(IsPathAbsolute("/foo/bar"));
|
| EXPECT_TRUE(IsPathAbsolute("/"));
|
|
|