| // Copyright 2021 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "gn/bundle_data.h" |
| #include "util/test/test.h" |
| |
| TEST(BundleDataTest, GetAssetsCatalogDirectory) { |
| const struct TestCase { |
| SourceFile source_file; |
| SourceFile catalog_dir; |
| } test_cases[] = { |
| { |
| .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 auto& test_case : test_cases) { |
| const SourceFile assets_catalog_dir = |
| BundleData::GetAssetsCatalogDirectory(test_case.source_file); |
| EXPECT_EQ(assets_catalog_dir, test_case.catalog_dir); |
| } |
| } |