blob: bfc151947f673f60f25dceb2c19e0005cac392a6 [file] [log] [blame]
// Copyright 2013 The Flutter 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 <memory>
#include <string>
#include "flutter/shell/platform/windows/client_wrapper/include/flutter/dart_project.h"
#include "gtest/gtest.h"
namespace flutter {
class DartProjectTest : public ::testing::Test {
protected:
// Wrapper for accessing private icu_data_path.
std::wstring GetProjectIcuDataPath(const DartProject& project) {
return project.icu_data_path();
}
// Wrapper for accessing private assets_path.
std::wstring GetProjectAssetsPath(const DartProject& project) {
return project.assets_path();
}
// Wrapper for accessing private aot_library_path_.
std::wstring GetProjectAotLibraryPath(const DartProject& project) {
return project.aot_library_path();
}
};
TEST_F(DartProjectTest, StandardProjectFormat) {
DartProject project(L"test");
EXPECT_EQ(GetProjectIcuDataPath(project), L"test\\icudtl.dat");
EXPECT_EQ(GetProjectAssetsPath(project), L"test\\flutter_assets");
EXPECT_EQ(GetProjectAotLibraryPath(project), L"test\\app.so");
}
TEST_F(DartProjectTest, ProjectWithCustomPaths) {
DartProject project(L"data\\assets", L"icu\\icudtl.dat", L"lib\\file.so");
EXPECT_EQ(GetProjectIcuDataPath(project), L"icu\\icudtl.dat");
EXPECT_EQ(GetProjectAssetsPath(project), L"data\\assets");
EXPECT_EQ(GetProjectAotLibraryPath(project), L"lib\\file.so");
}
TEST_F(DartProjectTest, DartEntrypointArguments) {
DartProject project(L"test");
std::vector<std::string> test_arguments = {"arg1", "arg2", "arg3"};
project.set_dart_entrypoint_arguments(test_arguments);
auto returned_arguments = project.dart_entrypoint_arguments();
EXPECT_EQ(returned_arguments.size(), 3U);
EXPECT_EQ(returned_arguments[0], "arg1");
EXPECT_EQ(returned_arguments[1], "arg2");
EXPECT_EQ(returned_arguments[2], "arg3");
}
} // namespace flutter