| 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 |