| 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/ninja_create_bundle_target_writer.h" | 5 #include "tools/gn/ninja_create_bundle_target_writer.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <sstream> | 8 #include <sstream> |
| 9 | 9 |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 #include "tools/gn/target.h" | 11 #include "tools/gn/target.h" |
| 12 #include "tools/gn/test_with_scope.h" | 12 #include "tools/gn/test_with_scope.h" |
| 13 | 13 |
| 14 namespace { | 14 namespace { |
| 15 | 15 |
| 16 void SetupBundleDataDir(BundleData* bundle_data, const std::string& root_dir) { | 16 void SetupBundleDataDir(BundleData* bundle_data, const std::string& root_dir) { |
| 17 bundle_data->root_dir().assign(root_dir + "/bar.bundle"); | 17 std::string bundle_root_dir = root_dir + "/bar.bundle"; |
| 18 bundle_data->resources_dir().assign(bundle_data->root_dir() + "/Resources"); | 18 bundle_data->root_dir() = SourceDir(bundle_root_dir); |
| 19 bundle_data->executable_dir().assign(bundle_data->root_dir() + "/Executable"); | 19 bundle_data->resources_dir() = SourceDir(bundle_root_dir + "/Resources"); |
| 20 bundle_data->plugins_dir().assign(bundle_data->root_dir() + "/PlugIns"); | 20 bundle_data->executable_dir() = SourceDir(bundle_root_dir + "/Executable"); |
| 21 bundle_data->plugins_dir() = SourceDir(bundle_root_dir + "/PlugIns"); |
| 21 } | 22 } |
| 22 | 23 |
| 23 } // namespace | 24 } // namespace |
| 24 | 25 |
| 25 // Tests multiple files with an output pattern. | 26 // Tests multiple files with an output pattern. |
| 26 TEST(NinjaCreateBundleTargetWriter, Run) { | 27 TEST(NinjaCreateBundleTargetWriter, Run) { |
| 27 TestWithScope setup; | 28 TestWithScope setup; |
| 28 Err err; | 29 Err err; |
| 29 | 30 |
| 30 setup.build_settings()->SetBuildDir(SourceDir("//out/Debug/")); | 31 setup.build_settings()->SetBuildDir(SourceDir("//out/Debug/")); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 // correctly. | 109 // correctly. |
| 109 TEST(NinjaCreateBundleTargetWriter, BundleRootDirOutput) { | 110 TEST(NinjaCreateBundleTargetWriter, BundleRootDirOutput) { |
| 110 TestWithScope setup; | 111 TestWithScope setup; |
| 111 Err err; | 112 Err err; |
| 112 | 113 |
| 113 setup.build_settings()->SetBuildDir(SourceDir("//out/Debug/")); | 114 setup.build_settings()->SetBuildDir(SourceDir("//out/Debug/")); |
| 114 Target target(setup.settings(), Label(SourceDir("//baz/"), "bar")); | 115 Target target(setup.settings(), Label(SourceDir("//baz/"), "bar")); |
| 115 target.set_output_type(Target::CREATE_BUNDLE); | 116 target.set_output_type(Target::CREATE_BUNDLE); |
| 116 | 117 |
| 117 const std::string bundle_root_dir("//out/Debug/bar.bundle/Contents"); | 118 const std::string bundle_root_dir("//out/Debug/bar.bundle/Contents"); |
| 118 target.bundle_data().root_dir().assign(bundle_root_dir); | 119 target.bundle_data().root_dir() = SourceDir(bundle_root_dir); |
| 119 target.bundle_data().resources_dir().assign(bundle_root_dir + "/Resources"); | 120 target.bundle_data().resources_dir() = |
| 120 target.bundle_data().executable_dir().assign(bundle_root_dir + "/MacOS"); | 121 SourceDir(bundle_root_dir + "/Resources"); |
| 121 target.bundle_data().plugins_dir().assign(bundle_root_dir + "/Plug Ins"); | 122 target.bundle_data().executable_dir() = SourceDir(bundle_root_dir + "/MacOS"); |
| 123 target.bundle_data().plugins_dir() = SourceDir(bundle_root_dir + "/Plug Ins"); |
| 122 | 124 |
| 123 std::vector<SourceFile> sources; | 125 std::vector<SourceFile> sources; |
| 124 sources.push_back(SourceFile("//foo/input1.txt")); | 126 sources.push_back(SourceFile("//foo/input1.txt")); |
| 125 sources.push_back(SourceFile("//foo/input2.txt")); | 127 sources.push_back(SourceFile("//foo/input2.txt")); |
| 126 target.bundle_data().file_rules().push_back(BundleFileRule( | 128 target.bundle_data().file_rules().push_back(BundleFileRule( |
| 127 sources, SubstitutionPattern::MakeForTest( | 129 sources, SubstitutionPattern::MakeForTest( |
| 128 "{{bundle_resources_dir}}/{{source_file_part}}"))); | 130 "{{bundle_resources_dir}}/{{source_file_part}}"))); |
| 129 | 131 |
| 130 target.SetToolchain(setup.toolchain()); | 132 target.SetToolchain(setup.toolchain()); |
| 131 ASSERT_TRUE(target.OnResolved(&err)); | 133 ASSERT_TRUE(target.OnResolved(&err)); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 "\n" | 213 "\n" |
| 212 "build obj/baz/bar.stamp: stamp " | 214 "build obj/baz/bar.stamp: stamp " |
| 213 "bar.bundle/Resources/input1.txt " | 215 "bar.bundle/Resources/input1.txt " |
| 214 "bar.bundle/Resources/input2.txt " | 216 "bar.bundle/Resources/input2.txt " |
| 215 "bar.bundle/Info.plist " | 217 "bar.bundle/Info.plist " |
| 216 "bar.bundle/Resources/Assets.car\n" | 218 "bar.bundle/Resources/Assets.car\n" |
| 217 "build bar.bundle: phony obj/baz/bar.stamp\n"; | 219 "build bar.bundle: phony obj/baz/bar.stamp\n"; |
| 218 std::string out_str = out.str(); | 220 std::string out_str = out.str(); |
| 219 EXPECT_EQ(expected, out_str); | 221 EXPECT_EQ(expected, out_str); |
| 220 } | 222 } |
| OLD | NEW |