xref: /haiku/src/tests/kits/locale/LanguageTest.cpp (revision 9aed476999435ab236c8da10e6b8815833cd5a63)
1 /*
2  * Copyright 2014-2021 Haiku, Inc.
3  * Distributed under the terms of the MIT License.
4  */
5 
6 
7 #include "LanguageTest.h"
8 
9 #include "Language.h"
10 
11 #include <cppunit/TestCaller.h>
12 #include <cppunit/TestSuite.h>
13 
14 
15 LanguageTest::LanguageTest()
16 {
17 }
18 
19 
20 LanguageTest::~LanguageTest()
21 {
22 }
23 
24 
25 void
26 LanguageTest::TestLanguageNameFrenchInEnglish()
27 {
28 	// GIVEN
29 	BLanguage languageFrench("fr_FR");
30 	BLanguage languageEnglish("en_US");
31 	BString name;
32 
33 	// WHEN
34 	languageFrench.GetName(name, &languageEnglish);
35 		// get the name of French in English
36 
37 	// THEN
38 	CPPUNIT_ASSERT_EQUAL(BString("French (France)"), name);
39 }
40 
41 
42 void
43 LanguageTest::TestLanguageNameFrenchInFrench()
44 {
45 	// GIVEN
46 	BLanguage languageFrench("fr_FR");
47 	BString name;
48 
49 	// WHEN
50 	languageFrench.GetName(name, &languageFrench);
51 		// get the name of French in French
52 
53 	// THEN
54 	CPPUNIT_ASSERT_EQUAL(BString("français (France)"), name);
55 }
56 
57 
58 void
59 LanguageTest::TestLanguagePropertiesFrench()
60 {
61 	// GIVEN
62 	BLanguage language("fr_FR");
63 
64 	// WHEN
65 
66 	// THEN
67 	CPPUNIT_ASSERT_EQUAL(BString("fr"), language.Code());
68 	CPPUNIT_ASSERT(language.Direction() == B_LEFT_TO_RIGHT);
69 }
70 
71 
72 /*static*/ void
73 LanguageTest::AddTests(BTestSuite& parent)
74 {
75 	CppUnit::TestSuite& suite = *new CppUnit::TestSuite("LanguageTest");
76 
77 	suite.addTest(new CppUnit::TestCaller<LanguageTest>(
78 		"LanguageTest::TestLanguageNameFrenchInEnglish",
79 		&LanguageTest::TestLanguageNameFrenchInEnglish));
80 	suite.addTest(new CppUnit::TestCaller<LanguageTest>(
81 		"LanguageTest::TestLanguageNameFrenchInFrench",
82 		&LanguageTest::TestLanguageNameFrenchInFrench));
83 	suite.addTest(new CppUnit::TestCaller<LanguageTest>(
84 		"LanguageTest::TestLanguagePropertiesFrench",
85 		&LanguageTest::TestLanguagePropertiesFrench));
86 
87 	parent.addTest("LanguageTest", &suite);
88 }
89