Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(415)

Unified Diff: tools/gn/target_unittest.cc

Issue 1606553002: Add support for Mac/iOS application bundles to GN tool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add unit tests & support for bundle_data_filter Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/gn/target_unittest.cc
diff --git a/tools/gn/target_unittest.cc b/tools/gn/target_unittest.cc
index c99ebe84757264d150022728dde53743b40fa103..315bcc397bbd28818eca6e94b5c9a143fb04998a 100644
--- a/tools/gn/target_unittest.cc
+++ b/tools/gn/target_unittest.cc
@@ -723,3 +723,55 @@ TEST(Target, AssertNoDeps) {
a2.assert_no_deps().push_back(disallow_a);
ASSERT_TRUE(a2.OnResolved(&err));
}
+
+TEST(Target, BundleData) {
+ TestWithScope setup;
+ Err err;
+
+ // A target.
+ TestTarget a(setup, "//a", Target::SOURCE_SET);
+ a.bundle_data().insert(SourceFile("//a/a.dat"));
+ a.bundle_data().insert(SourceFile("//a/a.in"));
+ ASSERT_TRUE(a.OnResolved(&err));
+
+ // B target.
+ TestTarget b(setup, "//b", Target::SOURCE_SET);
+ b.bundle_data().insert(SourceFile("//b/b.dat"));
+ b.private_deps().push_back(LabelTargetPair(&a));
+ ASSERT_TRUE(b.OnResolved(&err));
+
+ // C target.
+ TestTarget c(setup, "//c", Target::COPY_BUNDLE_DATA);
+ c.bundle_data_filter().Append(Pattern("*.in"));
+ c.private_deps().push_back(LabelTargetPair(&b));
+ ASSERT_TRUE(c.OnResolved(&err));
+
+ Target::FileList expected_sources;
+ expected_sources.push_back(SourceFile("//a/a.dat"));
+ expected_sources.push_back(SourceFile("//b/b.dat"));
+ ASSERT_EQ(expected_sources, c.sources());
+}
+
+TEST(Target, BundleDataStopAtExecutable) {
+ TestWithScope setup;
+ Err err;
+
+ // A target.
+ TestTarget a(setup, "//a", Target::SOURCE_SET);
+ a.bundle_data().insert(SourceFile("//a/a.dat"));
+ a.bundle_data().insert(SourceFile("//a/a.in"));
+ ASSERT_TRUE(a.OnResolved(&err));
+
+ // B target.
+ TestTarget b(setup, "//b", Target::EXECUTABLE);
+ b.private_deps().push_back(LabelTargetPair(&a));
+ ASSERT_TRUE(b.OnResolved(&err));
+
+ // C target.
+ TestTarget c(setup, "//c", Target::COPY_BUNDLE_DATA);
+ c.private_deps().push_back(LabelTargetPair(&b));
+ ASSERT_TRUE(c.OnResolved(&err));
+
+ Target::FileList expected_sources;
+ ASSERT_EQ(expected_sources, c.sources());
+}

Powered by Google App Engine
This is Rietveld 408576698