[gnome-maps/wip/mlundblad/capitalize-opening-hours: 30/32] utils: Add a function upper case first character




commit 2911ddd763e9b4c79125099bc2b1bb54ff41cae5
Author: Marcus Lundblad <ml update uu se>
Date:   Sat Jan 30 22:59:08 2021 +0100

    utils: Add a function upper case first character
    
    Add a utility function to return a string with
    its first character in upper case according
    to current locale.

 src/utils.js       | 7 +++++++
 tests/utilsTest.js | 9 +++++++++
 2 files changed, 16 insertions(+)
---
diff --git a/src/utils.js b/src/utils.js
index 725bc2e4..1f40746a 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -467,3 +467,10 @@ function isValidWebsite(website) {
     }
     return website.startsWith("http://";) || website.startsWith("https://";);
 }
+
+/* Return string with first character in upper case according the rules
+ * determined by the current locale
+ */
+function firstToLocaleUpperCase(str) {
+    return str[0].toLocaleUpperCase() + str.substring(1);
+}
diff --git a/tests/utilsTest.js b/tests/utilsTest.js
index fe4834ee..80fe3dc9 100644
--- a/tests/utilsTest.js
+++ b/tests/utilsTest.js
@@ -38,6 +38,7 @@ function main() {
     prettyDistanceTest();
     normalizeStringTest();
     validWebsiteTest();
+    firstToLocaleUpperCaseTest();
 }
 
 function osmTypeToStringTest() {
@@ -110,3 +111,11 @@ function validWebsiteTest() {
     JsUnit.assertEquals(false, Utils.isValidWebsite("www.gnome.org"));
     JsUnit.assertEquals(false, Utils.isValidWebsite("https:gnome.org"));
 }
+
+function firstToLocaleUpperCaseTest() {
+    JsUnit.assertEquals('Xxx', Utils.firstToLocaleUpperCase('xxx'));
+    JsUnit.assertEquals('Xxx', Utils.firstToLocaleUpperCase('Xxx'));
+    JsUnit.assertEquals('XXX', Utils.firstToLocaleUpperCase('XXX'));
+    JsUnit.assertEquals('فارسی', Utils.firstToLocaleUpperCase('فارسی'));
+    JsUnit.assertEquals('日本語', Utils.firstToLocaleUpperCase('日本語'));
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]