Move layout reload policy into platform api
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
#include "test_harness.h"
|
||||
|
||||
#include "platform_api/asset_file_load_policy.h"
|
||||
#include "platform_api/network_tls_policy.h"
|
||||
#include "platform_api/platform_services.h"
|
||||
|
||||
#include <filesystem>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <utility>
|
||||
@@ -757,6 +760,36 @@ void default_network_tls_policy_matches_build_target(pp::tests::Harness& harness
|
||||
#endif
|
||||
}
|
||||
|
||||
void asset_file_load_policy_preserves_platform_reload_behavior(pp::tests::Harness& harness)
|
||||
{
|
||||
const auto temp_path = std::filesystem::temp_directory_path()
|
||||
/ "panopainter-platform-api-file-policy.xml";
|
||||
{
|
||||
std::ofstream file(temp_path);
|
||||
file << "<layouts />";
|
||||
}
|
||||
|
||||
const auto first_load = pp::platform::plan_asset_file_load(
|
||||
temp_path.string(),
|
||||
false,
|
||||
0);
|
||||
PP_EXPECT(harness, first_load.should_read_file);
|
||||
PP_EXPECT(harness, first_load.skipped_load_result);
|
||||
|
||||
const auto repeated_load = pp::platform::plan_asset_file_load(
|
||||
temp_path.string(),
|
||||
true,
|
||||
first_load.last_write_time);
|
||||
PP_EXPECT(harness, !repeated_load.should_read_file);
|
||||
#if defined(_WIN32) || defined(__OSX__)
|
||||
PP_EXPECT(harness, !repeated_load.skipped_load_result);
|
||||
#else
|
||||
PP_EXPECT(harness, repeated_load.skipped_load_result);
|
||||
#endif
|
||||
|
||||
std::filesystem::remove(temp_path);
|
||||
}
|
||||
|
||||
void platform_services_dispatch_ppbr_export_directory_policy(pp::tests::Harness& harness)
|
||||
{
|
||||
FakePlatformServices fake("unused");
|
||||
@@ -833,6 +866,9 @@ int main()
|
||||
platform_services_dispatch_document_export_collection_policy);
|
||||
harness.run("platform services dispatch network tls policy", platform_services_dispatch_network_tls_policy);
|
||||
harness.run("default network tls policy matches build target", default_network_tls_policy_matches_build_target);
|
||||
harness.run(
|
||||
"asset file load policy preserves platform reload behavior",
|
||||
asset_file_load_policy_preserves_platform_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