diff options
author | Scott Graham <scottmg@chromium.org> | 2014-11-08 19:47:22 (GMT) |
---|---|---|
committer | Scott Graham <scottmg@chromium.org> | 2014-11-08 19:47:22 (GMT) |
commit | 8177085f4d3adf78b9709069a9c3ce5fe442867a (patch) | |
tree | 01d21b186ca671903ad8720c13ea2fa01f82e0fb /src/graph_test.cc | |
parent | 3fb18496c4c2642742df152974d78756d1c9df8a (diff) | |
download | Ninja-8177085f4d3adf78b9709069a9c3ce5fe442867a.zip Ninja-8177085f4d3adf78b9709069a9c3ce5fe442867a.tar.gz Ninja-8177085f4d3adf78b9709069a9c3ce5fe442867a.tar.bz2 |
path decanonicalization when building command
Diffstat (limited to 'src/graph_test.cc')
-rw-r--r-- | src/graph_test.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/graph_test.cc b/src/graph_test.cc index 14dc678..382d352 100644 --- a/src/graph_test.cc +++ b/src/graph_test.cc @@ -251,3 +251,24 @@ TEST_F(GraphTest, NestedPhonyPrintsDone) { EXPECT_EQ(0, plan_.command_edge_count()); ASSERT_FALSE(plan_.more_to_do()); } + +#ifdef _WIN32 +TEST_F(GraphTest, Decanonicalize) { + ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, +"build out\\out1: cat src\\in1\n" +"build out\\out2/out3\\out4: cat mid1\n" +"build out3 out4\\foo: cat mid1\n")); + + string err; + vector<Node*> root_nodes = state_.RootNodes(&err); + EXPECT_EQ(4u, root_nodes.size()); + EXPECT_EQ(root_nodes[0]->path(), "out/out1"); + EXPECT_EQ(root_nodes[1]->path(), "out/out2/out3/out4"); + EXPECT_EQ(root_nodes[2]->path(), "out3"); + EXPECT_EQ(root_nodes[3]->path(), "out4/foo"); + EXPECT_EQ(root_nodes[0]->PathDecanonicalized(), "out\\out1"); + EXPECT_EQ(root_nodes[1]->PathDecanonicalized(), "out\\out2/out3\\out4"); + EXPECT_EQ(root_nodes[2]->PathDecanonicalized(), "out3"); + EXPECT_EQ(root_nodes[3]->PathDecanonicalized(), "out4\\foo"); +} +#endif |