/////////////////////////////////////////////////////////////////////////////// // Name: tests/graphics/bmpbundle.cpp // Purpose: wxBitmapBundle unit test // Author: Vadim Zeitlin // Created: 2021-09-27 // Copyright: (c) 2021 Vadim Zeitlin /////////////////////////////////////////////////////////////////////////////// // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- #include "testprec.h" #include "wx/bmpbndl.h" #include "asserthelper.h" // ---------------------------------------------------------------------------- // tests // ---------------------------------------------------------------------------- TEST_CASE("BitmapBundle::Create", "[bmpbundle]") { wxBitmapBundle b; CHECK( !b.IsOk() ); CHECK( b.GetDefaultSize() == wxDefaultSize ); b = wxBitmap(16, 16); CHECK( b.IsOk() ); CHECK( b.GetDefaultSize() == wxSize(16, 16) ); } TEST_CASE("BitmapBundle::FromBitmaps", "[bmpbundle]") { wxVector bitmaps; bitmaps.push_back(wxBitmap(16, 16)); bitmaps.push_back(wxBitmap(24, 24)); wxBitmapBundle b = wxBitmapBundle::FromBitmaps(bitmaps); REQUIRE( b.IsOk() ); CHECK( b.GetDefaultSize() == wxSize(16, 16) ); CHECK( b.GetBitmap(wxDefaultSize ).GetSize() == wxSize(16, 16) ); CHECK( b.GetBitmap(wxSize(16, 16)).GetSize() == wxSize(16, 16) ); CHECK( b.GetBitmap(wxSize(20, 20)).GetSize() == wxSize(20, 20) ); CHECK( b.GetBitmap(wxSize(24, 24)).GetSize() == wxSize(24, 24) ); } #ifdef wxHAS_SVG TEST_CASE("BitmapBundle::FromSVG", "[bmpbundle][svg]") { static const char svg_data[] = "" "" "" "" "" "" "" ; wxBitmapBundle b = wxBitmapBundle::FromSVG(svg_data, wxSize(20, 20)); REQUIRE( b.IsOk() ); CHECK( b.GetDefaultSize() == wxSize(20, 20) ); CHECK( b.GetBitmap(wxSize(32, 32)).GetSize() == wxSize(32, 32) ); // Check that not using XML header works too. const char* svg_tag_start = strstr(svg_data, "