summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-12-09 10:54:38 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-17 20:13:22 +0100
commit247629f8e6f3e05c125cfa6b369eb6b9f0594982 (patch)
tree88c1378ea5a85abf6d067b347fc7f329039f5174
parent0d7a7b85095a5accf5f3666bc1d0a037a5455d0b (diff)
LanguageTag strings should not care about case.
-rw-r--r--src/language_tag.cc2
-rw-r--r--test/language_tag_test.cc8
2 files changed, 9 insertions, 1 deletions
diff --git a/src/language_tag.cc b/src/language_tag.cc
index 9708385b..2b63bbf9 100644
--- a/src/language_tag.cc
+++ b/src/language_tag.cc
@@ -66,7 +66,7 @@ optional<LanguageTag::SubtagData>
find_in_list (vector<LanguageTag::SubtagData> const& list, string subtag)
{
BOOST_FOREACH (LanguageTag::SubtagData const& i, list) {
- if (i.subtag == subtag) {
+ if (boost::iequals(i.subtag, subtag)) {
return i;
}
}
diff --git a/test/language_tag_test.cc b/test/language_tag_test.cc
index 28c46b63..87086a29 100644
--- a/test/language_tag_test.cc
+++ b/test/language_tag_test.cc
@@ -78,6 +78,14 @@ BOOST_AUTO_TEST_CASE (language_tag_create_test)
BOOST_CHECK_EQUAL (t.description(), "German");
}
+ /* Case is ignored */
+
+ {
+ dcp::LanguageTag t;
+ BOOST_CHECK_NO_THROW (t.set_language("dE"));
+ BOOST_CHECK_EQUAL (t.to_string(), "dE");
+ }
+
/* Language + script */
{