OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "tools/gn/visual_studio_writer.h" | 5 #include "tools/gn/visual_studio_writer.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 #include "tools/gn/test_with_scope.h" | 8 #include "tools/gn/test_with_scope.h" |
9 #include "tools/gn/visual_studio_utils.h" | 9 #include "tools/gn/visual_studio_utils.h" |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 #endif | 23 #endif |
24 } | 24 } |
25 | 25 |
26 } // namespace | 26 } // namespace |
27 | 27 |
28 TEST_F(VisualStudioWriterTest, ResolveSolutionFolders) { | 28 TEST_F(VisualStudioWriterTest, ResolveSolutionFolders) { |
29 VisualStudioWriter writer(setup_.build_settings()); | 29 VisualStudioWriter writer(setup_.build_settings()); |
30 | 30 |
31 std::string path = | 31 std::string path = |
32 MakeTestPath("/foo/chromium/src/out/Debug/obj/base/base.vcxproj"); | 32 MakeTestPath("/foo/chromium/src/out/Debug/obj/base/base.vcxproj"); |
33 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 33 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
34 "base", path, MakeGuid(path, "project"))); | 34 "base", path, MakeGuid(path, "project"), |
35 writer.projects_.back()->label_dir_path = | 35 MakeTestPath("/foo/chromium/src/base"), "Win32")); |
36 MakeTestPath("/foo/chromium/src/base"); | |
37 | 36 |
38 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/tools/gn/gn.vcxproj"); | 37 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/tools/gn/gn.vcxproj"); |
39 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 38 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
40 "gn", path, MakeGuid(path, "project"))); | 39 "gn", path, MakeGuid(path, "project"), |
41 writer.projects_.back()->label_dir_path = | 40 MakeTestPath("/foo/chromium/src/tools/gn"), "Win32")); |
42 MakeTestPath("/foo/chromium/src/tools/gn"); | |
43 | 41 |
44 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/chrome/chrome.vcxproj"); | 42 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/chrome/chrome.vcxproj"); |
45 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 43 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
46 "chrome", path, MakeGuid(path, "project"))); | 44 "chrome", path, MakeGuid(path, "project"), |
47 writer.projects_.back()->label_dir_path = | 45 MakeTestPath("/foo/chromium/src/chrome"), "Win32")); |
48 MakeTestPath("/foo/chromium/src/chrome"); | |
49 | 46 |
50 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/base/bar.vcxproj"); | 47 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/base/bar.vcxproj"); |
51 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 48 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
52 "bar", path, MakeGuid(path, "project"))); | 49 "bar", path, MakeGuid(path, "project"), |
53 writer.projects_.back()->label_dir_path = | 50 MakeTestPath("/foo/chromium/src/base"), "Win32")); |
54 MakeTestPath("/foo/chromium/src/base"); | |
55 | 51 |
56 writer.ResolveSolutionFolders(); | 52 writer.ResolveSolutionFolders(); |
57 | 53 |
58 ASSERT_EQ(MakeTestPath("/foo/chromium/src"), writer.root_folder_path_); | 54 ASSERT_EQ(MakeTestPath("/foo/chromium/src"), writer.root_folder_path_); |
59 | 55 |
60 ASSERT_EQ(4u, writer.folders_.size()); | 56 ASSERT_EQ(4u, writer.folders_.size()); |
61 | 57 |
62 ASSERT_EQ("base", writer.folders_[0]->name); | 58 ASSERT_EQ("base", writer.folders_[0]->name); |
63 ASSERT_EQ(MakeTestPath("/foo/chromium/src/base"), writer.folders_[0]->path); | 59 ASSERT_EQ(MakeTestPath("/foo/chromium/src/base"), writer.folders_[0]->path); |
64 ASSERT_EQ(nullptr, writer.folders_[0]->parent_folder); | 60 ASSERT_EQ(nullptr, writer.folders_[0]->parent_folder); |
(...skipping 15 matching lines...) Expand all Loading... |
80 ASSERT_EQ(writer.folders_[3], writer.projects_[1]->parent_folder); | 76 ASSERT_EQ(writer.folders_[3], writer.projects_[1]->parent_folder); |
81 ASSERT_EQ(writer.folders_[1], writer.projects_[2]->parent_folder); | 77 ASSERT_EQ(writer.folders_[1], writer.projects_[2]->parent_folder); |
82 ASSERT_EQ(writer.folders_[0], writer.projects_[3]->parent_folder); | 78 ASSERT_EQ(writer.folders_[0], writer.projects_[3]->parent_folder); |
83 } | 79 } |
84 | 80 |
85 TEST_F(VisualStudioWriterTest, ResolveSolutionFolders_AbsPath) { | 81 TEST_F(VisualStudioWriterTest, ResolveSolutionFolders_AbsPath) { |
86 VisualStudioWriter writer(setup_.build_settings()); | 82 VisualStudioWriter writer(setup_.build_settings()); |
87 | 83 |
88 std::string path = | 84 std::string path = |
89 MakeTestPath("/foo/chromium/src/out/Debug/obj/base/base.vcxproj"); | 85 MakeTestPath("/foo/chromium/src/out/Debug/obj/base/base.vcxproj"); |
90 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 86 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
91 "base", path, MakeGuid(path, "project"))); | 87 "base", path, MakeGuid(path, "project"), |
92 writer.projects_.back()->label_dir_path = | 88 MakeTestPath("/foo/chromium/src/base"), "Win32")); |
93 MakeTestPath("/foo/chromium/src/base"); | |
94 | 89 |
95 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/tools/gn/gn.vcxproj"); | 90 path = MakeTestPath("/foo/chromium/src/out/Debug/obj/tools/gn/gn.vcxproj"); |
96 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 91 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
97 "gn", path, MakeGuid(path, "project"))); | 92 "gn", path, MakeGuid(path, "project"), |
98 writer.projects_.back()->label_dir_path = | 93 MakeTestPath("/foo/chromium/src/tools/gn"), "Win32")); |
99 MakeTestPath("/foo/chromium/src/tools/gn"); | |
100 | 94 |
101 path = MakeTestPath( | 95 path = MakeTestPath( |
102 "/foo/chromium/src/out/Debug/obj/ABS_PATH/C/foo/bar/bar.vcxproj"); | 96 "/foo/chromium/src/out/Debug/obj/ABS_PATH/C/foo/bar/bar.vcxproj"); |
103 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 97 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
104 "bar", path, MakeGuid(path, "project"))); | 98 "bar", path, MakeGuid(path, "project"), MakeTestPath("/foo/bar"), |
105 writer.projects_.back()->label_dir_path = MakeTestPath("/foo/bar"); | 99 "Win32")); |
106 | 100 |
107 path = MakeTestPath( | 101 path = MakeTestPath( |
108 "/foo/chromium/src/out/Debug/obj/ABS_PATH/C/foo/bar/baz/baz.vcxproj"); | 102 "/foo/chromium/src/out/Debug/obj/ABS_PATH/C/foo/bar/baz/baz.vcxproj"); |
109 writer.projects_.push_back(new VisualStudioWriter::SolutionEntry( | 103 writer.projects_.push_back(new VisualStudioWriter::SolutionProject( |
110 "baz", path, MakeGuid(path, "project"))); | 104 "baz", path, MakeGuid(path, "project"), MakeTestPath("/foo/bar/baz"), |
111 writer.projects_.back()->label_dir_path = MakeTestPath("/foo/bar/baz"); | 105 "Win32")); |
112 | 106 |
113 writer.ResolveSolutionFolders(); | 107 writer.ResolveSolutionFolders(); |
114 | 108 |
115 ASSERT_EQ(MakeTestPath("/foo"), writer.root_folder_path_); | 109 ASSERT_EQ(MakeTestPath("/foo"), writer.root_folder_path_); |
116 | 110 |
117 ASSERT_EQ(7u, writer.folders_.size()); | 111 ASSERT_EQ(7u, writer.folders_.size()); |
118 | 112 |
119 ASSERT_EQ("bar", writer.folders_[0]->name); | 113 ASSERT_EQ("bar", writer.folders_[0]->name); |
120 ASSERT_EQ(MakeTestPath("/foo/bar"), writer.folders_[0]->path); | 114 ASSERT_EQ(MakeTestPath("/foo/bar"), writer.folders_[0]->path); |
121 ASSERT_EQ(nullptr, writer.folders_[0]->parent_folder); | 115 ASSERT_EQ(nullptr, writer.folders_[0]->parent_folder); |
(...skipping 21 matching lines...) Expand all Loading... |
143 ASSERT_EQ("gn", writer.folders_[6]->name); | 137 ASSERT_EQ("gn", writer.folders_[6]->name); |
144 ASSERT_EQ(MakeTestPath("/foo/chromium/src/tools/gn"), | 138 ASSERT_EQ(MakeTestPath("/foo/chromium/src/tools/gn"), |
145 writer.folders_[6]->path); | 139 writer.folders_[6]->path); |
146 ASSERT_EQ(writer.folders_[5], writer.folders_[6]->parent_folder); | 140 ASSERT_EQ(writer.folders_[5], writer.folders_[6]->parent_folder); |
147 | 141 |
148 ASSERT_EQ(writer.folders_[4], writer.projects_[0]->parent_folder); | 142 ASSERT_EQ(writer.folders_[4], writer.projects_[0]->parent_folder); |
149 ASSERT_EQ(writer.folders_[6], writer.projects_[1]->parent_folder); | 143 ASSERT_EQ(writer.folders_[6], writer.projects_[1]->parent_folder); |
150 ASSERT_EQ(writer.folders_[0], writer.projects_[2]->parent_folder); | 144 ASSERT_EQ(writer.folders_[0], writer.projects_[2]->parent_folder); |
151 ASSERT_EQ(writer.folders_[1], writer.projects_[3]->parent_folder); | 145 ASSERT_EQ(writer.folders_[1], writer.projects_[3]->parent_folder); |
152 } | 146 } |
OLD | NEW |