| // Copyright 2021 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| |
| #include "gn/bundle_data.h" |
| #include "util/test/test.h" |
| |
| TEST(BundleDataTest, GetAssetsCatalogDirectory) { |
| struct TestCase { |
| SourceFile source_file; |
| SourceFile catalog_dir; |
| }; |
| |
| static TestCase kTestCases[] = { |
| { |
| .source_file = SourceFile("//my/bundle/foo.xcassets/my/file"), |
| .catalog_dir = SourceFile("//my/bundle/foo.xcassets"), |
| }, |
| { |
| .source_file = SourceFile( |
| "//my/bundle/foo.xcassets/nested/bar.xcassets/my/file"), |
| .catalog_dir = SourceFile("//my/bundle/foo.xcassets"), |
| }, |
| { |
| .source_file = SourceFile("//my/bundle/my/file"), |
| .catalog_dir = SourceFile(), |
| }, |
| }; |
| |
| for (const TestCase& test_case : kTestCases) { |
| const SourceFile assets_catalog_dir = |
| BundleData::GetAssetsCatalogDirectory(test_case.source_file); |
| EXPECT_EQ(assets_catalog_dir, test_case.catalog_dir); |
| } |
| } |