Update catch.hpp to v2.13.1 + fix tests
This commit is contained in:
parent
ea7003628f
commit
d6d69df498
5 changed files with 9874 additions and 8073 deletions
17864
test/catch.hpp
17864
test/catch.hpp
File diff suppressed because it is too large
Load diff
|
@ -67,6 +67,16 @@ std::pair<mapnik::datasource_ptr,mapnik::feature_ptr> fetch_first_feature(std::s
|
||||||
return std::make_pair(ds,feature);
|
return std::make_pair(ds,feature);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void iterate_over_features(mapnik::featureset_ptr features)
|
||||||
|
{
|
||||||
|
auto feature = features->next();
|
||||||
|
while (feature != nullptr)
|
||||||
|
{
|
||||||
|
feature = features->next();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_CASE("geojson") {
|
TEST_CASE("geojson") {
|
||||||
|
@ -673,12 +683,7 @@ TEST_CASE("geojson") {
|
||||||
auto fields = ds->get_descriptor().get_descriptors();
|
auto fields = ds->get_descriptor().get_descriptors();
|
||||||
mapnik::query query(ds->envelope());
|
mapnik::query query(ds->envelope());
|
||||||
auto features = ds->features(query);
|
auto features = ds->features(query);
|
||||||
REQUIRE_THROWS(
|
REQUIRE_THROWS(iterate_over_features(features));
|
||||||
auto feature = features->next();
|
|
||||||
while (feature != nullptr)
|
|
||||||
{
|
|
||||||
feature = features->next();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// cleanup
|
// cleanup
|
||||||
|
|
|
@ -19,16 +19,14 @@ SECTION("test bad filter input") {
|
||||||
mapnik::fill(im,mapnik::color("blue"));
|
mapnik::fill(im,mapnik::color("blue"));
|
||||||
mapnik::set_pixel(im, 1, 1, mapnik::color("red"));
|
mapnik::set_pixel(im, 1, 1, mapnik::color("red"));
|
||||||
|
|
||||||
REQUIRE_THROWS( mapnik::filter::filter_image(im, "foo,asdfasdf()"); );
|
REQUIRE_THROWS( mapnik::filter::filter_image(im, "foo,asdfasdf()"));
|
||||||
REQUIRE_THROWS( mapnik::filter::filter_image(im, "colorize-alpha("); );
|
REQUIRE_THROWS( mapnik::filter::filter_image(im, "colorize-alpha("));
|
||||||
REQUIRE_THROWS( mapnik::filter::filter_image(im, "color-to-alpha(blue"); );
|
REQUIRE_THROWS( mapnik::filter::filter_image(im, "color-to-alpha(blue"));
|
||||||
REQUIRE_THROWS( mapnik::filter::filter_image(im, "color-to-alpha(,blue)"); );
|
REQUIRE_THROWS( mapnik::filter::filter_image(im, "color-to-alpha(,blue)"));
|
||||||
REQUIRE_THROWS( mapnik::filter::filter_image(im, "colorize-alpha()"); );
|
REQUIRE_THROWS( mapnik::filter::filter_image(im, "colorize-alpha()"));
|
||||||
|
|
||||||
REQUIRE_THROWS(
|
mapnik::image_rgba8 const& im2 = im;
|
||||||
mapnik::image_rgba8 const& im2 = im;
|
REQUIRE_THROWS(mapnik::filter::filter_image(im2, "foo"));
|
||||||
mapnik::image_rgba8 new_im = mapnik::filter::filter_image(im2, "foo");
|
|
||||||
);
|
|
||||||
|
|
||||||
CHECK(im(0,0) == 0xffff0000);
|
CHECK(im(0,0) == 0xffff0000);
|
||||||
CHECK(im(0,1) == 0xffff0000);
|
CHECK(im(0,1) == 0xffff0000);
|
||||||
|
@ -158,7 +156,7 @@ SECTION("test scale-hsla 2") {
|
||||||
|
|
||||||
// Should not throw on values out of [0, 1]
|
// Should not throw on values out of [0, 1]
|
||||||
// https://github.com/mapnik/mapnik/issues/3052
|
// https://github.com/mapnik/mapnik/issues/3052
|
||||||
REQUIRE_NOTHROW(mapnik::filter::filter_image(im, "scale-hsla(0.0,1.5,-1.0,1.0,-1.0,2.0,1.0,1.0)"););
|
REQUIRE_NOTHROW(mapnik::filter::filter_image(im, "scale-hsla(0.0,1.5,-1.0,1.0,-1.0,2.0,1.0,1.0)"));
|
||||||
|
|
||||||
CHECK(im(0,0) == 0xff0000ff);
|
CHECK(im(0,0) == 0xff0000ff);
|
||||||
CHECK(im(0,1) == 0xffefeff4);
|
CHECK(im(0,1) == 0xffefeff4);
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include <mapnik/warning_ignore.hpp>
|
#include <mapnik/warning_ignore.hpp>
|
||||||
#include <boost/format.hpp>
|
#include <boost/format.hpp>
|
||||||
#include <boost/filesystem/convenience.hpp>
|
#include <boost/filesystem/convenience.hpp>
|
||||||
|
#include <boost/optional/optional_io.hpp>
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
|
|
||||||
inline void make_directory(std::string const& dir) {
|
inline void make_directory(std::string const& dir) {
|
||||||
|
@ -65,7 +66,7 @@ SECTION("readers") {
|
||||||
REQUIRE( mapnik::util::exists( should_throw ) );
|
REQUIRE( mapnik::util::exists( should_throw ) );
|
||||||
type = mapnik::type_from_filename(should_throw);
|
type = mapnik::type_from_filename(should_throw);
|
||||||
REQUIRE( type );
|
REQUIRE( type );
|
||||||
REQUIRE_THROWS(std::unique_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(should_throw,*type)));
|
REQUIRE_THROWS(mapnik::get_image_reader(should_throw,*type));
|
||||||
|
|
||||||
// actually a png so jpeg reader should throw
|
// actually a png so jpeg reader should throw
|
||||||
should_throw = "./test/data/images/landusepattern.jpg";
|
should_throw = "./test/data/images/landusepattern.jpg";
|
||||||
|
@ -84,7 +85,7 @@ SECTION("readers") {
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
REQUIRE_THROWS(mapnik::image_rgba8 im(-10,-10)); // should throw rather than overflow
|
REQUIRE_THROWS(mapnik::image_rgba8(-10,-10)); // should throw rather than overflow
|
||||||
|
|
||||||
#if defined(HAVE_CAIRO)
|
#if defined(HAVE_CAIRO)
|
||||||
mapnik::cairo_surface_ptr image_surface(
|
mapnik::cairo_surface_ptr image_surface(
|
||||||
|
@ -103,13 +104,13 @@ SECTION("readers") {
|
||||||
REQUIRE( mapnik::util::exists( should_throw ) );
|
REQUIRE( mapnik::util::exists( should_throw ) );
|
||||||
type = mapnik::type_from_filename(should_throw);
|
type = mapnik::type_from_filename(should_throw);
|
||||||
REQUIRE( type );
|
REQUIRE( type );
|
||||||
REQUIRE_THROWS(std::unique_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(should_throw,*type)));
|
REQUIRE_THROWS(mapnik::get_image_reader(should_throw,*type));
|
||||||
|
|
||||||
should_throw = "./test/data/images/xcode-CgBI.png";
|
should_throw = "./test/data/images/xcode-CgBI.png";
|
||||||
REQUIRE( mapnik::util::exists( should_throw ) );
|
REQUIRE( mapnik::util::exists( should_throw ) );
|
||||||
type = mapnik::type_from_filename(should_throw);
|
type = mapnik::type_from_filename(should_throw);
|
||||||
REQUIRE( type );
|
REQUIRE( type );
|
||||||
REQUIRE_THROWS(std::unique_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(should_throw,*type)));
|
REQUIRE_THROWS(mapnik::get_image_reader(should_throw,*type));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_TIFF)
|
#if defined(HAVE_TIFF)
|
||||||
|
@ -117,7 +118,7 @@ SECTION("readers") {
|
||||||
REQUIRE( mapnik::util::exists( should_throw ) );
|
REQUIRE( mapnik::util::exists( should_throw ) );
|
||||||
type = mapnik::type_from_filename(should_throw);
|
type = mapnik::type_from_filename(should_throw);
|
||||||
REQUIRE( type );
|
REQUIRE( type );
|
||||||
REQUIRE_THROWS(std::unique_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(should_throw,*type)));
|
REQUIRE_THROWS(mapnik::get_image_reader(should_throw,*type));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_WEBP)
|
#if defined(HAVE_WEBP)
|
||||||
|
@ -125,7 +126,7 @@ SECTION("readers") {
|
||||||
REQUIRE( mapnik::util::exists( should_throw ) );
|
REQUIRE( mapnik::util::exists( should_throw ) );
|
||||||
type = mapnik::type_from_filename(should_throw);
|
type = mapnik::type_from_filename(should_throw);
|
||||||
REQUIRE( type );
|
REQUIRE( type );
|
||||||
REQUIRE_THROWS(std::unique_ptr<mapnik::image_reader> reader(mapnik::get_image_reader(should_throw,*type)));
|
REQUIRE_THROWS(mapnik::get_image_reader(should_throw,*type));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
catch (std::exception const & ex)
|
catch (std::exception const & ex)
|
||||||
|
|
|
@ -8,33 +8,22 @@
|
||||||
|
|
||||||
#include "cleanup.hpp" // run_cleanup()
|
#include "cleanup.hpp" // run_cleanup()
|
||||||
|
|
||||||
std::string plugin_path;
|
|
||||||
|
|
||||||
inline void set_plugin_path(Catch::ConfigData&, std::string const& _plugin_path ) {
|
int main (int argc, char** argv)
|
||||||
plugin_path = _plugin_path;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string working_dir;
|
|
||||||
|
|
||||||
inline void set_working_dir(Catch::ConfigData&, std::string const& _working_dir ) {
|
|
||||||
working_dir = _working_dir;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main (int argc, char* const argv[])
|
|
||||||
{
|
{
|
||||||
Catch::Session session;
|
Catch::Session session;
|
||||||
|
std::string plugin_path;
|
||||||
|
std::string working_dir;
|
||||||
|
auto cli = session.cli()
|
||||||
|
|
|
||||||
|
Catch::clara::Opt(plugin_path, "plugins")
|
||||||
|
["-p"]["--plugins"] ("path to mapnik plugins")
|
||||||
|
|
|
||||||
|
Catch::clara::Opt(working_dir, "working directory")
|
||||||
|
["-C"]["--working-directory"] ("change working directory")
|
||||||
|
;
|
||||||
|
|
||||||
auto & cli = session.cli();
|
session.cli(cli);
|
||||||
|
|
||||||
cli["-p"]["--plugins"]
|
|
||||||
.describe("path to mapnik plugins")
|
|
||||||
.bind(&set_plugin_path, "plugins");
|
|
||||||
|
|
||||||
cli["-C"]["--working-directory"]
|
|
||||||
.describe("change working directory")
|
|
||||||
.bind(&set_working_dir, "working directory");
|
|
||||||
|
|
||||||
int result = session.applyCommandLine(argc, argv);
|
int result = session.applyCommandLine(argc, argv);
|
||||||
|
|
||||||
if (!plugin_path.empty())
|
if (!plugin_path.empty())
|
||||||
|
|
Loading…
Reference in a new issue