diff options
Diffstat (limited to 'test/tile/vector_tile_data.cpp')
-rw-r--r-- | test/tile/vector_tile_data.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/tile/vector_tile_data.cpp b/test/tile/vector_tile_data.cpp new file mode 100644 index 0000000000..28d0e7d8f3 --- /dev/null +++ b/test/tile/vector_tile_data.cpp @@ -0,0 +1,39 @@ +#include <mbgl/test/util.hpp> + +#include <mbgl/tile/vector_tile_data.hpp> +#include <mbgl/util/io.hpp> + +#include <iostream> +#include <fstream> + +#include <dirent.h> + +using namespace mbgl; + +typedef std::pair<uint32_t, std::string> Message; +typedef std::vector<Message> Messages; + +class TileParserTest : public ::testing::TestWithParam<std::string> {}; + +TEST_P(TileParserTest, ParseTile) { + const std::string filename = std::string("test/fixtures/tile_parser/") + GetParam(); + + VectorTileData tile(std::make_shared<const std::string>(util::read_file(filename))); + tile.getLayer("foo"); +} + +INSTANTIATE_TEST_CASE_P(TileParser, TileParserTest, ::testing::ValuesIn([] { + std::vector<std::string> names; + + const std::string tile_directory = "test/fixtures/tile_parser"; + DIR *dir = opendir(tile_directory.c_str()); + if (dir != nullptr) { + for (dirent *dp = nullptr; (dp = readdir(dir)) != nullptr;) { + names.push_back(dp->d_name); + } + closedir(dir); + } + + EXPECT_GT(names.size(), 0u); + return names; +}())); |