[locale] Add FreeBSD test data for locale-mapping
This commit is contained in:
parent
f7a7ad9943
commit
61a07f05ba
@ -390,8 +390,12 @@ LocaleTests::testKDENeonLanguageData()
|
||||
const QStringList neonLocales = splitTestFileIntoLines( QStringLiteral( "locale-data-neon" ) );
|
||||
cDebug() << "Loaded KDE neon locales test data" << neonLocales.front() << "to" << neonLocales.back();
|
||||
QCOMPARE( neonLocales.length(), 318 ); // wc -l tells me 318 lines
|
||||
|
||||
m_KDEneonLocales = neonLocales;
|
||||
|
||||
const QStringList bsdLocales = splitTestFileIntoLines( QStringLiteral( "locale-data-freebsd" ) );
|
||||
cDebug() << "Loaded FreeBSD locales test data" << bsdLocales.front() << "to" << bsdLocales.back();
|
||||
QCOMPARE( bsdLocales.length(), 79 );
|
||||
m_FreeBSDLocales = bsdLocales;
|
||||
}
|
||||
|
||||
void
|
||||
@ -399,13 +403,17 @@ LocaleTests::testLanguageMapping_data()
|
||||
{
|
||||
QTest::addColumn< QString >( "selectedLanguage" );
|
||||
QTest::addColumn< QString >( "KDEneonLanguage" );
|
||||
QTest::addColumn< QString >( "FreeBSDLanguage" );
|
||||
|
||||
// Tired of writing QString or QStringLiteral all the time.
|
||||
auto l = []( const char* p ) { return QString::fromUtf8( p ); };
|
||||
auto u = [](){ return QString(); };
|
||||
|
||||
// The KDEneon columns include the .UTF-8 from the source data
|
||||
// The FreeBSD columns may have u() to indicate "same as KDEneon",
|
||||
// that's an empty string.
|
||||
//
|
||||
// Each column shows how a language -- which can be selected from the
|
||||
// Each row shows how a language -- which can be selected from the
|
||||
// welcome page, and is inserted into GS as the language key that
|
||||
// Calamares knows -- should be mapped to a supported system locale.
|
||||
//
|
||||
@ -413,16 +421,16 @@ LocaleTests::testLanguageMapping_data()
|
||||
// if there are languages with a _NL variant (e.g. nl_NL and nl_BE).
|
||||
|
||||
// clang-format off
|
||||
QTest::newRow( "en " ) << l( "en" ) << l( "en_US.UTF-8" );
|
||||
QTest::newRow( "en_GB" ) << l( "en_GB" ) << l( "en_GB.UTF-8" );
|
||||
QTest::newRow( "ca " ) << l( "ca" ) << l( "ca_ES.UTF-8" );
|
||||
QTest::newRow( "ca@vl" ) << l( "ca@valencia" ) << l( "ca_ES@valencia" );
|
||||
QTest::newRow( "sr " ) << l( "sr" ) << l( "sr_RS" );
|
||||
QTest::newRow( "sr@lt" ) << l( "sr@latin" ) << l( "sr_RS@latin" );
|
||||
QTest::newRow( "pt_PT" ) << l( "pt_PT" ) << l( "pt_PT.UTF-8" );
|
||||
QTest::newRow( "pt_BR" ) << l( "pt_BR" ) << l( "pt_BR.UTF-8" );
|
||||
QTest::newRow( "nl " ) << l( "nl" ) << l( "nl_NL.UTF-8" );
|
||||
QTest::newRow( "zh_TW" ) << l( "zh_TW" ) << l( "zh_TW.UTF-8" );
|
||||
QTest::newRow( "en " ) << l( "en" ) << l( "en_US.UTF-8" ) << u();
|
||||
QTest::newRow( "en_GB" ) << l( "en_GB" ) << l( "en_GB.UTF-8" ) << u();
|
||||
QTest::newRow( "ca " ) << l( "ca" ) << l( "ca_ES.UTF-8" ) << u();
|
||||
QTest::newRow( "ca@vl" ) << l( "ca@valencia" ) << l( "ca_ES@valencia" ) << u();
|
||||
QTest::newRow( "sr " ) << l( "sr" ) << l( "sr_RS" ) << u();
|
||||
QTest::newRow( "sr@lt" ) << l( "sr@latin" ) << l( "sr_RS@latin" ) << u();
|
||||
QTest::newRow( "pt_PT" ) << l( "pt_PT" ) << l( "pt_PT.UTF-8" ) << u();
|
||||
QTest::newRow( "pt_BR" ) << l( "pt_BR" ) << l( "pt_BR.UTF-8" ) << u();
|
||||
QTest::newRow( "nl " ) << l( "nl" ) << l( "nl_NL.UTF-8" ) << u();
|
||||
QTest::newRow( "zh_TW" ) << l( "zh_TW" ) << l( "zh_TW.UTF-8" ) << u();
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
@ -431,15 +439,21 @@ void
|
||||
LocaleTests::testLanguageMapping()
|
||||
{
|
||||
QVERIFY( !m_KDEneonLocales.isEmpty() );
|
||||
QVERIFY( !m_FreeBSDLocales.isEmpty() );
|
||||
|
||||
QFETCH( QString, selectedLanguage );
|
||||
QFETCH( QString, KDEneonLanguage );
|
||||
QFETCH( QString, FreeBSDLanguage );
|
||||
|
||||
QVERIFY( Calamares::Locale::availableLanguages().contains( selectedLanguage ) );
|
||||
|
||||
const auto r = LocaleConfiguration::fromLanguageAndLocation(
|
||||
const auto neon = LocaleConfiguration::fromLanguageAndLocation(
|
||||
( selectedLanguage ), m_KDEneonLocales, QStringLiteral( "NL" ) );
|
||||
QCOMPARE( r.language(), KDEneonLanguage );
|
||||
QCOMPARE( neon.language(), KDEneonLanguage );
|
||||
|
||||
const auto bsd = LocaleConfiguration::fromLanguageAndLocation(
|
||||
( selectedLanguage ), m_FreeBSDLocales, QStringLiteral( "NL" ) );
|
||||
QCOMPARE( bsd.language(), FreeBSDLanguage.isEmpty() ? KDEneonLanguage : FreeBSDLanguage );
|
||||
}
|
||||
|
||||
|
||||
|
79
src/modules/locale/tests/locale-data-freebsd
Normal file
79
src/modules/locale/tests/locale-data-freebsd
Normal file
@ -0,0 +1,79 @@
|
||||
C.UTF-8
|
||||
af_ZA.UTF-8
|
||||
am_ET.UTF-8
|
||||
ar_AE.UTF-8
|
||||
ar_EG.UTF-8
|
||||
ar_JO.UTF-8
|
||||
ar_MA.UTF-8
|
||||
ar_QA.UTF-8
|
||||
ar_SA.UTF-8
|
||||
be_BY.UTF-8
|
||||
bg_BG.UTF-8
|
||||
ca_AD.UTF-8
|
||||
ca_ES.UTF-8
|
||||
ca_FR.UTF-8
|
||||
ca_IT.UTF-8
|
||||
cs_CZ.UTF-8
|
||||
da_DK.UTF-8
|
||||
de_AT.UTF-8
|
||||
de_CH.UTF-8
|
||||
de_DE.UTF-8
|
||||
el_GR.UTF-8
|
||||
en_AU.UTF-8
|
||||
en_CA.UTF-8
|
||||
en_GB.UTF-8
|
||||
en_HK.UTF-8
|
||||
en_IE.UTF-8
|
||||
en_NZ.UTF-8
|
||||
en_PH.UTF-8
|
||||
en_SG.UTF-8
|
||||
en_US.UTF-8
|
||||
en_ZA.UTF-8
|
||||
es_AR.UTF-8
|
||||
es_CR.UTF-8
|
||||
es_ES.UTF-8
|
||||
es_MX.UTF-8
|
||||
et_EE.UTF-8
|
||||
eu_ES.UTF-8
|
||||
fi_FI.UTF-8
|
||||
fr_BE.UTF-8
|
||||
fr_CA.UTF-8
|
||||
fr_CH.UTF-8
|
||||
fr_FR.UTF-8
|
||||
ga_IE.UTF-8
|
||||
he_IL.UTF-8
|
||||
hi_IN.UTF-8
|
||||
hr_HR.UTF-8
|
||||
hu_HU.UTF-8
|
||||
hy_AM.UTF-8
|
||||
is_IS.UTF-8
|
||||
it_CH.UTF-8
|
||||
it_IT.UTF-8
|
||||
ja_JP.UTF-8
|
||||
kk_KZ.UTF-8
|
||||
ko_KR.UTF-8
|
||||
lt_LT.UTF-8
|
||||
lv_LV.UTF-8
|
||||
mn_MN.UTF-8
|
||||
nb_NO.UTF-8
|
||||
nl_BE.UTF-8
|
||||
nl_NL.UTF-8
|
||||
nn_NO.UTF-8
|
||||
pl_PL.UTF-8
|
||||
pt_BR.UTF-8
|
||||
pt_PT.UTF-8
|
||||
ro_RO.UTF-8
|
||||
ru_RU.UTF-8
|
||||
se_FI.UTF-8
|
||||
se_NO.UTF-8
|
||||
sk_SK.UTF-8
|
||||
sl_SI.UTF-8
|
||||
sr_RS.UTF-8
|
||||
sr_RS.UTF-8@latin
|
||||
sv_FI.UTF-8
|
||||
sv_SE.UTF-8
|
||||
tr_TR.UTF-8
|
||||
uk_UA.UTF-8
|
||||
zh_CN.UTF-8
|
||||
zh_HK.UTF-8
|
||||
zh_TW.UTF-8
|
Loading…
Reference in New Issue
Block a user