2016-10-24 23:47:00 +00:00
|
|
|
#include <csignal>
|
|
|
|
|
2016-11-02 19:22:45 +00:00
|
|
|
#include "x11/color.hpp"
|
2016-10-24 23:47:00 +00:00
|
|
|
|
|
|
|
int main() {
|
2016-11-19 05:22:44 +00:00
|
|
|
using namespace polybar;
|
2016-10-24 23:47:00 +00:00
|
|
|
|
|
|
|
"color"_test = [] {
|
|
|
|
color test{"#33990022"};
|
2016-10-30 01:18:39 +00:00
|
|
|
expect(test.hex_to_rgba() == "#33990022");
|
|
|
|
expect(test.hex_to_rgb() == "#1E0006");
|
|
|
|
};
|
|
|
|
|
|
|
|
"channels"_test = [] {
|
|
|
|
color test{"#eefb9281"};
|
|
|
|
expect(test.alpha() == 0xee);
|
|
|
|
expect(test.red() == 0xfb);
|
|
|
|
expect(test.green() == 0x92);
|
|
|
|
expect(test.blue() == 0x81);
|
|
|
|
};
|
|
|
|
|
|
|
|
"base"_test = [] {
|
|
|
|
color test{"#eefb9281"};
|
|
|
|
auto hex = test.hex_to_rgb();
|
|
|
|
expect(std::strtoul(&hex[0], 0, 16) == 0x000000);
|
2016-10-24 23:47:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
"cache"_test = [] {
|
|
|
|
expect(g_colorstore.size() == size_t{0});
|
|
|
|
auto c1 = color::parse("#100");
|
|
|
|
expect(g_colorstore.size() == size_t{1});
|
|
|
|
auto c2 = color::parse("#200");
|
|
|
|
expect(g_colorstore.size() == size_t{2});
|
|
|
|
auto c3 = color::parse("#200");
|
|
|
|
expect(g_colorstore.size() == size_t{2});
|
|
|
|
expect(g_colorstore.find("#100")->second.value() == c1.value());
|
|
|
|
};
|
|
|
|
|
|
|
|
"predefined"_test = [] {
|
2016-10-30 01:18:39 +00:00
|
|
|
expect(g_colorblack.hex_to_rgba() == "#FF000000");
|
|
|
|
expect(g_colorwhite.hex_to_rgba() == "#FFFFFFFF");
|
2016-10-24 23:47:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
"parse"_test = [] {
|
2016-10-30 01:18:39 +00:00
|
|
|
expect(color::parse("#ff9900", g_colorblack).hex_to_rgba() == "#FFFF9900");
|
|
|
|
expect(color::parse("invalid", g_colorwhite).hex_to_rgba() == "#FFFFFFFF");
|
|
|
|
expect(color::parse("33990022", g_colorwhite).hex_to_rgb() == "#1E0006");
|
2016-10-24 23:47:00 +00:00
|
|
|
};
|
|
|
|
}
|