Fixes broken export to PDF with links.
[inkscape.git] / testfiles / src / ui-util-test.cpp
blob1cd95a2baf306ba096bcd11cf2a78d6ff2a9bafe
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /**
3 * @file
4 * Test utilities from src/ui/
5 */
6 /*
7 * Authors:
8 * Martin Owens
10 * Copyright (C) 2024 Authors
12 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
15 #include <gtest/gtest.h>
16 #include "test-utils.h"
18 #include "ui/widget/canvas/util.h"
20 using namespace Inkscape::UI::Widget;
22 ::testing::AssertionResult Array3IsNear(std::array<float, 3> const &A, std::vector<double> const &B, double epsilon)
24 std::vector<double> av;
25 for (auto v : A) {
26 av.emplace_back((double)v);
28 return VectorIsNear(av, B, epsilon);
31 TEST(UtilTest, CheckerboardDarken)
33 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x00000000), {0.08, 0.08, 0.08}, 0.01));
34 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x00000080), {0.0398, 0.0398, 0.0398}, 0.01));
35 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x000000ff), {0, 0, 0}, 0.01));
36 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x00000080), {0.0398, 0.0398, 0.0398}, 0.01));
37 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0xffffff00), {0.92, 0.92, 0.92}, 0.01));
38 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0xffffffff), {1, 1, 1}, 0.01));
39 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x80808000), {0.422, 0.422, 0.422}, 0.01));
40 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x80808080), {0.462, 0.462, 0.462}, 0.01));
41 EXPECT_TRUE(Array3IsNear(checkerboard_darken(0x808080ff), {0.502, 0.502, 0.502}, 0.01));
44 // vim: filetype=cpp:expandtab:shiftwidth=4:softtabstop=4:fileencoding=utf-8:textwidth=99 :