diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-02-27 19:38:14 +0000 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-02-27 19:38:14 +0000 |
commit | b7b9eb7bb9deb6704f276fb3b8fd67ba370caf3e (patch) | |
tree | cfbb3bac94271c04a44610f5f40751e74ea4d227 /test | |
parent | operator*= can work on any iterable collection (diff) | |
download | ilt-b7b9eb7bb9deb6704f276fb3b8fd67ba370caf3e.tar.bz2 ilt-b7b9eb7bb9deb6704f276fb3b8fd67ba370caf3e.tar.xz ilt-b7b9eb7bb9deb6704f276fb3b8fd67ba370caf3e.zip |
Load the X11 RGB colour definitions into a map
Diffstat (limited to 'test')
-rw-r--r-- | test/fixtures/rgb.txt | 20 | ||||
-rw-r--r-- | test/test-assetFactory.cpp | 30 |
2 files changed, 50 insertions, 0 deletions
diff --git a/test/fixtures/rgb.txt b/test/fixtures/rgb.txt new file mode 100644 index 0000000..2fab7af --- /dev/null +++ b/test/fixtures/rgb.txt @@ -0,0 +1,20 @@ +127 255 0 chartreuse1 +190 190 190 x11 gray +169 169 169 DarkGrey + 0 255 255 cyan +173 173 173 gray68 +202 225 255 LightSteelBlue1 + 72 209 204 medium turquoise +224 238 224 honeydew2 +238 197 145 burlywood2 +205 133 63 peru + 28 28 28 gray11 + 83 134 139 CadetBlue4 +139 76 57 salmon4 +238 232 170 pale goldenrod +112 128 144 slate grey +255 255 0 yellow1 +159 121 238 MediumPurple2 +190 190 190 gray + 66 66 66 grey26 +0 0 139 DarkBlue diff --git a/test/test-assetFactory.cpp b/test/test-assetFactory.cpp index fd7a41d..89f6bf0 100644 --- a/test/test-assetFactory.cpp +++ b/test/test-assetFactory.cpp @@ -11,6 +11,7 @@ #include "gfx/gl/sceneRenderer.h" #include "lib/collection.hpp" #include "lib/location.hpp" +#include "lib/stream_support.hpp" #include "testMainWindow.h" #include "ui/applicationBase.h" @@ -180,3 +181,32 @@ BOOST_AUTO_TEST_CASE(brush47xml) render(20); } BOOST_AUTO_TEST_SUITE_END(); + +template<typename T> using InOut = std::tuple<T, T>; +BOOST_DATA_TEST_CASE(normalizeColourName, + boost::unit_test::data::make<InOut<std::string>>({ + {"", ""}, + {"black", "black"}, + {" black ", "black"}, + {" b l a c k ", "black"}, + {" B L A c k ", "black"}, + {"BLAck ", "black"}, + {"BLACK ", "black"}, + {"BlAck ", "black"}, + {"Bl Ack ", "black"}, + }), + in_, exp) +{ + auto in {in_}; + BOOST_CHECK_NO_THROW(AssetFactory::normalizeColourName(in)); + BOOST_CHECK_EQUAL(in, exp); +} + +BOOST_AUTO_TEST_CASE(parseX11RGB) +{ + const auto parsedColours = AssetFactory::parseX11RGB(FIXTURESDIR "rgb.txt"); + BOOST_REQUIRE_EQUAL(parsedColours.size(), 20); + BOOST_CHECK_EQUAL(parsedColours.at("cyan"), AssetFactory::Colour(0, 255, 255)); + BOOST_CHECK_EQUAL(parsedColours.at("slategrey"), AssetFactory::Colour(112, 128, 144)); + BOOST_CHECK_EQUAL(parsedColours.at("lightsteelblue1"), AssetFactory::Colour(202, 225, 255)); +} |