Fix engine test failure under flatpak
Geary.ImapDb.Database/utf8_case_insensitive_collation depends on a well known UTF-8 collation order, but distros only ship C.UTF-8 by default and Flatpak doesn't ship that, so support en_US.UTF-8 as a fallback. See https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/812
This commit is contained in:
parent
bed41855a4
commit
7b124abd2e
2 changed files with 23 additions and 4 deletions
|
|
@ -147,7 +147,18 @@ class Geary.ImapDB.DatabaseTest : TestCase {
|
|||
INSERT INTO Test (test_str) VALUES ('BB');
|
||||
INSERT INTO Test (test_str) VALUES ('🤯');
|
||||
""");
|
||||
|
||||
string[] expected = { "a", "BB", "B", "🤯" };
|
||||
// Distros don't ship well-known locales other than C.UTF-8 by
|
||||
// default, but Flatpak does not currently ship C.UTF-8 at
|
||||
// all, so need to support both. :(
|
||||
//
|
||||
// See test-engine.vala and
|
||||
// https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/812
|
||||
if (GLib.Intl.setlocale(LocaleCategory.COLLATE, null) != "C.UTF-8") {
|
||||
// en_US.UTF-8:
|
||||
expected = { "BB", "B", "a", "🤯" };
|
||||
}
|
||||
|
||||
Db.Result result = db.query(
|
||||
"SELECT test_str FROM Test ORDER BY test_str COLLATE UTF8COLL DESC"
|
||||
|
|
|
|||
|
|
@ -10,11 +10,19 @@ int main(string[] args) {
|
|||
* Initialise all the things.
|
||||
*/
|
||||
|
||||
Test.init(ref args);
|
||||
|
||||
// Ensure things like e.g. GLib's formatting routines uses a
|
||||
// UTF-8-based locale rather ASCII
|
||||
GLib.Intl.setlocale(LocaleCategory.ALL, "C.UTF-8");
|
||||
// well-known UTF-8-based locale rather ASCII.
|
||||
//
|
||||
// Distros don't ship well-known locales other than C.UTF-8 by
|
||||
// default, but Flatpak does not currently support C.UTF-8, so
|
||||
// need to try both. :(
|
||||
// https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/812
|
||||
string? locale = GLib.Intl.setlocale(LocaleCategory.ALL, "C.UTF-8");
|
||||
if (locale == null) {
|
||||
GLib.Intl.setlocale(LocaleCategory.ALL, "en_US.UTF-8");
|
||||
}
|
||||
|
||||
Test.init(ref args);
|
||||
|
||||
Geary.RFC822.init();
|
||||
Geary.HTML.init();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue