|
| 1 | +// _________ __ __ |
| 2 | +// / _____// |_____________ _/ |______ ____ __ __ ______ |
| 3 | +// \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ |
| 4 | +// / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ | |
| 5 | +// /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > |
| 6 | +// \/ \/ \//_____/ \/ |
| 7 | +// ______________________ ______________________ |
| 8 | +// T H E W A R B E G I N S |
| 9 | +// Stratagus - A free fantasy real time strategy game engine |
| 10 | +// |
| 11 | +/**@name test_format.cpp - Test file for function Format. */ |
| 12 | +// |
| 13 | +// (c) Copyright 2024 by Matthias Schwarzott |
| 14 | +// |
| 15 | +// This program is free software; you can redistribute it and/or modify |
| 16 | +// it under the terms of the GNU General Public License as published by |
| 17 | +// the Free Software Foundation; only version 2 of the License. |
| 18 | +// |
| 19 | +// This program is distributed in the hope that it will be useful, |
| 20 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 21 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 22 | +// GNU General Public License for more details. |
| 23 | +// |
| 24 | +// You should have received a copy of the GNU General Public License |
| 25 | +// along with this program; if not, write to the Free Software |
| 26 | +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
| 27 | +// 02111-1307, USA. |
| 28 | +// |
| 29 | + |
| 30 | +#include <doctest.h> |
| 31 | + |
| 32 | +#include "stratagus.h" |
| 33 | + |
| 34 | +TEST_CASE("Format") |
| 35 | +{ |
| 36 | + CHECK("" == Format("")); |
| 37 | + CHECK("1" == Format("1")); |
| 38 | + CHECK("12" == Format("12")); |
| 39 | + CHECK("12\n" == Format("12\n")); |
| 40 | + CHECK("abc\n" == Format("%s", "abc\n")); |
| 41 | + CHECK("abc\n" == Format("%s\n", "abc")); |
| 42 | + CHECK("12345" == Format("%d", 12345)); |
| 43 | + CHECK(" x" == Format("%*s", 10, "x")); |
| 44 | + std::string result = Format("%*s", 100, "x"); |
| 45 | + REQUIRE(result.size() == 100); |
| 46 | + CHECK(result[98] == ' '); |
| 47 | + CHECK(result[99] == 'x'); |
| 48 | +} |
0 commit comments