mirror of
https://github.com/loot/libloot.git
synced 2026-07-27 14:16:01 -07:00
Improve Language tests
This commit is contained in:
+1
-1
@@ -241,7 +241,7 @@ set (LOOT_TESTS_HEADERS "${CMAKE_SOURCE_DIR}/src/tests/base_game_test.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/game/load_order_handler_test.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/helpers/git_helper_test.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/helpers/helpers_test.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/helpers/test_language.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/helpers/language_test.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/helpers/test_version.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/helpers/test_yaml_set_helpers.h"
|
||||
"${CMAKE_SOURCE_DIR}/src/tests/backend/metadata/test_condition_grammar.h"
|
||||
|
||||
+23
-21
@@ -26,49 +26,50 @@ along with LOOT. If not, see
|
||||
#define LOOT_TEST_BACKEND_HELPERS_LANGUAGE
|
||||
|
||||
#include "backend/helpers/language.h"
|
||||
#include "tests/fixtures.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
namespace loot {
|
||||
namespace test {
|
||||
TEST(Language, ConstructorsAndDataAccess) {
|
||||
// Test English code and locale.
|
||||
TEST(Language, codeConstructorShouldSetTheCorrectData) {
|
||||
Language lang(Language::english);
|
||||
EXPECT_EQ(Language::english, lang.Code());
|
||||
EXPECT_EQ("English", lang.Name());
|
||||
EXPECT_EQ("en", lang.Locale());
|
||||
|
||||
lang = Language("en");
|
||||
EXPECT_EQ(Language::english, lang.Code());
|
||||
EXPECT_EQ("English", lang.Name());
|
||||
EXPECT_EQ("en", lang.Locale());
|
||||
|
||||
// Test code and locale for a couple of other languages, in case English
|
||||
// is wrongly being used for everything. No point testing all languages,
|
||||
// because that would just be copying the class code.
|
||||
lang = Language(Language::polish);
|
||||
EXPECT_EQ(Language::polish, lang.Code());
|
||||
EXPECT_EQ("Polski", lang.Name());
|
||||
EXPECT_EQ("pl", lang.Locale());
|
||||
}
|
||||
|
||||
TEST(Language, localeConstructorShouldSetTheCorrectData) {
|
||||
Language lang("en");
|
||||
EXPECT_EQ(Language::english, lang.Code());
|
||||
EXPECT_EQ("English", lang.Name());
|
||||
EXPECT_EQ("en", lang.Locale());
|
||||
|
||||
lang = Language("de");
|
||||
EXPECT_EQ(Language::german, lang.Code());
|
||||
EXPECT_EQ("Deutsch", lang.Name());
|
||||
EXPECT_EQ("de", lang.Locale());
|
||||
}
|
||||
|
||||
// Test that invalid values get treated as English.
|
||||
lang = Language(1000);
|
||||
EXPECT_EQ(Language::english, lang.Code());
|
||||
EXPECT_EQ("English", lang.Name());
|
||||
EXPECT_EQ("en", lang.Locale());
|
||||
|
||||
lang = Language("foo");
|
||||
TEST(Language, codeConstructorShouldTreatAnInvalidCodeAsEnglish) {
|
||||
Language lang(1000);
|
||||
EXPECT_EQ(Language::english, lang.Code());
|
||||
EXPECT_EQ("English", lang.Name());
|
||||
EXPECT_EQ("en", lang.Locale());
|
||||
}
|
||||
|
||||
TEST(Language, Codes) {
|
||||
// Check that all the expected codes are given.
|
||||
TEST(Language, localeConstructorShouldTreatAnInvalidLocaleAsEnglish) {
|
||||
Language lang("foo");
|
||||
EXPECT_EQ(Language::english, lang.Code());
|
||||
EXPECT_EQ("English", lang.Name());
|
||||
EXPECT_EQ("en", lang.Locale());
|
||||
}
|
||||
|
||||
TEST(Language, codesShouldContainAllExpectedLanguageCodes) {
|
||||
std::vector<unsigned int> codes = {
|
||||
Language::english,
|
||||
Language::spanish,
|
||||
@@ -82,7 +83,8 @@ namespace loot {
|
||||
Language::danish,
|
||||
Language::korean
|
||||
};
|
||||
EXPECT_EQ(Language::Codes, codes);
|
||||
|
||||
EXPECT_EQ(codes, Language::Codes);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -47,7 +47,7 @@
|
||||
#include "backend/game/load_order_handler_test.h"
|
||||
#include "backend/helpers/git_helper_test.h"
|
||||
#include "backend/helpers/helpers_test.h"
|
||||
#include "backend/helpers/test_language.h"
|
||||
#include "backend/helpers/language_test.h"
|
||||
#include "backend/helpers/test_version.h"
|
||||
#include "backend/helpers/test_yaml_set_helpers.h"
|
||||
#include "backend/metadata/test_condition_grammar.h"
|
||||
|
||||
Reference in New Issue
Block a user