add missing gradient definition test
This commit is contained in:
parent
626cb9f47c
commit
158e4b7f87
2 changed files with 46 additions and 1 deletions
|
@ -1 +1 @@
|
|||
Subproject commit 867d26dbfc536e58abcb25d4db5726a921cccf79
|
||||
Subproject commit 626a2f6fb9f952e429915d5481b26b4bc0f49504
|
|
@ -396,6 +396,51 @@ TEST_CASE("SVG parser") {
|
|||
|
||||
REQUIRE(std::equal(expected.begin(),expected.end(), vec.begin()));
|
||||
}
|
||||
SECTION("SVG missing <gradient> def")
|
||||
{
|
||||
//
|
||||
std::string svg_name("./test/data/svg/gradient-nodef.svg");
|
||||
std::shared_ptr<mapnik::marker const> marker = mapnik::marker_cache::instance().find(svg_name, false);
|
||||
REQUIRE(marker);
|
||||
REQUIRE(marker->is<mapnik::marker_svg>());
|
||||
mapnik::marker_svg const& svg = mapnik::util::get<mapnik::marker_svg>(*marker);
|
||||
auto bbox = svg.bounding_box();
|
||||
REQUIRE(bbox == mapnik::box2d<double>(1.0,1.0,799.0,599.0));
|
||||
auto storage = svg.get_data();
|
||||
REQUIRE(storage);
|
||||
mapnik::svg::vertex_stl_adapter<mapnik::svg::svg_path_storage> stl_storage(storage->source());
|
||||
mapnik::svg::svg_path_adapter path(stl_storage);
|
||||
double x,y;
|
||||
unsigned cmd;
|
||||
std::vector<std::tuple<double,double,unsigned>> vec;
|
||||
std::size_t num_vertices = path.total_vertices();
|
||||
|
||||
for (std::size_t i = 0; i < num_vertices; ++i)
|
||||
{
|
||||
cmd = path.vertex(&x,&y);
|
||||
vec.emplace_back(x, y, cmd);
|
||||
}
|
||||
|
||||
std::vector<std::tuple<double,double,unsigned>> expected = {std::make_tuple(1, 1, 1),
|
||||
std::make_tuple(799, 1, 2),
|
||||
std::make_tuple(799, 599, 2),
|
||||
std::make_tuple(1, 599, 2),
|
||||
std::make_tuple(1, 1, 79),
|
||||
std::make_tuple(0, 0, 0),
|
||||
std::make_tuple(100, 100, 1),
|
||||
std::make_tuple(700, 100, 2),
|
||||
std::make_tuple(700, 300, 2),
|
||||
std::make_tuple(100, 300, 2),
|
||||
std::make_tuple(100, 100, 79),
|
||||
std::make_tuple(0, 0, 0),
|
||||
std::make_tuple(100, 320, 1),
|
||||
std::make_tuple(700, 320, 2),
|
||||
std::make_tuple(700, 520, 2),
|
||||
std::make_tuple(100, 520, 2),
|
||||
std::make_tuple(100, 320, 79)};
|
||||
|
||||
REQUIRE(std::equal(expected.begin(),expected.end(), vec.begin()));
|
||||
}
|
||||
|
||||
|
||||
xmlCleanupParser();
|
||||
|
|
Loading…
Add table
Reference in a new issue