1 // Copyright 2021 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3
4 #include "gn/bundle_data.h"
5 #include "util/test/test.h"
6
TEST(BundleDataTest,GetAssetsCatalogDirectory)7 TEST(BundleDataTest, GetAssetsCatalogDirectory) {
8 struct TestCase {
9 SourceFile source_file;
10 SourceFile catalog_dir;
11 };
12
13 static TestCase kTestCases[] = {
14 {
15 .source_file = SourceFile("//my/bundle/foo.xcassets/my/file"),
16 .catalog_dir = SourceFile("//my/bundle/foo.xcassets"),
17 },
18 {
19 .source_file = SourceFile(
20 "//my/bundle/foo.xcassets/nested/bar.xcassets/my/file"),
21 .catalog_dir = SourceFile("//my/bundle/foo.xcassets"),
22 },
23 {
24 .source_file = SourceFile("//my/bundle/my/file"),
25 .catalog_dir = SourceFile(),
26 },
27 };
28
29 for (const TestCase& test_case : kTestCases) {
30 const SourceFile assets_catalog_dir =
31 BundleData::GetAssetsCatalogDirectory(test_case.source_file);
32 EXPECT_EQ(assets_catalog_dir, test_case.catalog_dir);
33 }
34 }
35