|
1 | | -// Copyright (C) 2005 - 2021 Settlers Freaks (sf-team at siedler25.org) |
| 1 | +// Copyright (C) 2005 - 2025 Settlers Freaks (sf-team at siedler25.org) |
2 | 2 | // |
3 | 3 | // SPDX-License-Identifier: GPL-2.0-or-later |
4 | 4 |
|
|
10 | 10 | #include "controls/ctrlGroup.h" |
11 | 11 | #include "controls/ctrlImage.h" |
12 | 12 | #include "controls/ctrlMultiline.h" |
| 13 | +#include "controls/ctrlTextButton.h" |
13 | 14 | #include "desktops/Desktop.h" |
14 | 15 | #include "ingameWindows/iwAddons.h" |
| 16 | +#include "ingameWindows/iwSkipGFs.h" |
15 | 17 | #include "ingameWindows/iwVictory.h" |
16 | 18 | #include "uiHelper/uiHelpers.hpp" |
| 19 | +#include "worldFixtures/CreateEmptyWorld.h" |
| 20 | +#include "worldFixtures/WorldFixture.h" |
| 21 | +#include "world/GameWorldView.h" |
| 22 | +#include "world/GameWorldViewer.h" |
17 | 23 | #include <turtle/mock.hpp> |
18 | 24 | #include <boost/test/unit_test.hpp> |
19 | 25 | #include <mygettext/mygettext.h> |
20 | 26 |
|
21 | 27 | //-V:MOCK_METHOD:813 |
22 | 28 | //-V:MOCK_EXPECT:807 |
23 | 29 |
|
| 30 | +using SmallWorldFixture = WorldFixture<CreateEmptyWorld, 1, 10, 10>; |
| 31 | + |
24 | 32 | BOOST_FIXTURE_TEST_SUITE(Windows, uiHelper::Fixture) |
25 | 33 |
|
26 | 34 | BOOST_AUTO_TEST_CASE(Victory) |
@@ -78,6 +86,19 @@ BOOST_AUTO_TEST_CASE(AddonWindow) |
78 | 86 | } |
79 | 87 | } |
80 | 88 |
|
| 89 | +BOOST_FIXTURE_TEST_CASE(JumpWindow, SmallWorldFixture) |
| 90 | +{ |
| 91 | + // Test if it is constructible only, accesses GameClient for buttons |
| 92 | + GameWorldViewer gwv(0, world); |
| 93 | + GameWorldView view(gwv, Position(0, 0), Extent(100, 100)); |
| 94 | + iwSkipGFs wnd(view); |
| 95 | + // At least 4 buttons for "jump by x" and at least 1 extra for "jump to" |
| 96 | + const auto bts = wnd.GetCtrls<ctrlTextButton>(); |
| 97 | + BOOST_TEST(bts.size() > 4); |
| 98 | + const auto numIncBts = helpers::count_if(bts, [](const ctrlTextButton* bt) { return bt->GetText().at(0) == '+'; }); |
| 99 | + BOOST_TEST(numIncBts >= 4); |
| 100 | +} |
| 101 | + |
81 | 102 | namespace { |
82 | 103 | MOCK_BASE_CLASS(TestWindow, Window) |
83 | 104 | { |
|
0 commit comments