diff --git a/src/kits/locale/Format.cpp b/src/kits/locale/Format.cpp index 5fb451387e..610be0dae4 100644 --- a/src/kits/locale/Format.cpp +++ b/src/kits/locale/Format.cpp @@ -10,9 +10,7 @@ BFormat::BFormat() { const BLocale* locale = BLocaleRoster::Default()->GetDefaultLocale(); - fInitStatus = locale->GetFormattingConventions(&fConventions); - if (fInitStatus == B_OK) - fInitStatus = locale->GetLanguage(&fLanguage); + SetLocale(*locale); } diff --git a/src/kits/locale/TimeUnitFormat.cpp b/src/kits/locale/TimeUnitFormat.cpp index 51a65d4501..036ad74d11 100644 --- a/src/kits/locale/TimeUnitFormat.cpp +++ b/src/kits/locale/TimeUnitFormat.cpp @@ -39,6 +39,7 @@ BTimeUnitFormat::BTimeUnitFormat() Inherited(), fFormatter(NULL) { + SetLanguage(fLanguage); } diff --git a/src/tests/kits/locale/DurationFormatTest.cpp b/src/tests/kits/locale/DurationFormatTest.cpp index 8c88099a93..018cc98eb9 100644 --- a/src/tests/kits/locale/DurationFormatTest.cpp +++ b/src/tests/kits/locale/DurationFormatTest.cpp @@ -23,6 +23,22 @@ DurationFormatTest::~DurationFormatTest() } +void +DurationFormatTest::TestDefault() +{ + BDurationFormat format; + BString buffer; + BString expected; + + status_t result = format.Format(buffer, 0, 800000000000ll); + CPPUNIT_ASSERT_EQUAL(B_OK, result); + // The exact format and language used depends on the locale settings, but + // we can assume that whatever they are, it should put something in the + // string. + CPPUNIT_ASSERT(buffer.Length() > 0); +} + + void DurationFormatTest::TestDuration() { @@ -90,6 +106,8 @@ DurationFormatTest::AddTests(BTestSuite& parent) { CppUnit::TestSuite& suite = *new CppUnit::TestSuite("DurationFormatTest"); + suite.addTest(new CppUnit::TestCaller( + "DurationFormatTest::TestDefault", &DurationFormatTest::TestDefault)); suite.addTest(new CppUnit::TestCaller( "DurationFormatTest::TestDuration", &DurationFormatTest::TestDuration)); suite.addTest(new CppUnit::TestCaller( diff --git a/src/tests/kits/locale/DurationFormatTest.h b/src/tests/kits/locale/DurationFormatTest.h index 80683dc227..8338774312 100644 --- a/src/tests/kits/locale/DurationFormatTest.h +++ b/src/tests/kits/locale/DurationFormatTest.h @@ -15,6 +15,7 @@ public: DurationFormatTest(); virtual ~DurationFormatTest(); + void TestDefault(); void TestDuration(); void TestTimeUnit();