Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
fl_dart_project_test.cc File Reference
#include "flutter/shell/platform/linux/public/flutter_linux/fl_dart_project.h"
#include <gmodule.h>
#include <cstdlib>
#include "flutter/shell/platform/linux/testing/linux_test.h"
#include "gtest/gtest.h"

Go to the source code of this file.

Classes

class  FlDartProjectTest
 

Functions

 TEST_F (FlDartProjectTest, GetPaths)
 
 TEST_F (FlDartProjectTest, OverrideAotLibraryPath)
 
 TEST_F (FlDartProjectTest, OverrideAssetsPath)
 
 TEST_F (FlDartProjectTest, OverrideIcuDataPath)
 
 TEST_F (FlDartProjectTest, DartEntrypointArgs)
 
 TEST_F (FlDartProjectTest, EnableImpeller)
 

Function Documentation

◆ TEST_F() [1/6]

TEST_F ( FlDartProjectTest  ,
DartEntrypointArgs   
)

Definition at line 51 of file fl_dart_project_test.cc.

51 {
52 char** retrieved_args =
54
55 EXPECT_EQ(retrieved_args, nullptr);
56
57 GPtrArray* args_array = g_ptr_array_new();
58 g_ptr_array_add(args_array, const_cast<char*>("arg_one"));
59 g_ptr_array_add(args_array, const_cast<char*>("arg_two"));
60 g_ptr_array_add(args_array, const_cast<char*>("arg_three"));
61 g_ptr_array_add(args_array, nullptr);
62 gchar** args = reinterpret_cast<gchar**>(g_ptr_array_free(args_array, false));
63
65
66 retrieved_args = fl_dart_project_get_dart_entrypoint_arguments(project);
67
68 // FlDartProject should have done a deep copy of the args
69 EXPECT_NE(retrieved_args, args);
70
71 EXPECT_EQ(g_strv_length(retrieved_args), 3U);
72}
G_MODULE_EXPORT void fl_dart_project_set_dart_entrypoint_arguments(FlDartProject *self, char **argv)
G_MODULE_EXPORT gchar ** fl_dart_project_get_dart_entrypoint_arguments(FlDartProject *self)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args

References args, fl_dart_project_get_dart_entrypoint_arguments(), and fl_dart_project_set_dart_entrypoint_arguments().

◆ TEST_F() [2/6]

TEST_F ( FlDartProjectTest  ,
EnableImpeller   
)

Definition at line 74 of file fl_dart_project_test.cc.

74 {
75 EXPECT_TRUE(fl_dart_project_get_enable_impeller(project));
76
78 EXPECT_FALSE(fl_dart_project_get_enable_impeller(project));
79
81 EXPECT_TRUE(fl_dart_project_get_enable_impeller(project));
82}
return TRUE
G_MODULE_EXPORT gboolean fl_dart_project_get_enable_impeller(FlDartProject *project)
G_MODULE_EXPORT void fl_dart_project_set_enable_impeller(FlDartProject *project, gboolean enable_impeller)

References fl_dart_project_get_enable_impeller(), fl_dart_project_set_enable_impeller(), and TRUE.

◆ TEST_F() [3/6]

TEST_F ( FlDartProjectTest  ,
GetPaths   
)

Definition at line 16 of file fl_dart_project_test.cc.

16 {
17 g_autofree gchar* exe_path = g_file_read_link("/proc/self/exe", nullptr);
18 ASSERT_TRUE(exe_path != nullptr);
19 g_autofree gchar* dir = g_path_get_dirname(exe_path);
20 g_autofree gchar* expected_aot_library_path =
21 g_build_filename(dir, "lib", "libapp.so", nullptr);
22 EXPECT_STREQ(fl_dart_project_get_aot_library_path(project),
23 expected_aot_library_path);
24 g_autofree gchar* expected_assets_path =
25 g_build_filename(dir, "data", "flutter_assets", nullptr);
26 EXPECT_STREQ(fl_dart_project_get_assets_path(project), expected_assets_path);
27 g_autofree gchar* expected_icu_data_path =
28 g_build_filename(dir, "data", "icudtl.dat", nullptr);
29 EXPECT_STREQ(fl_dart_project_get_icu_data_path(project),
30 expected_icu_data_path);
31}
G_MODULE_EXPORT const gchar * fl_dart_project_get_assets_path(FlDartProject *self)
G_MODULE_EXPORT const gchar * fl_dart_project_get_aot_library_path(FlDartProject *self)
G_MODULE_EXPORT const gchar * fl_dart_project_get_icu_data_path(FlDartProject *self)

References fl_dart_project_get_aot_library_path(), fl_dart_project_get_assets_path(), and fl_dart_project_get_icu_data_path().

◆ TEST_F() [4/6]

TEST_F ( FlDartProjectTest  ,
OverrideAotLibraryPath   
)

Definition at line 33 of file fl_dart_project_test.cc.

33 {
34 char aot_library_path[] = "/normal/tuesday/night/for/shia/labeouf";
35 fl_dart_project_set_aot_library_path(project, aot_library_path);
36 EXPECT_STREQ(fl_dart_project_get_aot_library_path(project), aot_library_path);
37}
G_MODULE_EXPORT void fl_dart_project_set_aot_library_path(FlDartProject *self, const gchar *path)

References fl_dart_project_get_aot_library_path(), and fl_dart_project_set_aot_library_path().

◆ TEST_F() [5/6]

TEST_F ( FlDartProjectTest  ,
OverrideAssetsPath   
)

Definition at line 39 of file fl_dart_project_test.cc.

39 {
40 char assets_path[] = "/normal/tuesday/night/for/shia/labeouf";
41 fl_dart_project_set_assets_path(project, assets_path);
42 EXPECT_STREQ(fl_dart_project_get_assets_path(project), assets_path);
43}
G_MODULE_EXPORT void fl_dart_project_set_assets_path(FlDartProject *self, gchar *path)

References fl_dart_project_get_assets_path(), and fl_dart_project_set_assets_path().

◆ TEST_F() [6/6]

TEST_F ( FlDartProjectTest  ,
OverrideIcuDataPath   
)

Definition at line 45 of file fl_dart_project_test.cc.

45 {
46 char icu_data_path[] = "/living/in/the/woods/icudtl.dat";
47 fl_dart_project_set_icu_data_path(project, icu_data_path);
48 EXPECT_STREQ(fl_dart_project_get_icu_data_path(project), icu_data_path);
49}
G_MODULE_EXPORT void fl_dart_project_set_icu_data_path(FlDartProject *self, gchar *path)

References fl_dart_project_get_icu_data_path(), and fl_dart_project_set_icu_data_path().