Split asset reload platform policy
This commit is contained in:
@@ -799,6 +799,54 @@ void asset_file_load_policy_preserves_platform_reload_behavior(pp::tests::Harnes
|
||||
std::filesystem::remove(temp_path);
|
||||
}
|
||||
|
||||
void asset_file_load_policy_preserves_family_reload_behavior(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto missing_desktop = pp::platform::plan_asset_file_load_with_probe(
|
||||
pp::platform::PlatformFamily::windows,
|
||||
false,
|
||||
7,
|
||||
{});
|
||||
PP_EXPECT(harness, !missing_desktop.should_read_file);
|
||||
PP_EXPECT(harness, !missing_desktop.skipped_load_result);
|
||||
PP_EXPECT(harness, missing_desktop.last_write_time == 7);
|
||||
|
||||
const auto stale_desktop = pp::platform::plan_asset_file_load_with_probe(
|
||||
pp::platform::PlatformFamily::macos,
|
||||
true,
|
||||
7,
|
||||
{ true, 7 });
|
||||
PP_EXPECT(harness, !stale_desktop.should_read_file);
|
||||
PP_EXPECT(harness, !stale_desktop.skipped_load_result);
|
||||
PP_EXPECT(harness, stale_desktop.last_write_time == 7);
|
||||
|
||||
const auto fresh_desktop = pp::platform::plan_asset_file_load_with_probe(
|
||||
pp::platform::PlatformFamily::windows,
|
||||
true,
|
||||
7,
|
||||
{ true, 8 });
|
||||
PP_EXPECT(harness, fresh_desktop.should_read_file);
|
||||
PP_EXPECT(harness, fresh_desktop.skipped_load_result);
|
||||
PP_EXPECT(harness, fresh_desktop.last_write_time == 8);
|
||||
|
||||
const auto first_mobile = pp::platform::plan_asset_file_load_with_probe(
|
||||
pp::platform::PlatformFamily::ios,
|
||||
false,
|
||||
7,
|
||||
{});
|
||||
PP_EXPECT(harness, first_mobile.should_read_file);
|
||||
PP_EXPECT(harness, first_mobile.skipped_load_result);
|
||||
PP_EXPECT(harness, first_mobile.last_write_time == 7);
|
||||
|
||||
const auto repeated_web = pp::platform::plan_asset_file_load_with_probe(
|
||||
pp::platform::PlatformFamily::webgl,
|
||||
true,
|
||||
7,
|
||||
{ true, 99 });
|
||||
PP_EXPECT(harness, !repeated_web.should_read_file);
|
||||
PP_EXPECT(harness, repeated_web.skipped_load_result);
|
||||
PP_EXPECT(harness, repeated_web.last_write_time == 7);
|
||||
}
|
||||
|
||||
void platform_services_dispatch_ppbr_export_directory_policy(pp::tests::Harness& harness)
|
||||
{
|
||||
FakePlatformServices fake("unused");
|
||||
@@ -929,6 +977,9 @@ void platform_policy_preserves_ui_asset_and_input_rules(pp::tests::Harness& harn
|
||||
PP_EXPECT(harness, pp::platform::platform_enables_live_asset_reloading(pp::platform::PlatformFamily::windows));
|
||||
PP_EXPECT(harness, pp::platform::platform_enables_live_asset_reloading(pp::platform::PlatformFamily::macos));
|
||||
PP_EXPECT(harness, !pp::platform::platform_enables_live_asset_reloading(pp::platform::PlatformFamily::ios));
|
||||
PP_EXPECT(harness, pp::platform::platform_uses_asset_file_mtime_reload(pp::platform::PlatformFamily::windows));
|
||||
PP_EXPECT(harness, pp::platform::platform_uses_asset_file_mtime_reload(pp::platform::PlatformFamily::macos));
|
||||
PP_EXPECT(harness, !pp::platform::platform_uses_asset_file_mtime_reload(pp::platform::PlatformFamily::android));
|
||||
PP_EXPECT(harness, pp::platform::platform_saves_native_ui_state(pp::platform::PlatformFamily::windows));
|
||||
PP_EXPECT(harness, pp::platform::platform_saves_native_ui_state(pp::platform::PlatformFamily::macos));
|
||||
PP_EXPECT(harness, !pp::platform::platform_saves_native_ui_state(pp::platform::PlatformFamily::webgl));
|
||||
@@ -990,6 +1041,9 @@ int main()
|
||||
harness.run(
|
||||
"asset file load policy preserves platform reload behavior",
|
||||
asset_file_load_policy_preserves_platform_reload_behavior);
|
||||
harness.run(
|
||||
"asset file load policy preserves family reload behavior",
|
||||
asset_file_load_policy_preserves_family_reload_behavior);
|
||||
harness.run(
|
||||
"platform services dispatch ppbr export directory policy",
|
||||
platform_services_dispatch_ppbr_export_directory_policy);
|
||||
|
||||
Reference in New Issue
Block a user