Files
MapLibreParticleLab/render-test/parser.hpp
2019-06-25 20:10:21 +03:00

34 lines
1.1 KiB
C++

#pragma once
#include <mbgl/util/rapidjson.hpp>
#include <mbgl/util/variant.hpp>
#include <tuple>
#include <string>
#include <vector>
#include "filesystem.hpp"
struct TestMetadata;
struct TestStatistics;
using ErrorMessage = std::string;
using JSONReply = mbgl::variant<mbgl::JSDocument, ErrorMessage>;
using ArgumentsTuple = std::tuple<bool, bool, uint32_t, std::string, std::vector<std::string>>;
JSONReply readJson(const mbgl::filesystem::path&);
std::string serializeJsonValue(const mbgl::JSValue&);
std::vector<std::string> readExpectedEntries(const mbgl::filesystem::path& base);
ArgumentsTuple parseArguments(int argc, char** argv);
std::vector<std::pair<std::string, std::string>> parseIgnores();
TestMetadata parseTestMetadata(const mbgl::filesystem::path& path);
std::string createResultPage(const TestStatistics&, const std::vector<TestMetadata>&, bool shuffle, uint32_t seed);
std::string localizeURL(const std::string& url);
void localizeSourceURLs(mbgl::JSValue& root, mbgl::JSDocument& document);
void localizeStyleURLs(mbgl::JSValue& root, mbgl::JSDocument& document);