aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/ft_locales/ft_locales-test-input-icu-4.2.1.txt816
-rw-r--r--tests/ft_locales/ft_locales-test-input-icu-4.4.1.txt796
-rw-r--r--tests/ft_locales/ft_locales.cpp38
-rw-r--r--tests/ft_locales/ft_locales.h4
-rw-r--r--tests/stubs/mappletinstancemanager_stub.h13
-rw-r--r--tests/stubs/mapplicationextensionmanager_stub.h66
-rw-r--r--tests/stubs/mextensionwatcher_stub.h75
-rw-r--r--tests/tests.pro7
-rw-r--r--tests/ut_mabstractitemmodel/.gitignore1
-rw-r--r--tests/ut_mabstractitemmodel/ut_mabstractitemmodel.cpp229
-rw-r--r--tests/ut_mabstractitemmodel/ut_mabstractitemmodel.h64
-rw-r--r--tests/ut_mabstractitemmodel/ut_mabstractitemmodel.pro11
-rw-r--r--tests/ut_mappletinstancemanager/ut_mappletinstancemanager.cpp44
-rw-r--r--tests/ut_mappletinstancemanager/ut_mappletinstancemanager.h5
-rw-r--r--tests/ut_mappletinstancemanager/ut_mappletinstancemanager.pro3
-rw-r--r--tests/ut_mapplicationextensionarea/ut_mapplicationextensionarea.pro7
-rw-r--r--tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.cpp123
-rw-r--r--tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.h7
-rw-r--r--tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.pro9
-rw-r--r--tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.cpp20
-rw-r--r--tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.pro4
-rw-r--r--tests/ut_mapplicationpage/ut_mapplicationpage.cpp2
-rw-r--r--tests/ut_mcalendar/ut_mcalendar.cpp40
-rw-r--r--tests/ut_mextensionwatcher/.gitignore1
-rw-r--r--tests/ut_mextensionwatcher/ut_mextensionwatcher.cpp135
-rw-r--r--tests/ut_mextensionwatcher/ut_mextensionwatcher.h53
-rw-r--r--tests/ut_mextensionwatcher/ut_mextensionwatcher.pro30
-rw-r--r--tests/ut_mpannableviewport/ut_mpannableviewport.cpp18
-rw-r--r--tests/ut_mpannableviewport/ut_mpannableviewport.h2
-rw-r--r--tests/ut_mpannablewidget/ut_mpannablewidget.cpp4
-rw-r--r--tests/ut_mstatusbarview/ut_mstatusbarview.cpp55
-rw-r--r--tests/ut_mstatusbarview/ut_mstatusbarview.h49
-rw-r--r--tests/ut_mstatusbarview/ut_mstatusbarview.pro23
-rw-r--r--tests/ut_mtoolbarview/ut_mtoolbarview.cpp325
-rw-r--r--tests/ut_mtoolbarview/ut_mtoolbarview.h5
-rw-r--r--tests/ut_phonenumberformatting/ut_phonenumberformatting.cpp297
-rw-r--r--tests/ut_phonenumberformatting/ut_phonenumberformatting.h35
-rw-r--r--tests/ut_phonenumberformatting/ut_phonenumberformatting.pro9
38 files changed, 2510 insertions, 915 deletions
diff --git a/tests/ft_locales/ft_locales-test-input-icu-4.2.1.txt b/tests/ft_locales/ft_locales-test-input-icu-4.2.1.txt
index a10a3e4c..10f25a31 100644
--- a/tests/ft_locales/ft_locales-test-input-icu-4.2.1.txt
+++ b/tests/ft_locales/ft_locales-test-input-icu-4.2.1.txt
@@ -1520,18 +1520,18 @@ el Date and time short (Islamic Calendar) 18/07/1429 12:31 μ.μ.
el Date and time medium (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ.
el Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ. GMT+0000
el Date and time full (Islamic Calendar) Δευτέρα, 18 Rajab 1429 12:31:00 μ.μ. GMT+0000
-el Name of month 01 (Gregorian Calendar) Ιανουαρίου
-el Name of month 02 (Gregorian Calendar) Φεβρουαρίου
-el Name of month 03 (Gregorian Calendar) Μαρτίου
-el Name of month 04 (Gregorian Calendar) Απριλίου
-el Name of month 05 (Gregorian Calendar) Μαΐου
-el Name of month 06 (Gregorian Calendar) Ιουνίου
-el Name of month 07 (Gregorian Calendar) Ιουλίου
-el Name of month 08 (Gregorian Calendar) Αυγούστου
-el Name of month 09 (Gregorian Calendar) Σεπτεμβρίου
-el Name of month 10 (Gregorian Calendar) Οκτωβρίου
-el Name of month 11 (Gregorian Calendar) Νοεμβρίου
-el Name of month 12 (Gregorian Calendar) Δεκεμβρίου
+el Name of month 01 (Gregorian Calendar) Ιανουάριος
+el Name of month 02 (Gregorian Calendar) Φεβρουάριος
+el Name of month 03 (Gregorian Calendar) Μάρτιος
+el Name of month 04 (Gregorian Calendar) Απρίλιος
+el Name of month 05 (Gregorian Calendar) Μάιος
+el Name of month 06 (Gregorian Calendar) Ιούνιος
+el Name of month 07 (Gregorian Calendar) Ιούλιος
+el Name of month 08 (Gregorian Calendar) Αύγουστος
+el Name of month 09 (Gregorian Calendar) Σεπτέμβριος
+el Name of month 10 (Gregorian Calendar) Οκτώβριος
+el Name of month 11 (Gregorian Calendar) Νοέμβριος
+el Name of month 12 (Gregorian Calendar) Δεκέμβριος
el Name of month 01 (Islamic Calendar) Muharram
el Name of month 02 (Islamic Calendar) Safar
el Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -1572,18 +1572,18 @@ el_CY Date and time short (Islamic Calendar) 18/07/1429 12:31 μ.μ.
el_CY Date and time medium (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ.
el_CY Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ. GMT+0000
el_CY Date and time full (Islamic Calendar) Δευτέρα, 18 Rajab 1429 12:31:00 μ.μ. GMT+0000
-el_CY Name of month 01 (Gregorian Calendar) Ιανουαρίου
-el_CY Name of month 02 (Gregorian Calendar) Φεβρουαρίου
-el_CY Name of month 03 (Gregorian Calendar) Μαρτίου
-el_CY Name of month 04 (Gregorian Calendar) Απριλίου
-el_CY Name of month 05 (Gregorian Calendar) Μαΐου
-el_CY Name of month 06 (Gregorian Calendar) Ιουνίου
-el_CY Name of month 07 (Gregorian Calendar) Ιουλίου
-el_CY Name of month 08 (Gregorian Calendar) Αυγούστου
-el_CY Name of month 09 (Gregorian Calendar) Σεπτεμβρίου
-el_CY Name of month 10 (Gregorian Calendar) Οκτωβρίου
-el_CY Name of month 11 (Gregorian Calendar) Νοεμβρίου
-el_CY Name of month 12 (Gregorian Calendar) Δεκεμβρίου
+el_CY Name of month 01 (Gregorian Calendar) Ιανουάριος
+el_CY Name of month 02 (Gregorian Calendar) Φεβρουάριος
+el_CY Name of month 03 (Gregorian Calendar) Μάρτιος
+el_CY Name of month 04 (Gregorian Calendar) Απρίλιος
+el_CY Name of month 05 (Gregorian Calendar) Μάιος
+el_CY Name of month 06 (Gregorian Calendar) Ιούνιος
+el_CY Name of month 07 (Gregorian Calendar) Ιούλιος
+el_CY Name of month 08 (Gregorian Calendar) Αύγουστος
+el_CY Name of month 09 (Gregorian Calendar) Σεπτέμβριος
+el_CY Name of month 10 (Gregorian Calendar) Οκτώβριος
+el_CY Name of month 11 (Gregorian Calendar) Νοέμβριος
+el_CY Name of month 12 (Gregorian Calendar) Δεκέμβριος
el_CY Name of month 01 (Islamic Calendar) Muharram
el_CY Name of month 02 (Islamic Calendar) Safar
el_CY Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -1624,18 +1624,18 @@ el_GR Date and time short (Islamic Calendar) 18/07/1429 12:31 μ.μ.
el_GR Date and time medium (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ.
el_GR Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ. GMT+0000
el_GR Date and time full (Islamic Calendar) Δευτέρα, 18 Rajab 1429 12:31:00 μ.μ. GMT+0000
-el_GR Name of month 01 (Gregorian Calendar) Ιανουαρίου
-el_GR Name of month 02 (Gregorian Calendar) Φεβρουαρίου
-el_GR Name of month 03 (Gregorian Calendar) Μαρτίου
-el_GR Name of month 04 (Gregorian Calendar) Απριλίου
-el_GR Name of month 05 (Gregorian Calendar) Μαΐου
-el_GR Name of month 06 (Gregorian Calendar) Ιουνίου
-el_GR Name of month 07 (Gregorian Calendar) Ιουλίου
-el_GR Name of month 08 (Gregorian Calendar) Αυγούστου
-el_GR Name of month 09 (Gregorian Calendar) Σεπτεμβρίου
-el_GR Name of month 10 (Gregorian Calendar) Οκτωβρίου
-el_GR Name of month 11 (Gregorian Calendar) Νοεμβρίου
-el_GR Name of month 12 (Gregorian Calendar) Δεκεμβρίου
+el_GR Name of month 01 (Gregorian Calendar) Ιανουάριος
+el_GR Name of month 02 (Gregorian Calendar) Φεβρουάριος
+el_GR Name of month 03 (Gregorian Calendar) Μάρτιος
+el_GR Name of month 04 (Gregorian Calendar) Απρίλιος
+el_GR Name of month 05 (Gregorian Calendar) Μάιος
+el_GR Name of month 06 (Gregorian Calendar) Ιούνιος
+el_GR Name of month 07 (Gregorian Calendar) Ιούλιος
+el_GR Name of month 08 (Gregorian Calendar) Αύγουστος
+el_GR Name of month 09 (Gregorian Calendar) Σεπτέμβριος
+el_GR Name of month 10 (Gregorian Calendar) Οκτώβριος
+el_GR Name of month 11 (Gregorian Calendar) Νοέμβριος
+el_GR Name of month 12 (Gregorian Calendar) Δεκέμβριος
el_GR Name of month 01 (Islamic Calendar) Muharram
el_GR Name of month 02 (Islamic Calendar) Safar
el_GR Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -4120,13 +4120,13 @@ fa Date and time short (Islamic Calendar) ۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱
fa Date and time medium (Islamic Calendar) ۱۴۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱:۰۰
fa Date and time long (Islamic Calendar) ۱۸ رجب ۱۴۲۹ ه‍. ق.، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
fa Date and time full (Islamic Calendar) دوشنبه ۱۸ رجب ۱۴۲۹ هجری قمری، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
-fa Name of month 01 (Gregorian Calendar) ژانویهٔ
-fa Name of month 02 (Gregorian Calendar) فوریهٔ
+fa Name of month 01 (Gregorian Calendar) ژانویه
+fa Name of month 02 (Gregorian Calendar) فوریه
fa Name of month 03 (Gregorian Calendar) مارس
fa Name of month 04 (Gregorian Calendar) آوریل
-fa Name of month 05 (Gregorian Calendar) مهٔ
+fa Name of month 05 (Gregorian Calendar) مه
fa Name of month 06 (Gregorian Calendar) ژوئن
-fa Name of month 07 (Gregorian Calendar) ژوئیهٔ
+fa Name of month 07 (Gregorian Calendar) ژوئیه
fa Name of month 08 (Gregorian Calendar) اوت
fa Name of month 09 (Gregorian Calendar) سپتامبر
fa Name of month 10 (Gregorian Calendar) اکتبر
@@ -4172,18 +4172,18 @@ fa_AF Date and time short (Islamic Calendar) ۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:
fa_AF Date and time medium (Islamic Calendar) ۱۴۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱:۰۰
fa_AF Date and time long (Islamic Calendar) ۱۸ رجب ۱۴۲۹ ه‍. ق.، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
fa_AF Date and time full (Islamic Calendar) دوشنبه ۱۸ رجب ۱۴۲۹ هجری قمری، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
-fa_AF Name of month 01 (Gregorian Calendar) جنوری
-fa_AF Name of month 02 (Gregorian Calendar) فبروری
-fa_AF Name of month 03 (Gregorian Calendar) مارچ
-fa_AF Name of month 04 (Gregorian Calendar) اپریل
-fa_AF Name of month 05 (Gregorian Calendar) می
-fa_AF Name of month 06 (Gregorian Calendar) جون
-fa_AF Name of month 07 (Gregorian Calendar) جولای
-fa_AF Name of month 08 (Gregorian Calendar) اگست
-fa_AF Name of month 09 (Gregorian Calendar) سپتمبر
-fa_AF Name of month 10 (Gregorian Calendar) اکتوبر
-fa_AF Name of month 11 (Gregorian Calendar) نومبر
-fa_AF Name of month 12 (Gregorian Calendar) دسمبر
+fa_AF Name of month 01 (Gregorian Calendar) ژانویه
+fa_AF Name of month 02 (Gregorian Calendar) فوریه
+fa_AF Name of month 03 (Gregorian Calendar) مارس
+fa_AF Name of month 04 (Gregorian Calendar) آوریل
+fa_AF Name of month 05 (Gregorian Calendar) مه
+fa_AF Name of month 06 (Gregorian Calendar) ژوئن
+fa_AF Name of month 07 (Gregorian Calendar) ژوئیه
+fa_AF Name of month 08 (Gregorian Calendar) اوت
+fa_AF Name of month 09 (Gregorian Calendar) سپتامبر
+fa_AF Name of month 10 (Gregorian Calendar) اکتبر
+fa_AF Name of month 11 (Gregorian Calendar) نوامبر
+fa_AF Name of month 12 (Gregorian Calendar) دسامبر
fa_AF Name of month 01 (Islamic Calendar) محرم
fa_AF Name of month 02 (Islamic Calendar) صفر
fa_AF Name of month 03 (Islamic Calendar) ربیع الاول
@@ -4224,13 +4224,13 @@ fa_IR Date and time short (Islamic Calendar) ۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:
fa_IR Date and time medium (Islamic Calendar) ۱۴۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱:۰۰
fa_IR Date and time long (Islamic Calendar) ۱۸ رجب ۱۴۲۹ ه‍. ق.، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
fa_IR Date and time full (Islamic Calendar) دوشنبه ۱۸ رجب ۱۴۲۹ هجری قمری، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
-fa_IR Name of month 01 (Gregorian Calendar) ژانویهٔ
-fa_IR Name of month 02 (Gregorian Calendar) فوریهٔ
+fa_IR Name of month 01 (Gregorian Calendar) ژانویه
+fa_IR Name of month 02 (Gregorian Calendar) فوریه
fa_IR Name of month 03 (Gregorian Calendar) مارس
fa_IR Name of month 04 (Gregorian Calendar) آوریل
-fa_IR Name of month 05 (Gregorian Calendar) مهٔ
+fa_IR Name of month 05 (Gregorian Calendar) مه
fa_IR Name of month 06 (Gregorian Calendar) ژوئن
-fa_IR Name of month 07 (Gregorian Calendar) ژوئیهٔ
+fa_IR Name of month 07 (Gregorian Calendar) ژوئیه
fa_IR Name of month 08 (Gregorian Calendar) اوت
fa_IR Name of month 09 (Gregorian Calendar) سپتامبر
fa_IR Name of month 10 (Gregorian Calendar) اکتبر
@@ -4276,18 +4276,18 @@ fi Date and time short (Islamic Calendar) 18.7.1429 12.31
fi Date and time medium (Islamic Calendar) 18.7.1429 12.31.00
fi Date and time long (Islamic Calendar) 18. radžab 1429 12.31.00 UTC+0.00
fi Date and time full (Islamic Calendar) maanantaina 18. radžab 1429 12.31.00 UTC+0.00
-fi Name of month 01 (Gregorian Calendar) tammikuuta
-fi Name of month 02 (Gregorian Calendar) helmikuuta
-fi Name of month 03 (Gregorian Calendar) maaliskuuta
-fi Name of month 04 (Gregorian Calendar) huhtikuuta
-fi Name of month 05 (Gregorian Calendar) toukokuuta
-fi Name of month 06 (Gregorian Calendar) kesäkuuta
-fi Name of month 07 (Gregorian Calendar) heinäkuuta
-fi Name of month 08 (Gregorian Calendar) elokuuta
-fi Name of month 09 (Gregorian Calendar) syyskuuta
-fi Name of month 10 (Gregorian Calendar) lokakuuta
-fi Name of month 11 (Gregorian Calendar) marraskuuta
-fi Name of month 12 (Gregorian Calendar) joulukuuta
+fi Name of month 01 (Gregorian Calendar) tammikuu
+fi Name of month 02 (Gregorian Calendar) helmikuu
+fi Name of month 03 (Gregorian Calendar) maaliskuu
+fi Name of month 04 (Gregorian Calendar) huhtikuu
+fi Name of month 05 (Gregorian Calendar) toukokuu
+fi Name of month 06 (Gregorian Calendar) kesäkuu
+fi Name of month 07 (Gregorian Calendar) heinäkuu
+fi Name of month 08 (Gregorian Calendar) elokuu
+fi Name of month 09 (Gregorian Calendar) syyskuu
+fi Name of month 10 (Gregorian Calendar) lokakuu
+fi Name of month 11 (Gregorian Calendar) marraskuu
+fi Name of month 12 (Gregorian Calendar) joulukuu
fi Name of month 01 (Islamic Calendar) muharram
fi Name of month 02 (Islamic Calendar) safar
fi Name of month 03 (Islamic Calendar) rabi’ al-awwal
@@ -4300,20 +4300,20 @@ fi Name of month 09 (Islamic Calendar) ramadan
fi Name of month 10 (Islamic Calendar) šawwal
fi Name of month 11 (Islamic Calendar) dhu-l-qa’da
fi Name of month 12 (Islamic Calendar) dhu-l-hiddža
-fi Name of weekday 01 (Gregorian Calendar) maanantaina
-fi Name of weekday 02 (Gregorian Calendar) tiistaina
-fi Name of weekday 03 (Gregorian Calendar) keskiviikkona
-fi Name of weekday 04 (Gregorian Calendar) torstaina
-fi Name of weekday 05 (Gregorian Calendar) perjantaina
-fi Name of weekday 06 (Gregorian Calendar) lauantaina
-fi Name of weekday 07 (Gregorian Calendar) sunnuntaina
-fi Name of weekday 01 (Islamic Calendar) maanantaina
-fi Name of weekday 02 (Islamic Calendar) tiistaina
-fi Name of weekday 03 (Islamic Calendar) keskiviikkona
-fi Name of weekday 04 (Islamic Calendar) torstaina
-fi Name of weekday 05 (Islamic Calendar) perjantaina
-fi Name of weekday 06 (Islamic Calendar) lauantaina
-fi Name of weekday 07 (Islamic Calendar) sunnuntaina
+fi Name of weekday 01 (Gregorian Calendar) maanantai
+fi Name of weekday 02 (Gregorian Calendar) tiistai
+fi Name of weekday 03 (Gregorian Calendar) keskiviikko
+fi Name of weekday 04 (Gregorian Calendar) torstai
+fi Name of weekday 05 (Gregorian Calendar) perjantai
+fi Name of weekday 06 (Gregorian Calendar) lauantai
+fi Name of weekday 07 (Gregorian Calendar) sunnuntai
+fi Name of weekday 01 (Islamic Calendar) maanantai
+fi Name of weekday 02 (Islamic Calendar) tiistai
+fi Name of weekday 03 (Islamic Calendar) keskiviikko
+fi Name of weekday 04 (Islamic Calendar) torstai
+fi Name of weekday 05 (Islamic Calendar) perjantai
+fi Name of weekday 06 (Islamic Calendar) lauantai
+fi Name of weekday 07 (Islamic Calendar) sunnuntai
fi_FI Language endonym suomi
fi_FI Country endonym Suomi
fi_FI Floating Point Number -123 456 789,012
@@ -4328,18 +4328,18 @@ fi_FI Date and time short (Islamic Calendar) 18.7.1429 12.31
fi_FI Date and time medium (Islamic Calendar) 18.7.1429 12.31.00
fi_FI Date and time long (Islamic Calendar) 18. radžab 1429 12.31.00 UTC+0.00
fi_FI Date and time full (Islamic Calendar) maanantaina 18. radžab 1429 12.31.00 UTC+0.00
-fi_FI Name of month 01 (Gregorian Calendar) tammikuuta
-fi_FI Name of month 02 (Gregorian Calendar) helmikuuta
-fi_FI Name of month 03 (Gregorian Calendar) maaliskuuta
-fi_FI Name of month 04 (Gregorian Calendar) huhtikuuta
-fi_FI Name of month 05 (Gregorian Calendar) toukokuuta
-fi_FI Name of month 06 (Gregorian Calendar) kesäkuuta
-fi_FI Name of month 07 (Gregorian Calendar) heinäkuuta
-fi_FI Name of month 08 (Gregorian Calendar) elokuuta
-fi_FI Name of month 09 (Gregorian Calendar) syyskuuta
-fi_FI Name of month 10 (Gregorian Calendar) lokakuuta
-fi_FI Name of month 11 (Gregorian Calendar) marraskuuta
-fi_FI Name of month 12 (Gregorian Calendar) joulukuuta
+fi_FI Name of month 01 (Gregorian Calendar) tammikuu
+fi_FI Name of month 02 (Gregorian Calendar) helmikuu
+fi_FI Name of month 03 (Gregorian Calendar) maaliskuu
+fi_FI Name of month 04 (Gregorian Calendar) huhtikuu
+fi_FI Name of month 05 (Gregorian Calendar) toukokuu
+fi_FI Name of month 06 (Gregorian Calendar) kesäkuu
+fi_FI Name of month 07 (Gregorian Calendar) heinäkuu
+fi_FI Name of month 08 (Gregorian Calendar) elokuu
+fi_FI Name of month 09 (Gregorian Calendar) syyskuu
+fi_FI Name of month 10 (Gregorian Calendar) lokakuu
+fi_FI Name of month 11 (Gregorian Calendar) marraskuu
+fi_FI Name of month 12 (Gregorian Calendar) joulukuu
fi_FI Name of month 01 (Islamic Calendar) muharram
fi_FI Name of month 02 (Islamic Calendar) safar
fi_FI Name of month 03 (Islamic Calendar) rabi’ al-awwal
@@ -4352,20 +4352,20 @@ fi_FI Name of month 09 (Islamic Calendar) ramadan
fi_FI Name of month 10 (Islamic Calendar) šawwal
fi_FI Name of month 11 (Islamic Calendar) dhu-l-qa’da
fi_FI Name of month 12 (Islamic Calendar) dhu-l-hiddža
-fi_FI Name of weekday 01 (Gregorian Calendar) maanantaina
-fi_FI Name of weekday 02 (Gregorian Calendar) tiistaina
-fi_FI Name of weekday 03 (Gregorian Calendar) keskiviikkona
-fi_FI Name of weekday 04 (Gregorian Calendar) torstaina
-fi_FI Name of weekday 05 (Gregorian Calendar) perjantaina
-fi_FI Name of weekday 06 (Gregorian Calendar) lauantaina
-fi_FI Name of weekday 07 (Gregorian Calendar) sunnuntaina
-fi_FI Name of weekday 01 (Islamic Calendar) maanantaina
-fi_FI Name of weekday 02 (Islamic Calendar) tiistaina
-fi_FI Name of weekday 03 (Islamic Calendar) keskiviikkona
-fi_FI Name of weekday 04 (Islamic Calendar) torstaina
-fi_FI Name of weekday 05 (Islamic Calendar) perjantaina
-fi_FI Name of weekday 06 (Islamic Calendar) lauantaina
-fi_FI Name of weekday 07 (Islamic Calendar) sunnuntaina
+fi_FI Name of weekday 01 (Gregorian Calendar) maanantai
+fi_FI Name of weekday 02 (Gregorian Calendar) tiistai
+fi_FI Name of weekday 03 (Gregorian Calendar) keskiviikko
+fi_FI Name of weekday 04 (Gregorian Calendar) torstai
+fi_FI Name of weekday 05 (Gregorian Calendar) perjantai
+fi_FI Name of weekday 06 (Gregorian Calendar) lauantai
+fi_FI Name of weekday 07 (Gregorian Calendar) sunnuntai
+fi_FI Name of weekday 01 (Islamic Calendar) maanantai
+fi_FI Name of weekday 02 (Islamic Calendar) tiistai
+fi_FI Name of weekday 03 (Islamic Calendar) keskiviikko
+fi_FI Name of weekday 04 (Islamic Calendar) torstai
+fi_FI Name of weekday 05 (Islamic Calendar) perjantai
+fi_FI Name of weekday 06 (Islamic Calendar) lauantai
+fi_FI Name of weekday 07 (Islamic Calendar) sunnuntai
fr Language endonym français
fr Country endonym
fr Floating Point Number -123 456 789,012
@@ -5004,18 +5004,18 @@ it Date and time short (Islamic Calendar) 18/07/29 12.31
it Date and time medium (Islamic Calendar) 18/Rajab/1429 12.31.00
it Date and time long (Islamic Calendar) 18 Rajab 1429 12.31.00 GMT+00.00
it Date and time full (Islamic Calendar) lunedì 18 Rajab 1429 12.31.00 GMT+00.00
-it Name of month 01 (Gregorian Calendar) gennaio
-it Name of month 02 (Gregorian Calendar) febbraio
-it Name of month 03 (Gregorian Calendar) marzo
-it Name of month 04 (Gregorian Calendar) aprile
-it Name of month 05 (Gregorian Calendar) maggio
-it Name of month 06 (Gregorian Calendar) giugno
-it Name of month 07 (Gregorian Calendar) luglio
-it Name of month 08 (Gregorian Calendar) agosto
-it Name of month 09 (Gregorian Calendar) settembre
-it Name of month 10 (Gregorian Calendar) ottobre
-it Name of month 11 (Gregorian Calendar) novembre
-it Name of month 12 (Gregorian Calendar) dicembre
+it Name of month 01 (Gregorian Calendar) Gennaio
+it Name of month 02 (Gregorian Calendar) Febbraio
+it Name of month 03 (Gregorian Calendar) Marzo
+it Name of month 04 (Gregorian Calendar) Aprile
+it Name of month 05 (Gregorian Calendar) Maggio
+it Name of month 06 (Gregorian Calendar) Giugno
+it Name of month 07 (Gregorian Calendar) Luglio
+it Name of month 08 (Gregorian Calendar) Agosto
+it Name of month 09 (Gregorian Calendar) Settembre
+it Name of month 10 (Gregorian Calendar) Ottobre
+it Name of month 11 (Gregorian Calendar) Novembre
+it Name of month 12 (Gregorian Calendar) Dicembre
it Name of month 01 (Islamic Calendar) Muharram
it Name of month 02 (Islamic Calendar) Safar
it Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -5028,20 +5028,20 @@ it Name of month 09 (Islamic Calendar) Ramadan
it Name of month 10 (Islamic Calendar) Shawwal
it Name of month 11 (Islamic Calendar) Dhuʻl-Qiʻdah
it Name of month 12 (Islamic Calendar) Dhuʻl-Hijjah
-it Name of weekday 01 (Gregorian Calendar) lunedì
-it Name of weekday 02 (Gregorian Calendar) martedì
-it Name of weekday 03 (Gregorian Calendar) mercoledì
-it Name of weekday 04 (Gregorian Calendar) giovedì
-it Name of weekday 05 (Gregorian Calendar) venerdì
-it Name of weekday 06 (Gregorian Calendar) sabato
-it Name of weekday 07 (Gregorian Calendar) domenica
-it Name of weekday 01 (Islamic Calendar) lunedì
-it Name of weekday 02 (Islamic Calendar) martedì
-it Name of weekday 03 (Islamic Calendar) mercoledì
-it Name of weekday 04 (Islamic Calendar) giovedì
-it Name of weekday 05 (Islamic Calendar) venerdì
-it Name of weekday 06 (Islamic Calendar) sabato
-it Name of weekday 07 (Islamic Calendar) domenica
+it Name of weekday 01 (Gregorian Calendar) Lunedì
+it Name of weekday 02 (Gregorian Calendar) Martedì
+it Name of weekday 03 (Gregorian Calendar) Mercoledì
+it Name of weekday 04 (Gregorian Calendar) Giovedì
+it Name of weekday 05 (Gregorian Calendar) Venerdì
+it Name of weekday 06 (Gregorian Calendar) Sabato
+it Name of weekday 07 (Gregorian Calendar) Domenica
+it Name of weekday 01 (Islamic Calendar) Lunedì
+it Name of weekday 02 (Islamic Calendar) Martedì
+it Name of weekday 03 (Islamic Calendar) Mercoledì
+it Name of weekday 04 (Islamic Calendar) Giovedì
+it Name of weekday 05 (Islamic Calendar) Venerdì
+it Name of weekday 06 (Islamic Calendar) Sabato
+it Name of weekday 07 (Islamic Calendar) Domenica
it_CH Language endonym italiano
it_CH Country endonym Svizzera
it_CH Floating Point Number -123'456'789.012
@@ -5056,18 +5056,18 @@ it_CH Date and time short (Islamic Calendar) 18.07.29 12.31
it_CH Date and time medium (Islamic Calendar) 18-Rajab-1429 12.31.00
it_CH Date and time long (Islamic Calendar) 18 Rajab 1429 12.31.00 GMT+00.00
it_CH Date and time full (Islamic Calendar) lunedì, 18 Rajab 1429 12.31:00 h GMT+00.00
-it_CH Name of month 01 (Gregorian Calendar) gennaio
-it_CH Name of month 02 (Gregorian Calendar) febbraio
-it_CH Name of month 03 (Gregorian Calendar) marzo
-it_CH Name of month 04 (Gregorian Calendar) aprile
-it_CH Name of month 05 (Gregorian Calendar) maggio
-it_CH Name of month 06 (Gregorian Calendar) giugno
-it_CH Name of month 07 (Gregorian Calendar) luglio
-it_CH Name of month 08 (Gregorian Calendar) agosto
-it_CH Name of month 09 (Gregorian Calendar) settembre
-it_CH Name of month 10 (Gregorian Calendar) ottobre
-it_CH Name of month 11 (Gregorian Calendar) novembre
-it_CH Name of month 12 (Gregorian Calendar) dicembre
+it_CH Name of month 01 (Gregorian Calendar) Gennaio
+it_CH Name of month 02 (Gregorian Calendar) Febbraio
+it_CH Name of month 03 (Gregorian Calendar) Marzo
+it_CH Name of month 04 (Gregorian Calendar) Aprile
+it_CH Name of month 05 (Gregorian Calendar) Maggio
+it_CH Name of month 06 (Gregorian Calendar) Giugno
+it_CH Name of month 07 (Gregorian Calendar) Luglio
+it_CH Name of month 08 (Gregorian Calendar) Agosto
+it_CH Name of month 09 (Gregorian Calendar) Settembre
+it_CH Name of month 10 (Gregorian Calendar) Ottobre
+it_CH Name of month 11 (Gregorian Calendar) Novembre
+it_CH Name of month 12 (Gregorian Calendar) Dicembre
it_CH Name of month 01 (Islamic Calendar) Muharram
it_CH Name of month 02 (Islamic Calendar) Safar
it_CH Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -5080,20 +5080,20 @@ it_CH Name of month 09 (Islamic Calendar) Ramadan
it_CH Name of month 10 (Islamic Calendar) Shawwal
it_CH Name of month 11 (Islamic Calendar) Dhuʻl-Qiʻdah
it_CH Name of month 12 (Islamic Calendar) Dhuʻl-Hijjah
-it_CH Name of weekday 01 (Gregorian Calendar) lunedì
-it_CH Name of weekday 02 (Gregorian Calendar) martedì
-it_CH Name of weekday 03 (Gregorian Calendar) mercoledì
-it_CH Name of weekday 04 (Gregorian Calendar) giovedì
-it_CH Name of weekday 05 (Gregorian Calendar) venerdì
-it_CH Name of weekday 06 (Gregorian Calendar) sabato
-it_CH Name of weekday 07 (Gregorian Calendar) domenica
-it_CH Name of weekday 01 (Islamic Calendar) lunedì
-it_CH Name of weekday 02 (Islamic Calendar) martedì
-it_CH Name of weekday 03 (Islamic Calendar) mercoledì
-it_CH Name of weekday 04 (Islamic Calendar) giovedì
-it_CH Name of weekday 05 (Islamic Calendar) venerdì
-it_CH Name of weekday 06 (Islamic Calendar) sabato
-it_CH Name of weekday 07 (Islamic Calendar) domenica
+it_CH Name of weekday 01 (Gregorian Calendar) Lunedì
+it_CH Name of weekday 02 (Gregorian Calendar) Martedì
+it_CH Name of weekday 03 (Gregorian Calendar) Mercoledì
+it_CH Name of weekday 04 (Gregorian Calendar) Giovedì
+it_CH Name of weekday 05 (Gregorian Calendar) Venerdì
+it_CH Name of weekday 06 (Gregorian Calendar) Sabato
+it_CH Name of weekday 07 (Gregorian Calendar) Domenica
+it_CH Name of weekday 01 (Islamic Calendar) Lunedì
+it_CH Name of weekday 02 (Islamic Calendar) Martedì
+it_CH Name of weekday 03 (Islamic Calendar) Mercoledì
+it_CH Name of weekday 04 (Islamic Calendar) Giovedì
+it_CH Name of weekday 05 (Islamic Calendar) Venerdì
+it_CH Name of weekday 06 (Islamic Calendar) Sabato
+it_CH Name of weekday 07 (Islamic Calendar) Domenica
it_IT Language endonym italiano
it_IT Country endonym Italia
it_IT Floating Point Number -123.456.789,012
@@ -5108,18 +5108,18 @@ it_IT Date and time short (Islamic Calendar) 18/07/29 12.31
it_IT Date and time medium (Islamic Calendar) 18/Rajab/1429 12.31.00
it_IT Date and time long (Islamic Calendar) 18 Rajab 1429 12.31.00 GMT+00.00
it_IT Date and time full (Islamic Calendar) lunedì 18 Rajab 1429 12.31.00 GMT+00.00
-it_IT Name of month 01 (Gregorian Calendar) gennaio
-it_IT Name of month 02 (Gregorian Calendar) febbraio
-it_IT Name of month 03 (Gregorian Calendar) marzo
-it_IT Name of month 04 (Gregorian Calendar) aprile
-it_IT Name of month 05 (Gregorian Calendar) maggio
-it_IT Name of month 06 (Gregorian Calendar) giugno
-it_IT Name of month 07 (Gregorian Calendar) luglio
-it_IT Name of month 08 (Gregorian Calendar) agosto
-it_IT Name of month 09 (Gregorian Calendar) settembre
-it_IT Name of month 10 (Gregorian Calendar) ottobre
-it_IT Name of month 11 (Gregorian Calendar) novembre
-it_IT Name of month 12 (Gregorian Calendar) dicembre
+it_IT Name of month 01 (Gregorian Calendar) Gennaio
+it_IT Name of month 02 (Gregorian Calendar) Febbraio
+it_IT Name of month 03 (Gregorian Calendar) Marzo
+it_IT Name of month 04 (Gregorian Calendar) Aprile
+it_IT Name of month 05 (Gregorian Calendar) Maggio
+it_IT Name of month 06 (Gregorian Calendar) Giugno
+it_IT Name of month 07 (Gregorian Calendar) Luglio
+it_IT Name of month 08 (Gregorian Calendar) Agosto
+it_IT Name of month 09 (Gregorian Calendar) Settembre
+it_IT Name of month 10 (Gregorian Calendar) Ottobre
+it_IT Name of month 11 (Gregorian Calendar) Novembre
+it_IT Name of month 12 (Gregorian Calendar) Dicembre
it_IT Name of month 01 (Islamic Calendar) Muharram
it_IT Name of month 02 (Islamic Calendar) Safar
it_IT Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -5132,20 +5132,20 @@ it_IT Name of month 09 (Islamic Calendar) Ramadan
it_IT Name of month 10 (Islamic Calendar) Shawwal
it_IT Name of month 11 (Islamic Calendar) Dhuʻl-Qiʻdah
it_IT Name of month 12 (Islamic Calendar) Dhuʻl-Hijjah
-it_IT Name of weekday 01 (Gregorian Calendar) lunedì
-it_IT Name of weekday 02 (Gregorian Calendar) martedì
-it_IT Name of weekday 03 (Gregorian Calendar) mercoledì
-it_IT Name of weekday 04 (Gregorian Calendar) giovedì
-it_IT Name of weekday 05 (Gregorian Calendar) venerdì
-it_IT Name of weekday 06 (Gregorian Calendar) sabato
-it_IT Name of weekday 07 (Gregorian Calendar) domenica
-it_IT Name of weekday 01 (Islamic Calendar) lunedì
-it_IT Name of weekday 02 (Islamic Calendar) martedì
-it_IT Name of weekday 03 (Islamic Calendar) mercoledì
-it_IT Name of weekday 04 (Islamic Calendar) giovedì
-it_IT Name of weekday 05 (Islamic Calendar) venerdì
-it_IT Name of weekday 06 (Islamic Calendar) sabato
-it_IT Name of weekday 07 (Islamic Calendar) domenica
+it_IT Name of weekday 01 (Gregorian Calendar) Lunedì
+it_IT Name of weekday 02 (Gregorian Calendar) Martedì
+it_IT Name of weekday 03 (Gregorian Calendar) Mercoledì
+it_IT Name of weekday 04 (Gregorian Calendar) Giovedì
+it_IT Name of weekday 05 (Gregorian Calendar) Venerdì
+it_IT Name of weekday 06 (Gregorian Calendar) Sabato
+it_IT Name of weekday 07 (Gregorian Calendar) Domenica
+it_IT Name of weekday 01 (Islamic Calendar) Lunedì
+it_IT Name of weekday 02 (Islamic Calendar) Martedì
+it_IT Name of weekday 03 (Islamic Calendar) Mercoledì
+it_IT Name of weekday 04 (Islamic Calendar) Giovedì
+it_IT Name of weekday 05 (Islamic Calendar) Venerdì
+it_IT Name of weekday 06 (Islamic Calendar) Sabato
+it_IT Name of weekday 07 (Islamic Calendar) Domenica
ja Language endonym 日本語
ja Country endonym
ja Floating Point Number -123,456,789.012
@@ -5784,18 +5784,18 @@ ru Date and time short (Islamic Calendar) 18.07.29 12:31
ru Date and time medium (Islamic Calendar) 18.07.1429 12:31:00
ru Date and time long (Islamic Calendar) 18 Раджаб 1429 г. 12:31:00 GMT+00:00
ru Date and time full (Islamic Calendar) понедельник, 18 Раджаб 1429 г. 12:31:00 GMT+00:00
-ru Name of month 01 (Gregorian Calendar) января
-ru Name of month 02 (Gregorian Calendar) февраля
-ru Name of month 03 (Gregorian Calendar) марта
-ru Name of month 04 (Gregorian Calendar) апреля
-ru Name of month 05 (Gregorian Calendar) мая
-ru Name of month 06 (Gregorian Calendar) июня
-ru Name of month 07 (Gregorian Calendar) июля
-ru Name of month 08 (Gregorian Calendar) августа
-ru Name of month 09 (Gregorian Calendar) сентября
-ru Name of month 10 (Gregorian Calendar) октября
-ru Name of month 11 (Gregorian Calendar) ноября
-ru Name of month 12 (Gregorian Calendar) декабря
+ru Name of month 01 (Gregorian Calendar) Январь
+ru Name of month 02 (Gregorian Calendar) Февраль
+ru Name of month 03 (Gregorian Calendar) Март
+ru Name of month 04 (Gregorian Calendar) Апрель
+ru Name of month 05 (Gregorian Calendar) Май
+ru Name of month 06 (Gregorian Calendar) Июнь
+ru Name of month 07 (Gregorian Calendar) Июль
+ru Name of month 08 (Gregorian Calendar) Август
+ru Name of month 09 (Gregorian Calendar) Сентябрь
+ru Name of month 10 (Gregorian Calendar) Октябрь
+ru Name of month 11 (Gregorian Calendar) Ноябрь
+ru Name of month 12 (Gregorian Calendar) Декабрь
ru Name of month 01 (Islamic Calendar) Мухаррам
ru Name of month 02 (Islamic Calendar) Сафар
ru Name of month 03 (Islamic Calendar) Раби-уль-авваль
@@ -5808,20 +5808,20 @@ ru Name of month 09 (Islamic Calendar) Рамадан
ru Name of month 10 (Islamic Calendar) Шавваль
ru Name of month 11 (Islamic Calendar) Зуль-Каада
ru Name of month 12 (Islamic Calendar) Зуль-Хиджжа
-ru Name of weekday 01 (Gregorian Calendar) понедельник
-ru Name of weekday 02 (Gregorian Calendar) вторник
-ru Name of weekday 03 (Gregorian Calendar) среда
-ru Name of weekday 04 (Gregorian Calendar) четверг
-ru Name of weekday 05 (Gregorian Calendar) пятница
-ru Name of weekday 06 (Gregorian Calendar) суббота
-ru Name of weekday 07 (Gregorian Calendar) воскресенье
-ru Name of weekday 01 (Islamic Calendar) понедельник
-ru Name of weekday 02 (Islamic Calendar) вторник
-ru Name of weekday 03 (Islamic Calendar) среда
-ru Name of weekday 04 (Islamic Calendar) четверг
-ru Name of weekday 05 (Islamic Calendar) пятница
-ru Name of weekday 06 (Islamic Calendar) суббота
-ru Name of weekday 07 (Islamic Calendar) воскресенье
+ru Name of weekday 01 (Gregorian Calendar) Понедельник
+ru Name of weekday 02 (Gregorian Calendar) Вторник
+ru Name of weekday 03 (Gregorian Calendar) Среда
+ru Name of weekday 04 (Gregorian Calendar) Четверг
+ru Name of weekday 05 (Gregorian Calendar) Пятница
+ru Name of weekday 06 (Gregorian Calendar) Суббота
+ru Name of weekday 07 (Gregorian Calendar) Воскресенье
+ru Name of weekday 01 (Islamic Calendar) Понедельник
+ru Name of weekday 02 (Islamic Calendar) Вторник
+ru Name of weekday 03 (Islamic Calendar) Среда
+ru Name of weekday 04 (Islamic Calendar) Четверг
+ru Name of weekday 05 (Islamic Calendar) Пятница
+ru Name of weekday 06 (Islamic Calendar) Суббота
+ru Name of weekday 07 (Islamic Calendar) Воскресенье
ru_RU Language endonym русский
ru_RU Country endonym Россия
ru_RU Floating Point Number -123 456 789,012
@@ -5836,18 +5836,18 @@ ru_RU Date and time short (Islamic Calendar) 18.07.29 12:31
ru_RU Date and time medium (Islamic Calendar) 18.07.1429 12:31:00
ru_RU Date and time long (Islamic Calendar) 18 Раджаб 1429 г. 12:31:00 GMT+00:00
ru_RU Date and time full (Islamic Calendar) понедельник, 18 Раджаб 1429 г. 12:31:00 GMT+00:00
-ru_RU Name of month 01 (Gregorian Calendar) января
-ru_RU Name of month 02 (Gregorian Calendar) февраля
-ru_RU Name of month 03 (Gregorian Calendar) марта
-ru_RU Name of month 04 (Gregorian Calendar) апреля
-ru_RU Name of month 05 (Gregorian Calendar) мая
-ru_RU Name of month 06 (Gregorian Calendar) июня
-ru_RU Name of month 07 (Gregorian Calendar) июля
-ru_RU Name of month 08 (Gregorian Calendar) августа
-ru_RU Name of month 09 (Gregorian Calendar) сентября
-ru_RU Name of month 10 (Gregorian Calendar) октября
-ru_RU Name of month 11 (Gregorian Calendar) ноября
-ru_RU Name of month 12 (Gregorian Calendar) декабря
+ru_RU Name of month 01 (Gregorian Calendar) Январь
+ru_RU Name of month 02 (Gregorian Calendar) Февраль
+ru_RU Name of month 03 (Gregorian Calendar) Март
+ru_RU Name of month 04 (Gregorian Calendar) Апрель
+ru_RU Name of month 05 (Gregorian Calendar) Май
+ru_RU Name of month 06 (Gregorian Calendar) Июнь
+ru_RU Name of month 07 (Gregorian Calendar) Июль
+ru_RU Name of month 08 (Gregorian Calendar) Август
+ru_RU Name of month 09 (Gregorian Calendar) Сентябрь
+ru_RU Name of month 10 (Gregorian Calendar) Октябрь
+ru_RU Name of month 11 (Gregorian Calendar) Ноябрь
+ru_RU Name of month 12 (Gregorian Calendar) Декабрь
ru_RU Name of month 01 (Islamic Calendar) Мухаррам
ru_RU Name of month 02 (Islamic Calendar) Сафар
ru_RU Name of month 03 (Islamic Calendar) Раби-уль-авваль
@@ -5860,20 +5860,20 @@ ru_RU Name of month 09 (Islamic Calendar) Рамадан
ru_RU Name of month 10 (Islamic Calendar) Шавваль
ru_RU Name of month 11 (Islamic Calendar) Зуль-Каада
ru_RU Name of month 12 (Islamic Calendar) Зуль-Хиджжа
-ru_RU Name of weekday 01 (Gregorian Calendar) понедельник
-ru_RU Name of weekday 02 (Gregorian Calendar) вторник
-ru_RU Name of weekday 03 (Gregorian Calendar) среда
-ru_RU Name of weekday 04 (Gregorian Calendar) четверг
-ru_RU Name of weekday 05 (Gregorian Calendar) пятница
-ru_RU Name of weekday 06 (Gregorian Calendar) суббота
-ru_RU Name of weekday 07 (Gregorian Calendar) воскресенье
-ru_RU Name of weekday 01 (Islamic Calendar) понедельник
-ru_RU Name of weekday 02 (Islamic Calendar) вторник
-ru_RU Name of weekday 03 (Islamic Calendar) среда
-ru_RU Name of weekday 04 (Islamic Calendar) четверг
-ru_RU Name of weekday 05 (Islamic Calendar) пятница
-ru_RU Name of weekday 06 (Islamic Calendar) суббота
-ru_RU Name of weekday 07 (Islamic Calendar) воскресенье
+ru_RU Name of weekday 01 (Gregorian Calendar) Понедельник
+ru_RU Name of weekday 02 (Gregorian Calendar) Вторник
+ru_RU Name of weekday 03 (Gregorian Calendar) Среда
+ru_RU Name of weekday 04 (Gregorian Calendar) Четверг
+ru_RU Name of weekday 05 (Gregorian Calendar) Пятница
+ru_RU Name of weekday 06 (Gregorian Calendar) Суббота
+ru_RU Name of weekday 07 (Gregorian Calendar) Воскресенье
+ru_RU Name of weekday 01 (Islamic Calendar) Понедельник
+ru_RU Name of weekday 02 (Islamic Calendar) Вторник
+ru_RU Name of weekday 03 (Islamic Calendar) Среда
+ru_RU Name of weekday 04 (Islamic Calendar) Четверг
+ru_RU Name of weekday 05 (Islamic Calendar) Пятница
+ru_RU Name of weekday 06 (Islamic Calendar) Суббота
+ru_RU Name of weekday 07 (Islamic Calendar) Воскресенье
ru_UA Language endonym ru
ru_UA Country endonym Украина
ru_UA Floating Point Number -123 456 789,012
@@ -5888,18 +5888,18 @@ ru_UA Date and time short (Islamic Calendar) 18.07.29 12:31
ru_UA Date and time medium (Islamic Calendar) 18 Раджаб 1429 12:31:00
ru_UA Date and time long (Islamic Calendar) 18 Раджаб 1429 12:31:00 GMT+00:00
ru_UA Date and time full (Islamic Calendar) понедельник, 18 Раджаб 1429 г. 12:31:00 GMT+00:00
-ru_UA Name of month 01 (Gregorian Calendar) января
-ru_UA Name of month 02 (Gregorian Calendar) февраля
-ru_UA Name of month 03 (Gregorian Calendar) марта
-ru_UA Name of month 04 (Gregorian Calendar) апреля
-ru_UA Name of month 05 (Gregorian Calendar) мая
-ru_UA Name of month 06 (Gregorian Calendar) июня
-ru_UA Name of month 07 (Gregorian Calendar) июля
-ru_UA Name of month 08 (Gregorian Calendar) августа
-ru_UA Name of month 09 (Gregorian Calendar) сентября
-ru_UA Name of month 10 (Gregorian Calendar) октября
-ru_UA Name of month 11 (Gregorian Calendar) ноября
-ru_UA Name of month 12 (Gregorian Calendar) декабря
+ru_UA Name of month 01 (Gregorian Calendar) Январь
+ru_UA Name of month 02 (Gregorian Calendar) Февраль
+ru_UA Name of month 03 (Gregorian Calendar) Март
+ru_UA Name of month 04 (Gregorian Calendar) Апрель
+ru_UA Name of month 05 (Gregorian Calendar) Май
+ru_UA Name of month 06 (Gregorian Calendar) Июнь
+ru_UA Name of month 07 (Gregorian Calendar) Июль
+ru_UA Name of month 08 (Gregorian Calendar) Август
+ru_UA Name of month 09 (Gregorian Calendar) Сентябрь
+ru_UA Name of month 10 (Gregorian Calendar) Октябрь
+ru_UA Name of month 11 (Gregorian Calendar) Ноябрь
+ru_UA Name of month 12 (Gregorian Calendar) Декабрь
ru_UA Name of month 01 (Islamic Calendar) Мухаррам
ru_UA Name of month 02 (Islamic Calendar) Сафар
ru_UA Name of month 03 (Islamic Calendar) Раби-уль-авваль
@@ -5912,20 +5912,20 @@ ru_UA Name of month 09 (Islamic Calendar) Рамадан
ru_UA Name of month 10 (Islamic Calendar) Шавваль
ru_UA Name of month 11 (Islamic Calendar) Зуль-Каада
ru_UA Name of month 12 (Islamic Calendar) Зуль-Хиджжа
-ru_UA Name of weekday 01 (Gregorian Calendar) понедельник
-ru_UA Name of weekday 02 (Gregorian Calendar) вторник
-ru_UA Name of weekday 03 (Gregorian Calendar) среда
-ru_UA Name of weekday 04 (Gregorian Calendar) четверг
-ru_UA Name of weekday 05 (Gregorian Calendar) пятница
-ru_UA Name of weekday 06 (Gregorian Calendar) суббота
-ru_UA Name of weekday 07 (Gregorian Calendar) воскресенье
-ru_UA Name of weekday 01 (Islamic Calendar) понедельник
-ru_UA Name of weekday 02 (Islamic Calendar) вторник
-ru_UA Name of weekday 03 (Islamic Calendar) среда
-ru_UA Name of weekday 04 (Islamic Calendar) четверг
-ru_UA Name of weekday 05 (Islamic Calendar) пятница
-ru_UA Name of weekday 06 (Islamic Calendar) суббота
-ru_UA Name of weekday 07 (Islamic Calendar) воскресенье
+ru_UA Name of weekday 01 (Gregorian Calendar) Понедельник
+ru_UA Name of weekday 02 (Gregorian Calendar) Вторник
+ru_UA Name of weekday 03 (Gregorian Calendar) Среда
+ru_UA Name of weekday 04 (Gregorian Calendar) Четверг
+ru_UA Name of weekday 05 (Gregorian Calendar) Пятница
+ru_UA Name of weekday 06 (Gregorian Calendar) Суббота
+ru_UA Name of weekday 07 (Gregorian Calendar) Воскресенье
+ru_UA Name of weekday 01 (Islamic Calendar) Понедельник
+ru_UA Name of weekday 02 (Islamic Calendar) Вторник
+ru_UA Name of weekday 03 (Islamic Calendar) Среда
+ru_UA Name of weekday 04 (Islamic Calendar) Четверг
+ru_UA Name of weekday 05 (Islamic Calendar) Пятница
+ru_UA Name of weekday 06 (Islamic Calendar) Суббота
+ru_UA Name of weekday 07 (Islamic Calendar) Воскресенье
sv Language endonym svenska
sv Country endonym
sv Floating Point Number −123 456 789,012
@@ -6304,18 +6304,18 @@ uk Date and time short (Islamic Calendar) 18.07.29 12:31
uk Date and time medium (Islamic Calendar) 18 Раджаб 1429 12:31:00
uk Date and time long (Islamic Calendar) 18 Раджаб 1429 р. 12:31:00 GMT+00:00
uk Date and time full (Islamic Calendar) Понеділок, 18 Раджаб 1429 р. 12:31:00 GMT+00:00
-uk Name of month 01 (Gregorian Calendar) січня
-uk Name of month 02 (Gregorian Calendar) лютого
-uk Name of month 03 (Gregorian Calendar) березня
-uk Name of month 04 (Gregorian Calendar) квітня
-uk Name of month 05 (Gregorian Calendar) травня
-uk Name of month 06 (Gregorian Calendar) червня
-uk Name of month 07 (Gregorian Calendar) липня
-uk Name of month 08 (Gregorian Calendar) серпня
-uk Name of month 09 (Gregorian Calendar) вересня
-uk Name of month 10 (Gregorian Calendar) жовтня
-uk Name of month 11 (Gregorian Calendar) листопада
-uk Name of month 12 (Gregorian Calendar) грудня
+uk Name of month 01 (Gregorian Calendar) Січень
+uk Name of month 02 (Gregorian Calendar) Лютий
+uk Name of month 03 (Gregorian Calendar) Березень
+uk Name of month 04 (Gregorian Calendar) Квітень
+uk Name of month 05 (Gregorian Calendar) Травень
+uk Name of month 06 (Gregorian Calendar) Червень
+uk Name of month 07 (Gregorian Calendar) Липень
+uk Name of month 08 (Gregorian Calendar) Серпень
+uk Name of month 09 (Gregorian Calendar) Вересень
+uk Name of month 10 (Gregorian Calendar) Жовтень
+uk Name of month 11 (Gregorian Calendar) Листопад
+uk Name of month 12 (Gregorian Calendar) Грудень
uk Name of month 01 (Islamic Calendar) Мухаррам
uk Name of month 02 (Islamic Calendar) Сафар
uk Name of month 03 (Islamic Calendar) Рабі I
@@ -6356,18 +6356,18 @@ uk_UA Date and time short (Islamic Calendar) 18.07.29 12:31
uk_UA Date and time medium (Islamic Calendar) 18 Раджаб 1429 12:31:00
uk_UA Date and time long (Islamic Calendar) 18 Раджаб 1429 р. 12:31:00 GMT+00:00
uk_UA Date and time full (Islamic Calendar) Понеділок, 18 Раджаб 1429 р. 12:31:00 GMT+00:00
-uk_UA Name of month 01 (Gregorian Calendar) січня
-uk_UA Name of month 02 (Gregorian Calendar) лютого
-uk_UA Name of month 03 (Gregorian Calendar) березня
-uk_UA Name of month 04 (Gregorian Calendar) квітня
-uk_UA Name of month 05 (Gregorian Calendar) травня
-uk_UA Name of month 06 (Gregorian Calendar) червня
-uk_UA Name of month 07 (Gregorian Calendar) липня
-uk_UA Name of month 08 (Gregorian Calendar) серпня
-uk_UA Name of month 09 (Gregorian Calendar) вересня
-uk_UA Name of month 10 (Gregorian Calendar) жовтня
-uk_UA Name of month 11 (Gregorian Calendar) листопада
-uk_UA Name of month 12 (Gregorian Calendar) грудня
+uk_UA Name of month 01 (Gregorian Calendar) Січень
+uk_UA Name of month 02 (Gregorian Calendar) Лютий
+uk_UA Name of month 03 (Gregorian Calendar) Березень
+uk_UA Name of month 04 (Gregorian Calendar) Квітень
+uk_UA Name of month 05 (Gregorian Calendar) Травень
+uk_UA Name of month 06 (Gregorian Calendar) Червень
+uk_UA Name of month 07 (Gregorian Calendar) Липень
+uk_UA Name of month 08 (Gregorian Calendar) Серпень
+uk_UA Name of month 09 (Gregorian Calendar) Вересень
+uk_UA Name of month 10 (Gregorian Calendar) Жовтень
+uk_UA Name of month 11 (Gregorian Calendar) Листопад
+uk_UA Name of month 12 (Gregorian Calendar) Грудень
uk_UA Name of month 01 (Islamic Calendar) Мухаррам
uk_UA Name of month 02 (Islamic Calendar) Сафар
uk_UA Name of month 03 (Islamic Calendar) Рабі I
@@ -6564,18 +6564,18 @@ zh Date and time short (Islamic Calendar) 29-7-18 PM12:31
zh Date and time medium (Islamic Calendar) 1429-7-18 PM12:31:00
zh Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000PM12时31分00秒
zh Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000PM12时31分00秒
-zh Name of month 01 (Gregorian Calendar) 1月
-zh Name of month 02 (Gregorian Calendar) 2月
-zh Name of month 03 (Gregorian Calendar) 3月
-zh Name of month 04 (Gregorian Calendar) 4月
-zh Name of month 05 (Gregorian Calendar) 5月
-zh Name of month 06 (Gregorian Calendar) 6月
-zh Name of month 07 (Gregorian Calendar) 7月
-zh Name of month 08 (Gregorian Calendar) 8月
-zh Name of month 09 (Gregorian Calendar) 9月
-zh Name of month 10 (Gregorian Calendar) 10月
-zh Name of month 11 (Gregorian Calendar) 11月
-zh Name of month 12 (Gregorian Calendar) 12月
+zh Name of month 01 (Gregorian Calendar) 一月
+zh Name of month 02 (Gregorian Calendar) 二月
+zh Name of month 03 (Gregorian Calendar) 三月
+zh Name of month 04 (Gregorian Calendar) 四月
+zh Name of month 05 (Gregorian Calendar) 五月
+zh Name of month 06 (Gregorian Calendar) 六月
+zh Name of month 07 (Gregorian Calendar) 七月
+zh Name of month 08 (Gregorian Calendar) 八月
+zh Name of month 09 (Gregorian Calendar) 九月
+zh Name of month 10 (Gregorian Calendar) 十月
+zh Name of month 11 (Gregorian Calendar) 十一月
+zh Name of month 12 (Gregorian Calendar) 十二月
zh Name of month 01 (Islamic Calendar) Muharram
zh Name of month 02 (Islamic Calendar) Safar
zh Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6616,18 +6616,18 @@ zh_Hans Date and time short (Islamic Calendar) 29-7-18 PM12:31
zh_Hans Date and time medium (Islamic Calendar) 1429-7-18 PM12:31:00
zh_Hans Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000PM12时31分00秒
zh_Hans Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000PM12时31分00秒
-zh_Hans Name of month 01 (Gregorian Calendar) 1月
-zh_Hans Name of month 02 (Gregorian Calendar) 2月
-zh_Hans Name of month 03 (Gregorian Calendar) 3月
-zh_Hans Name of month 04 (Gregorian Calendar) 4月
-zh_Hans Name of month 05 (Gregorian Calendar) 5月
-zh_Hans Name of month 06 (Gregorian Calendar) 6月
-zh_Hans Name of month 07 (Gregorian Calendar) 7月
-zh_Hans Name of month 08 (Gregorian Calendar) 8月
-zh_Hans Name of month 09 (Gregorian Calendar) 9月
-zh_Hans Name of month 10 (Gregorian Calendar) 10月
-zh_Hans Name of month 11 (Gregorian Calendar) 11月
-zh_Hans Name of month 12 (Gregorian Calendar) 12月
+zh_Hans Name of month 01 (Gregorian Calendar) 一月
+zh_Hans Name of month 02 (Gregorian Calendar) 二月
+zh_Hans Name of month 03 (Gregorian Calendar) 三月
+zh_Hans Name of month 04 (Gregorian Calendar) 四月
+zh_Hans Name of month 05 (Gregorian Calendar) 五月
+zh_Hans Name of month 06 (Gregorian Calendar) 六月
+zh_Hans Name of month 07 (Gregorian Calendar) 七月
+zh_Hans Name of month 08 (Gregorian Calendar) 八月
+zh_Hans Name of month 09 (Gregorian Calendar) 九月
+zh_Hans Name of month 10 (Gregorian Calendar) 十月
+zh_Hans Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans Name of month 12 (Gregorian Calendar) 十二月
zh_Hans Name of month 01 (Islamic Calendar) Muharram
zh_Hans Name of month 02 (Islamic Calendar) Safar
zh_Hans Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6668,18 +6668,18 @@ zh_Hans_CN Date and time short (Islamic Calendar) 29-7-18 PM12:31
zh_Hans_CN Date and time medium (Islamic Calendar) 1429-7-18 PM12:31:00
zh_Hans_CN Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000PM12时31分00秒
zh_Hans_CN Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000PM12时31分00秒
-zh_Hans_CN Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_CN Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_CN Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_CN Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_CN Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_CN Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_CN Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_CN Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_CN Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_CN Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_CN Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_CN Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_CN Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_CN Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_CN Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_CN Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_CN Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_CN Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_CN Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_CN Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_CN Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_CN Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_CN Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_CN Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_CN Name of month 01 (Islamic Calendar) Muharram
zh_Hans_CN Name of month 02 (Islamic Calendar) Safar
zh_Hans_CN Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6720,18 +6720,18 @@ zh_Hans_HK Date and time short (Islamic Calendar) 29-7-18 PM12:31
zh_Hans_HK Date and time medium (Islamic Calendar) 1429-7-18 PM12:31:00
zh_Hans_HK Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000PM12时31分00秒
zh_Hans_HK Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000PM12时31分00秒
-zh_Hans_HK Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_HK Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_HK Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_HK Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_HK Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_HK Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_HK Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_HK Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_HK Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_HK Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_HK Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_HK Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_HK Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_HK Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_HK Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_HK Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_HK Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_HK Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_HK Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_HK Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_HK Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_HK Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_HK Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_HK Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_HK Name of month 01 (Islamic Calendar) Muharram
zh_Hans_HK Name of month 02 (Islamic Calendar) Safar
zh_Hans_HK Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6772,18 +6772,18 @@ zh_Hans_MO Date and time short (Islamic Calendar) 29-7-18 PM12:31
zh_Hans_MO Date and time medium (Islamic Calendar) 1429-7-18 PM12:31:00
zh_Hans_MO Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000PM12时31分00秒
zh_Hans_MO Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000PM12时31分00秒
-zh_Hans_MO Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_MO Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_MO Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_MO Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_MO Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_MO Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_MO Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_MO Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_MO Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_MO Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_MO Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_MO Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_MO Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_MO Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_MO Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_MO Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_MO Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_MO Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_MO Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_MO Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_MO Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_MO Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_MO Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_MO Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_MO Name of month 01 (Islamic Calendar) Muharram
zh_Hans_MO Name of month 02 (Islamic Calendar) Safar
zh_Hans_MO Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6824,18 +6824,18 @@ zh_Hans_SG Date and time short (Islamic Calendar) 18/07/29 PM12:31
zh_Hans_SG Date and time medium (Islamic Calendar) 1429-7-18 PM12:31:00
zh_Hans_SG Date and time long (Islamic Calendar) 1429年7月18日PM12:31:00格林尼治标准时间+0000
zh_Hans_SG Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000PM12时31分00秒
-zh_Hans_SG Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_SG Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_SG Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_SG Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_SG Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_SG Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_SG Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_SG Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_SG Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_SG Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_SG Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_SG Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_SG Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_SG Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_SG Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_SG Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_SG Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_SG Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_SG Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_SG Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_SG Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_SG Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_SG Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_SG Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_SG Name of month 01 (Islamic Calendar) Muharram
zh_Hans_SG Name of month 02 (Islamic Calendar) Safar
zh_Hans_SG Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6876,18 +6876,18 @@ zh_Hant Date and time short (Islamic Calendar) 29/7/18 PM12:31
zh_Hant Date and time medium (Islamic Calendar) 1429/7/18 PM12:31:00
zh_Hant Date and time long (Islamic Calendar) 1429年7月18日GMT+00:00PM12時31分00秒
zh_Hant Date and time full (Islamic Calendar) 1429年7月18日星期一GMT+00:00PM12時31分00秒
-zh_Hant Name of month 01 (Gregorian Calendar) 1月
-zh_Hant Name of month 02 (Gregorian Calendar) 2月
-zh_Hant Name of month 03 (Gregorian Calendar) 3月
-zh_Hant Name of month 04 (Gregorian Calendar) 4月
-zh_Hant Name of month 05 (Gregorian Calendar) 5月
-zh_Hant Name of month 06 (Gregorian Calendar) 6月
-zh_Hant Name of month 07 (Gregorian Calendar) 7月
-zh_Hant Name of month 08 (Gregorian Calendar) 8月
-zh_Hant Name of month 09 (Gregorian Calendar) 9月
-zh_Hant Name of month 10 (Gregorian Calendar) 10月
-zh_Hant Name of month 11 (Gregorian Calendar) 11月
-zh_Hant Name of month 12 (Gregorian Calendar) 12月
+zh_Hant Name of month 01 (Gregorian Calendar) 一月
+zh_Hant Name of month 02 (Gregorian Calendar) 二月
+zh_Hant Name of month 03 (Gregorian Calendar) 三月
+zh_Hant Name of month 04 (Gregorian Calendar) 四月
+zh_Hant Name of month 05 (Gregorian Calendar) 五月
+zh_Hant Name of month 06 (Gregorian Calendar) 六月
+zh_Hant Name of month 07 (Gregorian Calendar) 七月
+zh_Hant Name of month 08 (Gregorian Calendar) 八月
+zh_Hant Name of month 09 (Gregorian Calendar) 九月
+zh_Hant Name of month 10 (Gregorian Calendar) 十月
+zh_Hant Name of month 11 (Gregorian Calendar) 十一月
+zh_Hant Name of month 12 (Gregorian Calendar) 十二月
zh_Hant Name of month 01 (Islamic Calendar) Muharram
zh_Hant Name of month 02 (Islamic Calendar) Safar
zh_Hant Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6928,18 +6928,18 @@ zh_Hant_HK Date and time short (Islamic Calendar) 29年7月18日PM12:31
zh_Hant_HK Date and time medium (Islamic Calendar) 1429年7月18日PM12:31:00
zh_Hant_HK Date and time long (Islamic Calendar) 1429年7月18日GMT+00:00PM12時31分00秒
zh_Hant_HK Date and time full (Islamic Calendar) 1429年7月18日星期一GMT+00:00PM12時31分00秒
-zh_Hant_HK Name of month 01 (Gregorian Calendar) 1月
-zh_Hant_HK Name of month 02 (Gregorian Calendar) 2月
-zh_Hant_HK Name of month 03 (Gregorian Calendar) 3月
-zh_Hant_HK Name of month 04 (Gregorian Calendar) 4月
-zh_Hant_HK Name of month 05 (Gregorian Calendar) 5月
-zh_Hant_HK Name of month 06 (Gregorian Calendar) 6月
-zh_Hant_HK Name of month 07 (Gregorian Calendar) 7月
-zh_Hant_HK Name of month 08 (Gregorian Calendar) 8月
-zh_Hant_HK Name of month 09 (Gregorian Calendar) 9月
-zh_Hant_HK Name of month 10 (Gregorian Calendar) 10月
-zh_Hant_HK Name of month 11 (Gregorian Calendar) 11月
-zh_Hant_HK Name of month 12 (Gregorian Calendar) 12月
+zh_Hant_HK Name of month 01 (Gregorian Calendar) 一月
+zh_Hant_HK Name of month 02 (Gregorian Calendar) 二月
+zh_Hant_HK Name of month 03 (Gregorian Calendar) 三月
+zh_Hant_HK Name of month 04 (Gregorian Calendar) 四月
+zh_Hant_HK Name of month 05 (Gregorian Calendar) 五月
+zh_Hant_HK Name of month 06 (Gregorian Calendar) 六月
+zh_Hant_HK Name of month 07 (Gregorian Calendar) 七月
+zh_Hant_HK Name of month 08 (Gregorian Calendar) 八月
+zh_Hant_HK Name of month 09 (Gregorian Calendar) 九月
+zh_Hant_HK Name of month 10 (Gregorian Calendar) 十月
+zh_Hant_HK Name of month 11 (Gregorian Calendar) 十一月
+zh_Hant_HK Name of month 12 (Gregorian Calendar) 十二月
zh_Hant_HK Name of month 01 (Islamic Calendar) Muharram
zh_Hant_HK Name of month 02 (Islamic Calendar) Safar
zh_Hant_HK Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6980,18 +6980,18 @@ zh_Hant_MO Date and time short (Islamic Calendar) 29年7月18日 PM12:31
zh_Hant_MO Date and time medium (Islamic Calendar) 1429年7月18日 PM12:31:00
zh_Hant_MO Date and time long (Islamic Calendar) 1429年07月18日GMT+00:00PM12時31分00秒
zh_Hant_MO Date and time full (Islamic Calendar) 1429年07月18日星期一GMT+00:00PM12時31分00秒
-zh_Hant_MO Name of month 01 (Gregorian Calendar) 1月
-zh_Hant_MO Name of month 02 (Gregorian Calendar) 2月
-zh_Hant_MO Name of month 03 (Gregorian Calendar) 3月
-zh_Hant_MO Name of month 04 (Gregorian Calendar) 4月
-zh_Hant_MO Name of month 05 (Gregorian Calendar) 5月
-zh_Hant_MO Name of month 06 (Gregorian Calendar) 6月
-zh_Hant_MO Name of month 07 (Gregorian Calendar) 7月
-zh_Hant_MO Name of month 08 (Gregorian Calendar) 8月
-zh_Hant_MO Name of month 09 (Gregorian Calendar) 9月
-zh_Hant_MO Name of month 10 (Gregorian Calendar) 10月
-zh_Hant_MO Name of month 11 (Gregorian Calendar) 11月
-zh_Hant_MO Name of month 12 (Gregorian Calendar) 12月
+zh_Hant_MO Name of month 01 (Gregorian Calendar) 一月
+zh_Hant_MO Name of month 02 (Gregorian Calendar) 二月
+zh_Hant_MO Name of month 03 (Gregorian Calendar) 三月
+zh_Hant_MO Name of month 04 (Gregorian Calendar) 四月
+zh_Hant_MO Name of month 05 (Gregorian Calendar) 五月
+zh_Hant_MO Name of month 06 (Gregorian Calendar) 六月
+zh_Hant_MO Name of month 07 (Gregorian Calendar) 七月
+zh_Hant_MO Name of month 08 (Gregorian Calendar) 八月
+zh_Hant_MO Name of month 09 (Gregorian Calendar) 九月
+zh_Hant_MO Name of month 10 (Gregorian Calendar) 十月
+zh_Hant_MO Name of month 11 (Gregorian Calendar) 十一月
+zh_Hant_MO Name of month 12 (Gregorian Calendar) 十二月
zh_Hant_MO Name of month 01 (Islamic Calendar) Muharram
zh_Hant_MO Name of month 02 (Islamic Calendar) Safar
zh_Hant_MO Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -7032,18 +7032,18 @@ zh_Hant_TW Date and time short (Islamic Calendar) 29/7/18 PM12:31
zh_Hant_TW Date and time medium (Islamic Calendar) 1429/7/18 PM12:31:00
zh_Hant_TW Date and time long (Islamic Calendar) 1429年7月18日GMT+00:00PM12時31分00秒
zh_Hant_TW Date and time full (Islamic Calendar) 1429年7月18日星期一GMT+00:00PM12時31分00秒
-zh_Hant_TW Name of month 01 (Gregorian Calendar) 1月
-zh_Hant_TW Name of month 02 (Gregorian Calendar) 2月
-zh_Hant_TW Name of month 03 (Gregorian Calendar) 3月
-zh_Hant_TW Name of month 04 (Gregorian Calendar) 4月
-zh_Hant_TW Name of month 05 (Gregorian Calendar) 5月
-zh_Hant_TW Name of month 06 (Gregorian Calendar) 6月
-zh_Hant_TW Name of month 07 (Gregorian Calendar) 7月
-zh_Hant_TW Name of month 08 (Gregorian Calendar) 8月
-zh_Hant_TW Name of month 09 (Gregorian Calendar) 9月
-zh_Hant_TW Name of month 10 (Gregorian Calendar) 10月
-zh_Hant_TW Name of month 11 (Gregorian Calendar) 11月
-zh_Hant_TW Name of month 12 (Gregorian Calendar) 12月
+zh_Hant_TW Name of month 01 (Gregorian Calendar) 一月
+zh_Hant_TW Name of month 02 (Gregorian Calendar) 二月
+zh_Hant_TW Name of month 03 (Gregorian Calendar) 三月
+zh_Hant_TW Name of month 04 (Gregorian Calendar) 四月
+zh_Hant_TW Name of month 05 (Gregorian Calendar) 五月
+zh_Hant_TW Name of month 06 (Gregorian Calendar) 六月
+zh_Hant_TW Name of month 07 (Gregorian Calendar) 七月
+zh_Hant_TW Name of month 08 (Gregorian Calendar) 八月
+zh_Hant_TW Name of month 09 (Gregorian Calendar) 九月
+zh_Hant_TW Name of month 10 (Gregorian Calendar) 十月
+zh_Hant_TW Name of month 11 (Gregorian Calendar) 十一月
+zh_Hant_TW Name of month 12 (Gregorian Calendar) 十二月
zh_Hant_TW Name of month 01 (Islamic Calendar) Muharram
zh_Hant_TW Name of month 02 (Islamic Calendar) Safar
zh_Hant_TW Name of month 03 (Islamic Calendar) Rabiʻ I
diff --git a/tests/ft_locales/ft_locales-test-input-icu-4.4.1.txt b/tests/ft_locales/ft_locales-test-input-icu-4.4.1.txt
index 9279b5b1..b797b970 100644
--- a/tests/ft_locales/ft_locales-test-input-icu-4.4.1.txt
+++ b/tests/ft_locales/ft_locales-test-input-icu-4.4.1.txt
@@ -948,18 +948,18 @@ ca Date and time short (Islamic Calendar) 18/07/29 12:31
ca Date and time medium (Islamic Calendar) 18/07/1429 12:31:00
ca Date and time long (Islamic Calendar) 18 Rajab de 1429 12:31:00 GMT+00:00
ca Date and time full (Islamic Calendar) dilluns 18 Rajab de 1429 12:31:00 GMT+00:00
-ca Name of month 01 (Gregorian Calendar) de gener
-ca Name of month 02 (Gregorian Calendar) de febrer
-ca Name of month 03 (Gregorian Calendar) de març
-ca Name of month 04 (Gregorian Calendar) d’abril
-ca Name of month 05 (Gregorian Calendar) de maig
-ca Name of month 06 (Gregorian Calendar) de juny
-ca Name of month 07 (Gregorian Calendar) de juliol
-ca Name of month 08 (Gregorian Calendar) d’agost
-ca Name of month 09 (Gregorian Calendar) de setembre
-ca Name of month 10 (Gregorian Calendar) d’octubre
-ca Name of month 11 (Gregorian Calendar) de novembre
-ca Name of month 12 (Gregorian Calendar) de desembre
+ca Name of month 01 (Gregorian Calendar) gener
+ca Name of month 02 (Gregorian Calendar) febrer
+ca Name of month 03 (Gregorian Calendar) març
+ca Name of month 04 (Gregorian Calendar) abril
+ca Name of month 05 (Gregorian Calendar) maig
+ca Name of month 06 (Gregorian Calendar) juny
+ca Name of month 07 (Gregorian Calendar) juliol
+ca Name of month 08 (Gregorian Calendar) agost
+ca Name of month 09 (Gregorian Calendar) setembre
+ca Name of month 10 (Gregorian Calendar) octubre
+ca Name of month 11 (Gregorian Calendar) novembre
+ca Name of month 12 (Gregorian Calendar) desembre
ca Name of month 01 (Islamic Calendar) Muharram
ca Name of month 02 (Islamic Calendar) Safar
ca Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -1000,18 +1000,18 @@ ca_ES Date and time short (Islamic Calendar) 18/07/29 12:31
ca_ES Date and time medium (Islamic Calendar) 18/07/1429 12:31:00
ca_ES Date and time long (Islamic Calendar) 18 Rajab de 1429 12:31:00 GMT+00:00
ca_ES Date and time full (Islamic Calendar) dilluns 18 Rajab de 1429 12:31:00 GMT+00:00
-ca_ES Name of month 01 (Gregorian Calendar) de gener
-ca_ES Name of month 02 (Gregorian Calendar) de febrer
-ca_ES Name of month 03 (Gregorian Calendar) de març
-ca_ES Name of month 04 (Gregorian Calendar) d’abril
-ca_ES Name of month 05 (Gregorian Calendar) de maig
-ca_ES Name of month 06 (Gregorian Calendar) de juny
-ca_ES Name of month 07 (Gregorian Calendar) de juliol
-ca_ES Name of month 08 (Gregorian Calendar) d’agost
-ca_ES Name of month 09 (Gregorian Calendar) de setembre
-ca_ES Name of month 10 (Gregorian Calendar) d’octubre
-ca_ES Name of month 11 (Gregorian Calendar) de novembre
-ca_ES Name of month 12 (Gregorian Calendar) de desembre
+ca_ES Name of month 01 (Gregorian Calendar) gener
+ca_ES Name of month 02 (Gregorian Calendar) febrer
+ca_ES Name of month 03 (Gregorian Calendar) març
+ca_ES Name of month 04 (Gregorian Calendar) abril
+ca_ES Name of month 05 (Gregorian Calendar) maig
+ca_ES Name of month 06 (Gregorian Calendar) juny
+ca_ES Name of month 07 (Gregorian Calendar) juliol
+ca_ES Name of month 08 (Gregorian Calendar) agost
+ca_ES Name of month 09 (Gregorian Calendar) setembre
+ca_ES Name of month 10 (Gregorian Calendar) octubre
+ca_ES Name of month 11 (Gregorian Calendar) novembre
+ca_ES Name of month 12 (Gregorian Calendar) desembre
ca_ES Name of month 01 (Islamic Calendar) Muharram
ca_ES Name of month 02 (Islamic Calendar) Safar
ca_ES Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -1298,8 +1298,8 @@ de_BE Name of weekday 04 (Islamic Calendar) Donnerstag
de_BE Name of weekday 05 (Islamic Calendar) Freitag
de_BE Name of weekday 06 (Islamic Calendar) Samstag
de_BE Name of weekday 07 (Islamic Calendar) Sonntag
-de_CH Language endonym de
-de_CH Country endonym CH
+de_CH Language endonym Deutsch
+de_CH Country endonym Schweiz
de_CH Floating Point Number -123'456'789.012
de_CH Percent value -1'234.5679 %
de_CH Currency value € 1'234.56
@@ -1520,18 +1520,18 @@ el Date and time short (Islamic Calendar) 18/7/29 12:31 μ.μ.
el Date and time medium (Islamic Calendar) 18 Raj. 1429 12:31:00 μ.μ.
el Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ. GMT+00:00
el Date and time full (Islamic Calendar) Δευτέρα, 18 Rajab 1429 12:31:00 μ.μ. GMT+00:00
-el Name of month 01 (Gregorian Calendar) Ιανουαρίου
-el Name of month 02 (Gregorian Calendar) Φεβρουαρίου
-el Name of month 03 (Gregorian Calendar) Μαρτίου
-el Name of month 04 (Gregorian Calendar) Απριλίου
-el Name of month 05 (Gregorian Calendar) Μαΐου
-el Name of month 06 (Gregorian Calendar) Ιουνίου
-el Name of month 07 (Gregorian Calendar) Ιουλίου
-el Name of month 08 (Gregorian Calendar) Αυγούστου
-el Name of month 09 (Gregorian Calendar) Σεπτεμβρίου
-el Name of month 10 (Gregorian Calendar) Οκτωβρίου
-el Name of month 11 (Gregorian Calendar) Νοεμβρίου
-el Name of month 12 (Gregorian Calendar) Δεκεμβρίου
+el Name of month 01 (Gregorian Calendar) Ιανουάριος
+el Name of month 02 (Gregorian Calendar) Φεβρουάριος
+el Name of month 03 (Gregorian Calendar) Μάρτιος
+el Name of month 04 (Gregorian Calendar) Απρίλιος
+el Name of month 05 (Gregorian Calendar) Μάιος
+el Name of month 06 (Gregorian Calendar) Ιούνιος
+el Name of month 07 (Gregorian Calendar) Ιούλιος
+el Name of month 08 (Gregorian Calendar) Αύγουστος
+el Name of month 09 (Gregorian Calendar) Σεπτέμβριος
+el Name of month 10 (Gregorian Calendar) Οκτώβριος
+el Name of month 11 (Gregorian Calendar) Νοέμβριος
+el Name of month 12 (Gregorian Calendar) Δεκέμβριος
el Name of month 01 (Islamic Calendar) Muharram
el Name of month 02 (Islamic Calendar) Safar
el Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -1572,18 +1572,18 @@ el_CY Date and time short (Islamic Calendar) 18/7/29 12:31 μ.μ.
el_CY Date and time medium (Islamic Calendar) 18 Raj. 1429 12:31:00 μ.μ.
el_CY Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ. GMT+00:00
el_CY Date and time full (Islamic Calendar) Δευτέρα, 18 Rajab 1429 12:31:00 μ.μ. GMT+00:00
-el_CY Name of month 01 (Gregorian Calendar) Ιανουαρίου
-el_CY Name of month 02 (Gregorian Calendar) Φεβρουαρίου
-el_CY Name of month 03 (Gregorian Calendar) Μαρτίου
-el_CY Name of month 04 (Gregorian Calendar) Απριλίου
-el_CY Name of month 05 (Gregorian Calendar) Μαΐου
-el_CY Name of month 06 (Gregorian Calendar) Ιουνίου
-el_CY Name of month 07 (Gregorian Calendar) Ιουλίου
-el_CY Name of month 08 (Gregorian Calendar) Αυγούστου
-el_CY Name of month 09 (Gregorian Calendar) Σεπτεμβρίου
-el_CY Name of month 10 (Gregorian Calendar) Οκτωβρίου
-el_CY Name of month 11 (Gregorian Calendar) Νοεμβρίου
-el_CY Name of month 12 (Gregorian Calendar) Δεκεμβρίου
+el_CY Name of month 01 (Gregorian Calendar) Ιανουάριος
+el_CY Name of month 02 (Gregorian Calendar) Φεβρουάριος
+el_CY Name of month 03 (Gregorian Calendar) Μάρτιος
+el_CY Name of month 04 (Gregorian Calendar) Απρίλιος
+el_CY Name of month 05 (Gregorian Calendar) Μάιος
+el_CY Name of month 06 (Gregorian Calendar) Ιούνιος
+el_CY Name of month 07 (Gregorian Calendar) Ιούλιος
+el_CY Name of month 08 (Gregorian Calendar) Αύγουστος
+el_CY Name of month 09 (Gregorian Calendar) Σεπτέμβριος
+el_CY Name of month 10 (Gregorian Calendar) Οκτώβριος
+el_CY Name of month 11 (Gregorian Calendar) Νοέμβριος
+el_CY Name of month 12 (Gregorian Calendar) Δεκέμβριος
el_CY Name of month 01 (Islamic Calendar) Muharram
el_CY Name of month 02 (Islamic Calendar) Safar
el_CY Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -1624,18 +1624,18 @@ el_GR Date and time short (Islamic Calendar) 18/7/29 12:31 μ.μ.
el_GR Date and time medium (Islamic Calendar) 18 Raj. 1429 12:31:00 μ.μ.
el_GR Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 μ.μ. GMT+00:00
el_GR Date and time full (Islamic Calendar) Δευτέρα, 18 Rajab 1429 12:31:00 μ.μ. GMT+00:00
-el_GR Name of month 01 (Gregorian Calendar) Ιανουαρίου
-el_GR Name of month 02 (Gregorian Calendar) Φεβρουαρίου
-el_GR Name of month 03 (Gregorian Calendar) Μαρτίου
-el_GR Name of month 04 (Gregorian Calendar) Απριλίου
-el_GR Name of month 05 (Gregorian Calendar) Μαΐου
-el_GR Name of month 06 (Gregorian Calendar) Ιουνίου
-el_GR Name of month 07 (Gregorian Calendar) Ιουλίου
-el_GR Name of month 08 (Gregorian Calendar) Αυγούστου
-el_GR Name of month 09 (Gregorian Calendar) Σεπτεμβρίου
-el_GR Name of month 10 (Gregorian Calendar) Οκτωβρίου
-el_GR Name of month 11 (Gregorian Calendar) Νοεμβρίου
-el_GR Name of month 12 (Gregorian Calendar) Δεκεμβρίου
+el_GR Name of month 01 (Gregorian Calendar) Ιανουάριος
+el_GR Name of month 02 (Gregorian Calendar) Φεβρουάριος
+el_GR Name of month 03 (Gregorian Calendar) Μάρτιος
+el_GR Name of month 04 (Gregorian Calendar) Απρίλιος
+el_GR Name of month 05 (Gregorian Calendar) Μάιος
+el_GR Name of month 06 (Gregorian Calendar) Ιούνιος
+el_GR Name of month 07 (Gregorian Calendar) Ιούλιος
+el_GR Name of month 08 (Gregorian Calendar) Αύγουστος
+el_GR Name of month 09 (Gregorian Calendar) Σεπτέμβριος
+el_GR Name of month 10 (Gregorian Calendar) Οκτώβριος
+el_GR Name of month 11 (Gregorian Calendar) Νοέμβριος
+el_GR Name of month 12 (Gregorian Calendar) Δεκέμβριος
el_GR Name of month 01 (Islamic Calendar) Muharram
el_GR Name of month 02 (Islamic Calendar) Safar
el_GR Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -4120,14 +4120,14 @@ fa Date and time short (Islamic Calendar) ۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱
fa Date and time medium (Islamic Calendar) ۱۴۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱:۰۰
fa Date and time long (Islamic Calendar) ۱۸ رجب ۱۴۲۹ ه‍. ق.، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
fa Date and time full (Islamic Calendar) دوشنبه ۱۸ رجب ۱۴۲۹ هجری قمری، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
-fa Name of month 01 (Gregorian Calendar) ژانویهٔ
-fa Name of month 02 (Gregorian Calendar) فوریهٔ
+fa Name of month 01 (Gregorian Calendar) ژانویه
+fa Name of month 02 (Gregorian Calendar) فوریه
fa Name of month 03 (Gregorian Calendar) مارس
fa Name of month 04 (Gregorian Calendar) آوریل
-fa Name of month 05 (Gregorian Calendar) می
-fa Name of month 06 (Gregorian Calendar) جون
-fa Name of month 07 (Gregorian Calendar) جولای
-fa Name of month 08 (Gregorian Calendar) آگوست
+fa Name of month 05 (Gregorian Calendar) مه
+fa Name of month 06 (Gregorian Calendar) ژوئن
+fa Name of month 07 (Gregorian Calendar) ژوئیه
+fa Name of month 08 (Gregorian Calendar) اوت
fa Name of month 09 (Gregorian Calendar) سپتامبر
fa Name of month 10 (Gregorian Calendar) اکتبر
fa Name of month 11 (Gregorian Calendar) نوامبر
@@ -4172,18 +4172,18 @@ fa_AF Date and time short (Islamic Calendar) ۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:
fa_AF Date and time medium (Islamic Calendar) ۱۴۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱:۰۰
fa_AF Date and time long (Islamic Calendar) ۱۸ رجب ۱۴۲۹ ه‍. ق.، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
fa_AF Date and time full (Islamic Calendar) دوشنبه ۱۸ رجب ۱۴۲۹ هجری قمری، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
-fa_AF Name of month 01 (Gregorian Calendar) جنوری
-fa_AF Name of month 02 (Gregorian Calendar) فبروری
-fa_AF Name of month 03 (Gregorian Calendar) مارچ
-fa_AF Name of month 04 (Gregorian Calendar) اپریل
-fa_AF Name of month 05 (Gregorian Calendar) می
-fa_AF Name of month 06 (Gregorian Calendar) جون
-fa_AF Name of month 07 (Gregorian Calendar) جولای
-fa_AF Name of month 08 (Gregorian Calendar) اگست
-fa_AF Name of month 09 (Gregorian Calendar) سپتمبر
-fa_AF Name of month 10 (Gregorian Calendar) اکتوبر
-fa_AF Name of month 11 (Gregorian Calendar) نومبر
-fa_AF Name of month 12 (Gregorian Calendar) دسمبر
+fa_AF Name of month 01 (Gregorian Calendar) ژانویه
+fa_AF Name of month 02 (Gregorian Calendar) فوریه
+fa_AF Name of month 03 (Gregorian Calendar) مارس
+fa_AF Name of month 04 (Gregorian Calendar) آوریل
+fa_AF Name of month 05 (Gregorian Calendar) مه
+fa_AF Name of month 06 (Gregorian Calendar) ژوئن
+fa_AF Name of month 07 (Gregorian Calendar) ژوئیه
+fa_AF Name of month 08 (Gregorian Calendar) اوت
+fa_AF Name of month 09 (Gregorian Calendar) سپتامبر
+fa_AF Name of month 10 (Gregorian Calendar) اکتبر
+fa_AF Name of month 11 (Gregorian Calendar) نوامبر
+fa_AF Name of month 12 (Gregorian Calendar) دسامبر
fa_AF Name of month 01 (Islamic Calendar) محرم
fa_AF Name of month 02 (Islamic Calendar) صفر
fa_AF Name of month 03 (Islamic Calendar) ربیع الاول
@@ -4224,14 +4224,14 @@ fa_IR Date and time short (Islamic Calendar) ۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:
fa_IR Date and time medium (Islamic Calendar) ۱۴۲۹/۷/۱۸ ه‍. ق.،‏ ۱۲:۳۱:۰۰
fa_IR Date and time long (Islamic Calendar) ۱۸ رجب ۱۴۲۹ ه‍. ق.، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
fa_IR Date and time full (Islamic Calendar) دوشنبه ۱۸ رجب ۱۴۲۹ هجری قمری، ساعت ۱۲:۳۱:۰۰ (GMT+۰۰:۰۰)
-fa_IR Name of month 01 (Gregorian Calendar) ژانویهٔ
-fa_IR Name of month 02 (Gregorian Calendar) فوریهٔ
+fa_IR Name of month 01 (Gregorian Calendar) ژانویه
+fa_IR Name of month 02 (Gregorian Calendar) فوریه
fa_IR Name of month 03 (Gregorian Calendar) مارس
fa_IR Name of month 04 (Gregorian Calendar) آوریل
-fa_IR Name of month 05 (Gregorian Calendar) می
-fa_IR Name of month 06 (Gregorian Calendar) جون
-fa_IR Name of month 07 (Gregorian Calendar) جولای
-fa_IR Name of month 08 (Gregorian Calendar) آگوست
+fa_IR Name of month 05 (Gregorian Calendar) مه
+fa_IR Name of month 06 (Gregorian Calendar) ژوئن
+fa_IR Name of month 07 (Gregorian Calendar) ژوئیه
+fa_IR Name of month 08 (Gregorian Calendar) اوت
fa_IR Name of month 09 (Gregorian Calendar) سپتامبر
fa_IR Name of month 10 (Gregorian Calendar) اکتبر
fa_IR Name of month 11 (Gregorian Calendar) نوامبر
@@ -4271,23 +4271,23 @@ fi Negative Currency value -1 234,56 €
fi Date and time short (Gregorian Calendar) 21.7.2008 12.31
fi Date and time medium (Gregorian Calendar) 21.7.2008 12.31.00
fi Date and time long (Gregorian Calendar) 21. heinäkuuta 2008 12.31.00 UTC+0.00
-fi Date and time full (Gregorian Calendar) maanantaina 21. heinäkuuta 2008 12.31.00 UTC+0.00
+fi Date and time full (Gregorian Calendar) maanantai 21. heinäkuuta 2008 12.31.00 UTC+0.00
fi Date and time short (Islamic Calendar) 18.7.1429 12.31
fi Date and time medium (Islamic Calendar) 18.7.1429 12.31.00
fi Date and time long (Islamic Calendar) 18. radžab 1429 12.31.00 UTC+0.00
-fi Date and time full (Islamic Calendar) maanantaina 18. radžab 1429 12.31.00 UTC+0.00
-fi Name of month 01 (Gregorian Calendar) tammikuuta
-fi Name of month 02 (Gregorian Calendar) helmikuuta
-fi Name of month 03 (Gregorian Calendar) maaliskuuta
-fi Name of month 04 (Gregorian Calendar) huhtikuuta
-fi Name of month 05 (Gregorian Calendar) toukokuuta
-fi Name of month 06 (Gregorian Calendar) kesäkuuta
-fi Name of month 07 (Gregorian Calendar) heinäkuuta
-fi Name of month 08 (Gregorian Calendar) elokuuta
-fi Name of month 09 (Gregorian Calendar) syyskuuta
-fi Name of month 10 (Gregorian Calendar) lokakuuta
-fi Name of month 11 (Gregorian Calendar) marraskuuta
-fi Name of month 12 (Gregorian Calendar) joulukuuta
+fi Date and time full (Islamic Calendar) maanantai 18. radžab 1429 12.31.00 UTC+0.00
+fi Name of month 01 (Gregorian Calendar) tammikuu
+fi Name of month 02 (Gregorian Calendar) helmikuu
+fi Name of month 03 (Gregorian Calendar) maaliskuu
+fi Name of month 04 (Gregorian Calendar) huhtikuu
+fi Name of month 05 (Gregorian Calendar) toukokuu
+fi Name of month 06 (Gregorian Calendar) kesäkuu
+fi Name of month 07 (Gregorian Calendar) heinäkuu
+fi Name of month 08 (Gregorian Calendar) elokuu
+fi Name of month 09 (Gregorian Calendar) syyskuu
+fi Name of month 10 (Gregorian Calendar) lokakuu
+fi Name of month 11 (Gregorian Calendar) marraskuu
+fi Name of month 12 (Gregorian Calendar) joulukuu
fi Name of month 01 (Islamic Calendar) muharram
fi Name of month 02 (Islamic Calendar) safar
fi Name of month 03 (Islamic Calendar) rabi’ al-awwal
@@ -4300,20 +4300,20 @@ fi Name of month 09 (Islamic Calendar) ramadan
fi Name of month 10 (Islamic Calendar) šawwal
fi Name of month 11 (Islamic Calendar) dhu-l-qa’da
fi Name of month 12 (Islamic Calendar) dhu-l-hiddža
-fi Name of weekday 01 (Gregorian Calendar) maanantaina
-fi Name of weekday 02 (Gregorian Calendar) tiistaina
-fi Name of weekday 03 (Gregorian Calendar) keskiviikkona
-fi Name of weekday 04 (Gregorian Calendar) torstaina
-fi Name of weekday 05 (Gregorian Calendar) perjantaina
-fi Name of weekday 06 (Gregorian Calendar) lauantaina
-fi Name of weekday 07 (Gregorian Calendar) sunnuntaina
-fi Name of weekday 01 (Islamic Calendar) maanantaina
-fi Name of weekday 02 (Islamic Calendar) tiistaina
-fi Name of weekday 03 (Islamic Calendar) keskiviikkona
-fi Name of weekday 04 (Islamic Calendar) torstaina
-fi Name of weekday 05 (Islamic Calendar) perjantaina
-fi Name of weekday 06 (Islamic Calendar) lauantaina
-fi Name of weekday 07 (Islamic Calendar) sunnuntaina
+fi Name of weekday 01 (Gregorian Calendar) maanantai
+fi Name of weekday 02 (Gregorian Calendar) tiistai
+fi Name of weekday 03 (Gregorian Calendar) keskiviikko
+fi Name of weekday 04 (Gregorian Calendar) torstai
+fi Name of weekday 05 (Gregorian Calendar) perjantai
+fi Name of weekday 06 (Gregorian Calendar) lauantai
+fi Name of weekday 07 (Gregorian Calendar) sunnuntai
+fi Name of weekday 01 (Islamic Calendar) maanantai
+fi Name of weekday 02 (Islamic Calendar) tiistai
+fi Name of weekday 03 (Islamic Calendar) keskiviikko
+fi Name of weekday 04 (Islamic Calendar) torstai
+fi Name of weekday 05 (Islamic Calendar) perjantai
+fi Name of weekday 06 (Islamic Calendar) lauantai
+fi Name of weekday 07 (Islamic Calendar) sunnuntai
fi_FI Language endonym suomi
fi_FI Country endonym Suomi
fi_FI Floating Point Number -123 456 789,012
@@ -4323,23 +4323,23 @@ fi_FI Negative Currency value -1 234,56 €
fi_FI Date and time short (Gregorian Calendar) 21.7.2008 12.31
fi_FI Date and time medium (Gregorian Calendar) 21.7.2008 12.31.00
fi_FI Date and time long (Gregorian Calendar) 21. heinäkuuta 2008 12.31.00 UTC+0.00
-fi_FI Date and time full (Gregorian Calendar) maanantaina 21. heinäkuuta 2008 12.31.00 UTC+0.00
+fi_FI Date and time full (Gregorian Calendar) maanantai 21. heinäkuuta 2008 12.31.00 UTC+0.00
fi_FI Date and time short (Islamic Calendar) 18.7.1429 12.31
fi_FI Date and time medium (Islamic Calendar) 18.7.1429 12.31.00
fi_FI Date and time long (Islamic Calendar) 18. radžab 1429 12.31.00 UTC+0.00
-fi_FI Date and time full (Islamic Calendar) maanantaina 18. radžab 1429 12.31.00 UTC+0.00
-fi_FI Name of month 01 (Gregorian Calendar) tammikuuta
-fi_FI Name of month 02 (Gregorian Calendar) helmikuuta
-fi_FI Name of month 03 (Gregorian Calendar) maaliskuuta
-fi_FI Name of month 04 (Gregorian Calendar) huhtikuuta
-fi_FI Name of month 05 (Gregorian Calendar) toukokuuta
-fi_FI Name of month 06 (Gregorian Calendar) kesäkuuta
-fi_FI Name of month 07 (Gregorian Calendar) heinäkuuta
-fi_FI Name of month 08 (Gregorian Calendar) elokuuta
-fi_FI Name of month 09 (Gregorian Calendar) syyskuuta
-fi_FI Name of month 10 (Gregorian Calendar) lokakuuta
-fi_FI Name of month 11 (Gregorian Calendar) marraskuuta
-fi_FI Name of month 12 (Gregorian Calendar) joulukuuta
+fi_FI Date and time full (Islamic Calendar) maanantai 18. radžab 1429 12.31.00 UTC+0.00
+fi_FI Name of month 01 (Gregorian Calendar) tammikuu
+fi_FI Name of month 02 (Gregorian Calendar) helmikuu
+fi_FI Name of month 03 (Gregorian Calendar) maaliskuu
+fi_FI Name of month 04 (Gregorian Calendar) huhtikuu
+fi_FI Name of month 05 (Gregorian Calendar) toukokuu
+fi_FI Name of month 06 (Gregorian Calendar) kesäkuu
+fi_FI Name of month 07 (Gregorian Calendar) heinäkuu
+fi_FI Name of month 08 (Gregorian Calendar) elokuu
+fi_FI Name of month 09 (Gregorian Calendar) syyskuu
+fi_FI Name of month 10 (Gregorian Calendar) lokakuu
+fi_FI Name of month 11 (Gregorian Calendar) marraskuu
+fi_FI Name of month 12 (Gregorian Calendar) joulukuu
fi_FI Name of month 01 (Islamic Calendar) muharram
fi_FI Name of month 02 (Islamic Calendar) safar
fi_FI Name of month 03 (Islamic Calendar) rabi’ al-awwal
@@ -4352,20 +4352,20 @@ fi_FI Name of month 09 (Islamic Calendar) ramadan
fi_FI Name of month 10 (Islamic Calendar) šawwal
fi_FI Name of month 11 (Islamic Calendar) dhu-l-qa’da
fi_FI Name of month 12 (Islamic Calendar) dhu-l-hiddža
-fi_FI Name of weekday 01 (Gregorian Calendar) maanantaina
-fi_FI Name of weekday 02 (Gregorian Calendar) tiistaina
-fi_FI Name of weekday 03 (Gregorian Calendar) keskiviikkona
-fi_FI Name of weekday 04 (Gregorian Calendar) torstaina
-fi_FI Name of weekday 05 (Gregorian Calendar) perjantaina
-fi_FI Name of weekday 06 (Gregorian Calendar) lauantaina
-fi_FI Name of weekday 07 (Gregorian Calendar) sunnuntaina
-fi_FI Name of weekday 01 (Islamic Calendar) maanantaina
-fi_FI Name of weekday 02 (Islamic Calendar) tiistaina
-fi_FI Name of weekday 03 (Islamic Calendar) keskiviikkona
-fi_FI Name of weekday 04 (Islamic Calendar) torstaina
-fi_FI Name of weekday 05 (Islamic Calendar) perjantaina
-fi_FI Name of weekday 06 (Islamic Calendar) lauantaina
-fi_FI Name of weekday 07 (Islamic Calendar) sunnuntaina
+fi_FI Name of weekday 01 (Gregorian Calendar) maanantai
+fi_FI Name of weekday 02 (Gregorian Calendar) tiistai
+fi_FI Name of weekday 03 (Gregorian Calendar) keskiviikko
+fi_FI Name of weekday 04 (Gregorian Calendar) torstai
+fi_FI Name of weekday 05 (Gregorian Calendar) perjantai
+fi_FI Name of weekday 06 (Gregorian Calendar) lauantai
+fi_FI Name of weekday 07 (Gregorian Calendar) sunnuntai
+fi_FI Name of weekday 01 (Islamic Calendar) maanantai
+fi_FI Name of weekday 02 (Islamic Calendar) tiistai
+fi_FI Name of weekday 03 (Islamic Calendar) keskiviikko
+fi_FI Name of weekday 04 (Islamic Calendar) torstai
+fi_FI Name of weekday 05 (Islamic Calendar) perjantai
+fi_FI Name of weekday 06 (Islamic Calendar) lauantai
+fi_FI Name of weekday 07 (Islamic Calendar) sunnuntai
fr Language endonym français
fr Country endonym
fr Floating Point Number -123 456 789,012
@@ -5207,23 +5207,23 @@ it Negative Currency value -€ 1.234,56
it Date and time short (Gregorian Calendar) 21/07/08 12:31
it Date and time medium (Gregorian Calendar) 21/lug/2008 12:31:00
it Date and time long (Gregorian Calendar) 21 luglio 2008 12:31:00 GMT+00:00
-it Date and time full (Gregorian Calendar) lunedì 21 luglio 2008 12:31:00 GMT+00:00
+it Date and time full (Gregorian Calendar) Lunedì 21 Luglio 2008 12:31:00 GMT+00:00
it Date and time short (Islamic Calendar) 18/07/29 12:31
it Date and time medium (Islamic Calendar) 18/Raj./1429 12:31:00
it Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 GMT+00:00
-it Date and time full (Islamic Calendar) lunedì 18 Rajab 1429 12:31:00 GMT+00:00
-it Name of month 01 (Gregorian Calendar) gennaio
-it Name of month 02 (Gregorian Calendar) febbraio
-it Name of month 03 (Gregorian Calendar) marzo
-it Name of month 04 (Gregorian Calendar) aprile
-it Name of month 05 (Gregorian Calendar) maggio
-it Name of month 06 (Gregorian Calendar) giugno
-it Name of month 07 (Gregorian Calendar) luglio
-it Name of month 08 (Gregorian Calendar) agosto
-it Name of month 09 (Gregorian Calendar) settembre
-it Name of month 10 (Gregorian Calendar) ottobre
-it Name of month 11 (Gregorian Calendar) novembre
-it Name of month 12 (Gregorian Calendar) dicembre
+it Date and time full (Islamic Calendar) Lunedì 18 Rajab 1429 12:31:00 GMT+00:00
+it Name of month 01 (Gregorian Calendar) Gennaio
+it Name of month 02 (Gregorian Calendar) Febbraio
+it Name of month 03 (Gregorian Calendar) Marzo
+it Name of month 04 (Gregorian Calendar) Aprile
+it Name of month 05 (Gregorian Calendar) Maggio
+it Name of month 06 (Gregorian Calendar) Giugno
+it Name of month 07 (Gregorian Calendar) Luglio
+it Name of month 08 (Gregorian Calendar) Agosto
+it Name of month 09 (Gregorian Calendar) Settembre
+it Name of month 10 (Gregorian Calendar) Ottobre
+it Name of month 11 (Gregorian Calendar) Novembre
+it Name of month 12 (Gregorian Calendar) Dicembre
it Name of month 01 (Islamic Calendar) Muharram
it Name of month 02 (Islamic Calendar) Safar
it Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -5236,20 +5236,20 @@ it Name of month 09 (Islamic Calendar) Ramadan
it Name of month 10 (Islamic Calendar) Shawwal
it Name of month 11 (Islamic Calendar) Dhuʻl-Qiʻdah
it Name of month 12 (Islamic Calendar) Dhuʻl-Hijjah
-it Name of weekday 01 (Gregorian Calendar) lunedì
-it Name of weekday 02 (Gregorian Calendar) martedì
-it Name of weekday 03 (Gregorian Calendar) mercoledì
-it Name of weekday 04 (Gregorian Calendar) giovedì
-it Name of weekday 05 (Gregorian Calendar) venerdì
-it Name of weekday 06 (Gregorian Calendar) sabato
-it Name of weekday 07 (Gregorian Calendar) domenica
-it Name of weekday 01 (Islamic Calendar) lunedì
-it Name of weekday 02 (Islamic Calendar) martedì
-it Name of weekday 03 (Islamic Calendar) mercoledì
-it Name of weekday 04 (Islamic Calendar) giovedì
-it Name of weekday 05 (Islamic Calendar) venerdì
-it Name of weekday 06 (Islamic Calendar) sabato
-it Name of weekday 07 (Islamic Calendar) domenica
+it Name of weekday 01 (Gregorian Calendar) Lunedì
+it Name of weekday 02 (Gregorian Calendar) Martedì
+it Name of weekday 03 (Gregorian Calendar) Mercoledì
+it Name of weekday 04 (Gregorian Calendar) Giovedì
+it Name of weekday 05 (Gregorian Calendar) Venerdì
+it Name of weekday 06 (Gregorian Calendar) Sabato
+it Name of weekday 07 (Gregorian Calendar) Domenica
+it Name of weekday 01 (Islamic Calendar) Lunedì
+it Name of weekday 02 (Islamic Calendar) Martedì
+it Name of weekday 03 (Islamic Calendar) Mercoledì
+it Name of weekday 04 (Islamic Calendar) Giovedì
+it Name of weekday 05 (Islamic Calendar) Venerdì
+it Name of weekday 06 (Islamic Calendar) Sabato
+it Name of weekday 07 (Islamic Calendar) Domenica
it_CH Language endonym italiano
it_CH Country endonym Svizzera
it_CH Floating Point Number -123'456'789.012
@@ -5264,18 +5264,18 @@ it_CH Date and time short (Islamic Calendar) 18.07.29 12:31
it_CH Date and time medium (Islamic Calendar) 18-Raj.-1429 12:31:00
it_CH Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 GMT+00:00
it_CH Date and time full (Islamic Calendar) lunedì, 18 Rajab 1429 12.31:00 h GMT+00:00
-it_CH Name of month 01 (Gregorian Calendar) gennaio
-it_CH Name of month 02 (Gregorian Calendar) febbraio
-it_CH Name of month 03 (Gregorian Calendar) marzo
-it_CH Name of month 04 (Gregorian Calendar) aprile
-it_CH Name of month 05 (Gregorian Calendar) maggio
-it_CH Name of month 06 (Gregorian Calendar) giugno
-it_CH Name of month 07 (Gregorian Calendar) luglio
-it_CH Name of month 08 (Gregorian Calendar) agosto
-it_CH Name of month 09 (Gregorian Calendar) settembre
-it_CH Name of month 10 (Gregorian Calendar) ottobre
-it_CH Name of month 11 (Gregorian Calendar) novembre
-it_CH Name of month 12 (Gregorian Calendar) dicembre
+it_CH Name of month 01 (Gregorian Calendar) Gennaio
+it_CH Name of month 02 (Gregorian Calendar) Febbraio
+it_CH Name of month 03 (Gregorian Calendar) Marzo
+it_CH Name of month 04 (Gregorian Calendar) Aprile
+it_CH Name of month 05 (Gregorian Calendar) Maggio
+it_CH Name of month 06 (Gregorian Calendar) Giugno
+it_CH Name of month 07 (Gregorian Calendar) Luglio
+it_CH Name of month 08 (Gregorian Calendar) Agosto
+it_CH Name of month 09 (Gregorian Calendar) Settembre
+it_CH Name of month 10 (Gregorian Calendar) Ottobre
+it_CH Name of month 11 (Gregorian Calendar) Novembre
+it_CH Name of month 12 (Gregorian Calendar) Dicembre
it_CH Name of month 01 (Islamic Calendar) Muharram
it_CH Name of month 02 (Islamic Calendar) Safar
it_CH Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -5288,20 +5288,20 @@ it_CH Name of month 09 (Islamic Calendar) Ramadan
it_CH Name of month 10 (Islamic Calendar) Shawwal
it_CH Name of month 11 (Islamic Calendar) Dhuʻl-Qiʻdah
it_CH Name of month 12 (Islamic Calendar) Dhuʻl-Hijjah
-it_CH Name of weekday 01 (Gregorian Calendar) lunedì
-it_CH Name of weekday 02 (Gregorian Calendar) martedì
-it_CH Name of weekday 03 (Gregorian Calendar) mercoledì
-it_CH Name of weekday 04 (Gregorian Calendar) giovedì
-it_CH Name of weekday 05 (Gregorian Calendar) venerdì
-it_CH Name of weekday 06 (Gregorian Calendar) sabato
-it_CH Name of weekday 07 (Gregorian Calendar) domenica
-it_CH Name of weekday 01 (Islamic Calendar) lunedì
-it_CH Name of weekday 02 (Islamic Calendar) martedì
-it_CH Name of weekday 03 (Islamic Calendar) mercoledì
-it_CH Name of weekday 04 (Islamic Calendar) giovedì
-it_CH Name of weekday 05 (Islamic Calendar) venerdì
-it_CH Name of weekday 06 (Islamic Calendar) sabato
-it_CH Name of weekday 07 (Islamic Calendar) domenica
+it_CH Name of weekday 01 (Gregorian Calendar) Lunedì
+it_CH Name of weekday 02 (Gregorian Calendar) Martedì
+it_CH Name of weekday 03 (Gregorian Calendar) Mercoledì
+it_CH Name of weekday 04 (Gregorian Calendar) Giovedì
+it_CH Name of weekday 05 (Gregorian Calendar) Venerdì
+it_CH Name of weekday 06 (Gregorian Calendar) Sabato
+it_CH Name of weekday 07 (Gregorian Calendar) Domenica
+it_CH Name of weekday 01 (Islamic Calendar) Lunedì
+it_CH Name of weekday 02 (Islamic Calendar) Martedì
+it_CH Name of weekday 03 (Islamic Calendar) Mercoledì
+it_CH Name of weekday 04 (Islamic Calendar) Giovedì
+it_CH Name of weekday 05 (Islamic Calendar) Venerdì
+it_CH Name of weekday 06 (Islamic Calendar) Sabato
+it_CH Name of weekday 07 (Islamic Calendar) Domenica
it_IT Language endonym italiano
it_IT Country endonym Italia
it_IT Floating Point Number -123.456.789,012
@@ -5311,23 +5311,23 @@ it_IT Negative Currency value -€ 1.234,56
it_IT Date and time short (Gregorian Calendar) 21/07/08 12:31
it_IT Date and time medium (Gregorian Calendar) 21/lug/2008 12:31:00
it_IT Date and time long (Gregorian Calendar) 21 luglio 2008 12:31:00 GMT+00:00
-it_IT Date and time full (Gregorian Calendar) lunedì 21 luglio 2008 12:31:00 GMT+00:00
+it_IT Date and time full (Gregorian Calendar) Lunedì 21 Luglio 2008 12:31:00 GMT+00:00
it_IT Date and time short (Islamic Calendar) 18/07/29 12:31
it_IT Date and time medium (Islamic Calendar) 18/Raj./1429 12:31:00
it_IT Date and time long (Islamic Calendar) 18 Rajab 1429 12:31:00 GMT+00:00
-it_IT Date and time full (Islamic Calendar) lunedì 18 Rajab 1429 12:31:00 GMT+00:00
-it_IT Name of month 01 (Gregorian Calendar) gennaio
-it_IT Name of month 02 (Gregorian Calendar) febbraio
-it_IT Name of month 03 (Gregorian Calendar) marzo
-it_IT Name of month 04 (Gregorian Calendar) aprile
-it_IT Name of month 05 (Gregorian Calendar) maggio
-it_IT Name of month 06 (Gregorian Calendar) giugno
-it_IT Name of month 07 (Gregorian Calendar) luglio
-it_IT Name of month 08 (Gregorian Calendar) agosto
-it_IT Name of month 09 (Gregorian Calendar) settembre
-it_IT Name of month 10 (Gregorian Calendar) ottobre
-it_IT Name of month 11 (Gregorian Calendar) novembre
-it_IT Name of month 12 (Gregorian Calendar) dicembre
+it_IT Date and time full (Islamic Calendar) Lunedì 18 Rajab 1429 12:31:00 GMT+00:00
+it_IT Name of month 01 (Gregorian Calendar) Gennaio
+it_IT Name of month 02 (Gregorian Calendar) Febbraio
+it_IT Name of month 03 (Gregorian Calendar) Marzo
+it_IT Name of month 04 (Gregorian Calendar) Aprile
+it_IT Name of month 05 (Gregorian Calendar) Maggio
+it_IT Name of month 06 (Gregorian Calendar) Giugno
+it_IT Name of month 07 (Gregorian Calendar) Luglio
+it_IT Name of month 08 (Gregorian Calendar) Agosto
+it_IT Name of month 09 (Gregorian Calendar) Settembre
+it_IT Name of month 10 (Gregorian Calendar) Ottobre
+it_IT Name of month 11 (Gregorian Calendar) Novembre
+it_IT Name of month 12 (Gregorian Calendar) Dicembre
it_IT Name of month 01 (Islamic Calendar) Muharram
it_IT Name of month 02 (Islamic Calendar) Safar
it_IT Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -5340,20 +5340,20 @@ it_IT Name of month 09 (Islamic Calendar) Ramadan
it_IT Name of month 10 (Islamic Calendar) Shawwal
it_IT Name of month 11 (Islamic Calendar) Dhuʻl-Qiʻdah
it_IT Name of month 12 (Islamic Calendar) Dhuʻl-Hijjah
-it_IT Name of weekday 01 (Gregorian Calendar) lunedì
-it_IT Name of weekday 02 (Gregorian Calendar) martedì
-it_IT Name of weekday 03 (Gregorian Calendar) mercoledì
-it_IT Name of weekday 04 (Gregorian Calendar) giovedì
-it_IT Name of weekday 05 (Gregorian Calendar) venerdì
-it_IT Name of weekday 06 (Gregorian Calendar) sabato
-it_IT Name of weekday 07 (Gregorian Calendar) domenica
-it_IT Name of weekday 01 (Islamic Calendar) lunedì
-it_IT Name of weekday 02 (Islamic Calendar) martedì
-it_IT Name of weekday 03 (Islamic Calendar) mercoledì
-it_IT Name of weekday 04 (Islamic Calendar) giovedì
-it_IT Name of weekday 05 (Islamic Calendar) venerdì
-it_IT Name of weekday 06 (Islamic Calendar) sabato
-it_IT Name of weekday 07 (Islamic Calendar) domenica
+it_IT Name of weekday 01 (Gregorian Calendar) Lunedì
+it_IT Name of weekday 02 (Gregorian Calendar) Martedì
+it_IT Name of weekday 03 (Gregorian Calendar) Mercoledì
+it_IT Name of weekday 04 (Gregorian Calendar) Giovedì
+it_IT Name of weekday 05 (Gregorian Calendar) Venerdì
+it_IT Name of weekday 06 (Gregorian Calendar) Sabato
+it_IT Name of weekday 07 (Gregorian Calendar) Domenica
+it_IT Name of weekday 01 (Islamic Calendar) Lunedì
+it_IT Name of weekday 02 (Islamic Calendar) Martedì
+it_IT Name of weekday 03 (Islamic Calendar) Mercoledì
+it_IT Name of weekday 04 (Islamic Calendar) Giovedì
+it_IT Name of weekday 05 (Islamic Calendar) Venerdì
+it_IT Name of weekday 06 (Islamic Calendar) Sabato
+it_IT Name of weekday 07 (Islamic Calendar) Domenica
ja Language endonym 日本語
ja Country endonym
ja Floating Point Number -123,456,789.012
@@ -6148,18 +6148,18 @@ ru Date and time short (Islamic Calendar) 18.07.29 12:31
ru Date and time medium (Islamic Calendar) 18.07.1429 12:31:00
ru Date and time long (Islamic Calendar) 18 Раджаб 1429 г. 12:31:00 GMT+00:00
ru Date and time full (Islamic Calendar) понедельник, 18 Раджаб 1429 г. 12:31:00 GMT+00:00
-ru Name of month 01 (Gregorian Calendar) января
-ru Name of month 02 (Gregorian Calendar) февраля
-ru Name of month 03 (Gregorian Calendar) марта
-ru Name of month 04 (Gregorian Calendar) апреля
-ru Name of month 05 (Gregorian Calendar) мая
-ru Name of month 06 (Gregorian Calendar) июня
-ru Name of month 07 (Gregorian Calendar) июля
-ru Name of month 08 (Gregorian Calendar) августа
-ru Name of month 09 (Gregorian Calendar) сентября
-ru Name of month 10 (Gregorian Calendar) октября
-ru Name of month 11 (Gregorian Calendar) ноября
-ru Name of month 12 (Gregorian Calendar) декабря
+ru Name of month 01 (Gregorian Calendar) Январь
+ru Name of month 02 (Gregorian Calendar) Февраль
+ru Name of month 03 (Gregorian Calendar) Март
+ru Name of month 04 (Gregorian Calendar) Апрель
+ru Name of month 05 (Gregorian Calendar) Май
+ru Name of month 06 (Gregorian Calendar) Июнь
+ru Name of month 07 (Gregorian Calendar) Июль
+ru Name of month 08 (Gregorian Calendar) Август
+ru Name of month 09 (Gregorian Calendar) Сентябрь
+ru Name of month 10 (Gregorian Calendar) Октябрь
+ru Name of month 11 (Gregorian Calendar) Ноябрь
+ru Name of month 12 (Gregorian Calendar) Декабрь
ru Name of month 01 (Islamic Calendar) Мухаррам
ru Name of month 02 (Islamic Calendar) Сафар
ru Name of month 03 (Islamic Calendar) Раби-уль-авваль
@@ -6172,20 +6172,20 @@ ru Name of month 09 (Islamic Calendar) Рамадан
ru Name of month 10 (Islamic Calendar) Шавваль
ru Name of month 11 (Islamic Calendar) Зуль-Каада
ru Name of month 12 (Islamic Calendar) Зуль-Хиджжа
-ru Name of weekday 01 (Gregorian Calendar) понедельник
-ru Name of weekday 02 (Gregorian Calendar) вторник
-ru Name of weekday 03 (Gregorian Calendar) среда
-ru Name of weekday 04 (Gregorian Calendar) четверг
-ru Name of weekday 05 (Gregorian Calendar) пятница
-ru Name of weekday 06 (Gregorian Calendar) суббота
-ru Name of weekday 07 (Gregorian Calendar) воскресенье
-ru Name of weekday 01 (Islamic Calendar) понедельник
-ru Name of weekday 02 (Islamic Calendar) вторник
-ru Name of weekday 03 (Islamic Calendar) среда
-ru Name of weekday 04 (Islamic Calendar) четверг
-ru Name of weekday 05 (Islamic Calendar) пятница
-ru Name of weekday 06 (Islamic Calendar) суббота
-ru Name of weekday 07 (Islamic Calendar) воскресенье
+ru Name of weekday 01 (Gregorian Calendar) Понедельник
+ru Name of weekday 02 (Gregorian Calendar) Вторник
+ru Name of weekday 03 (Gregorian Calendar) Среда
+ru Name of weekday 04 (Gregorian Calendar) Четверг
+ru Name of weekday 05 (Gregorian Calendar) Пятница
+ru Name of weekday 06 (Gregorian Calendar) Суббота
+ru Name of weekday 07 (Gregorian Calendar) Воскресенье
+ru Name of weekday 01 (Islamic Calendar) Понедельник
+ru Name of weekday 02 (Islamic Calendar) Вторник
+ru Name of weekday 03 (Islamic Calendar) Среда
+ru Name of weekday 04 (Islamic Calendar) Четверг
+ru Name of weekday 05 (Islamic Calendar) Пятница
+ru Name of weekday 06 (Islamic Calendar) Суббота
+ru Name of weekday 07 (Islamic Calendar) Воскресенье
ru_RU Language endonym русский
ru_RU Country endonym Россия
ru_RU Floating Point Number -123 456 789,012
@@ -6200,18 +6200,18 @@ ru_RU Date and time short (Islamic Calendar) 18.07.29 12:31
ru_RU Date and time medium (Islamic Calendar) 18.07.1429 12:31:00
ru_RU Date and time long (Islamic Calendar) 18 Раджаб 1429 г. 12:31:00 GMT+00:00
ru_RU Date and time full (Islamic Calendar) понедельник, 18 Раджаб 1429 г. 12:31:00 GMT+00:00
-ru_RU Name of month 01 (Gregorian Calendar) января
-ru_RU Name of month 02 (Gregorian Calendar) февраля
-ru_RU Name of month 03 (Gregorian Calendar) марта
-ru_RU Name of month 04 (Gregorian Calendar) апреля
-ru_RU Name of month 05 (Gregorian Calendar) мая
-ru_RU Name of month 06 (Gregorian Calendar) июня
-ru_RU Name of month 07 (Gregorian Calendar) июля
-ru_RU Name of month 08 (Gregorian Calendar) августа
-ru_RU Name of month 09 (Gregorian Calendar) сентября
-ru_RU Name of month 10 (Gregorian Calendar) октября
-ru_RU Name of month 11 (Gregorian Calendar) ноября
-ru_RU Name of month 12 (Gregorian Calendar) декабря
+ru_RU Name of month 01 (Gregorian Calendar) Январь
+ru_RU Name of month 02 (Gregorian Calendar) Февраль
+ru_RU Name of month 03 (Gregorian Calendar) Март
+ru_RU Name of month 04 (Gregorian Calendar) Апрель
+ru_RU Name of month 05 (Gregorian Calendar) Май
+ru_RU Name of month 06 (Gregorian Calendar) Июнь
+ru_RU Name of month 07 (Gregorian Calendar) Июль
+ru_RU Name of month 08 (Gregorian Calendar) Август
+ru_RU Name of month 09 (Gregorian Calendar) Сентябрь
+ru_RU Name of month 10 (Gregorian Calendar) Октябрь
+ru_RU Name of month 11 (Gregorian Calendar) Ноябрь
+ru_RU Name of month 12 (Gregorian Calendar) Декабрь
ru_RU Name of month 01 (Islamic Calendar) Мухаррам
ru_RU Name of month 02 (Islamic Calendar) Сафар
ru_RU Name of month 03 (Islamic Calendar) Раби-уль-авваль
@@ -6224,20 +6224,20 @@ ru_RU Name of month 09 (Islamic Calendar) Рамадан
ru_RU Name of month 10 (Islamic Calendar) Шавваль
ru_RU Name of month 11 (Islamic Calendar) Зуль-Каада
ru_RU Name of month 12 (Islamic Calendar) Зуль-Хиджжа
-ru_RU Name of weekday 01 (Gregorian Calendar) понедельник
-ru_RU Name of weekday 02 (Gregorian Calendar) вторник
-ru_RU Name of weekday 03 (Gregorian Calendar) среда
-ru_RU Name of weekday 04 (Gregorian Calendar) четверг
-ru_RU Name of weekday 05 (Gregorian Calendar) пятница
-ru_RU Name of weekday 06 (Gregorian Calendar) суббота
-ru_RU Name of weekday 07 (Gregorian Calendar) воскресенье
-ru_RU Name of weekday 01 (Islamic Calendar) понедельник
-ru_RU Name of weekday 02 (Islamic Calendar) вторник
-ru_RU Name of weekday 03 (Islamic Calendar) среда
-ru_RU Name of weekday 04 (Islamic Calendar) четверг
-ru_RU Name of weekday 05 (Islamic Calendar) пятница
-ru_RU Name of weekday 06 (Islamic Calendar) суббота
-ru_RU Name of weekday 07 (Islamic Calendar) воскресенье
+ru_RU Name of weekday 01 (Gregorian Calendar) Понедельник
+ru_RU Name of weekday 02 (Gregorian Calendar) Вторник
+ru_RU Name of weekday 03 (Gregorian Calendar) Среда
+ru_RU Name of weekday 04 (Gregorian Calendar) Четверг
+ru_RU Name of weekday 05 (Gregorian Calendar) Пятница
+ru_RU Name of weekday 06 (Gregorian Calendar) Суббота
+ru_RU Name of weekday 07 (Gregorian Calendar) Воскресенье
+ru_RU Name of weekday 01 (Islamic Calendar) Понедельник
+ru_RU Name of weekday 02 (Islamic Calendar) Вторник
+ru_RU Name of weekday 03 (Islamic Calendar) Среда
+ru_RU Name of weekday 04 (Islamic Calendar) Четверг
+ru_RU Name of weekday 05 (Islamic Calendar) Пятница
+ru_RU Name of weekday 06 (Islamic Calendar) Суббота
+ru_RU Name of weekday 07 (Islamic Calendar) Воскресенье
ru_UA Language endonym ru
ru_UA Country endonym Украина
ru_UA Floating Point Number -123 456 789,012
@@ -6252,18 +6252,18 @@ ru_UA Date and time short (Islamic Calendar) 18.07.29 12:31
ru_UA Date and time medium (Islamic Calendar) 18 Raj. 1429 12:31:00
ru_UA Date and time long (Islamic Calendar) 18 Раджаб 1429 12:31:00 GMT+00:00
ru_UA Date and time full (Islamic Calendar) понедельник, 18 Раджаб 1429 г. 12:31:00 GMT+00:00
-ru_UA Name of month 01 (Gregorian Calendar) января
-ru_UA Name of month 02 (Gregorian Calendar) февраля
-ru_UA Name of month 03 (Gregorian Calendar) марта
-ru_UA Name of month 04 (Gregorian Calendar) апреля
-ru_UA Name of month 05 (Gregorian Calendar) мая
-ru_UA Name of month 06 (Gregorian Calendar) июня
-ru_UA Name of month 07 (Gregorian Calendar) июля
-ru_UA Name of month 08 (Gregorian Calendar) августа
-ru_UA Name of month 09 (Gregorian Calendar) сентября
-ru_UA Name of month 10 (Gregorian Calendar) октября
-ru_UA Name of month 11 (Gregorian Calendar) ноября
-ru_UA Name of month 12 (Gregorian Calendar) декабря
+ru_UA Name of month 01 (Gregorian Calendar) Январь
+ru_UA Name of month 02 (Gregorian Calendar) Февраль
+ru_UA Name of month 03 (Gregorian Calendar) Март
+ru_UA Name of month 04 (Gregorian Calendar) Апрель
+ru_UA Name of month 05 (Gregorian Calendar) Май
+ru_UA Name of month 06 (Gregorian Calendar) Июнь
+ru_UA Name of month 07 (Gregorian Calendar) Июль
+ru_UA Name of month 08 (Gregorian Calendar) Август
+ru_UA Name of month 09 (Gregorian Calendar) Сентябрь
+ru_UA Name of month 10 (Gregorian Calendar) Октябрь
+ru_UA Name of month 11 (Gregorian Calendar) Ноябрь
+ru_UA Name of month 12 (Gregorian Calendar) Декабрь
ru_UA Name of month 01 (Islamic Calendar) Мухаррам
ru_UA Name of month 02 (Islamic Calendar) Сафар
ru_UA Name of month 03 (Islamic Calendar) Раби-уль-авваль
@@ -6276,20 +6276,20 @@ ru_UA Name of month 09 (Islamic Calendar) Рамадан
ru_UA Name of month 10 (Islamic Calendar) Шавваль
ru_UA Name of month 11 (Islamic Calendar) Зуль-Каада
ru_UA Name of month 12 (Islamic Calendar) Зуль-Хиджжа
-ru_UA Name of weekday 01 (Gregorian Calendar) понедельник
-ru_UA Name of weekday 02 (Gregorian Calendar) вторник
-ru_UA Name of weekday 03 (Gregorian Calendar) среда
-ru_UA Name of weekday 04 (Gregorian Calendar) четверг
-ru_UA Name of weekday 05 (Gregorian Calendar) пятница
-ru_UA Name of weekday 06 (Gregorian Calendar) суббота
-ru_UA Name of weekday 07 (Gregorian Calendar) воскресенье
-ru_UA Name of weekday 01 (Islamic Calendar) понедельник
-ru_UA Name of weekday 02 (Islamic Calendar) вторник
-ru_UA Name of weekday 03 (Islamic Calendar) среда
-ru_UA Name of weekday 04 (Islamic Calendar) четверг
-ru_UA Name of weekday 05 (Islamic Calendar) пятница
-ru_UA Name of weekday 06 (Islamic Calendar) суббота
-ru_UA Name of weekday 07 (Islamic Calendar) воскресенье
+ru_UA Name of weekday 01 (Gregorian Calendar) Понедельник
+ru_UA Name of weekday 02 (Gregorian Calendar) Вторник
+ru_UA Name of weekday 03 (Gregorian Calendar) Среда
+ru_UA Name of weekday 04 (Gregorian Calendar) Четверг
+ru_UA Name of weekday 05 (Gregorian Calendar) Пятница
+ru_UA Name of weekday 06 (Gregorian Calendar) Суббота
+ru_UA Name of weekday 07 (Gregorian Calendar) Воскресенье
+ru_UA Name of weekday 01 (Islamic Calendar) Понедельник
+ru_UA Name of weekday 02 (Islamic Calendar) Вторник
+ru_UA Name of weekday 03 (Islamic Calendar) Среда
+ru_UA Name of weekday 04 (Islamic Calendar) Четверг
+ru_UA Name of weekday 05 (Islamic Calendar) Пятница
+ru_UA Name of weekday 06 (Islamic Calendar) Суббота
+ru_UA Name of weekday 07 (Islamic Calendar) Воскресенье
sv Language endonym svenska
sv Country endonym
sv Floating Point Number −123 456 789,012
@@ -6668,18 +6668,18 @@ uk Date and time short (Islamic Calendar) 18.07.29 12:31
uk Date and time medium (Islamic Calendar) 18 Raj. 1429 12:31:00
uk Date and time long (Islamic Calendar) 18 Раджаб 1429 р. 12:31:00 GMT+00:00
uk Date and time full (Islamic Calendar) Понеділок, 18 Раджаб 1429 р. 12:31:00 GMT+00:00
-uk Name of month 01 (Gregorian Calendar) січня
-uk Name of month 02 (Gregorian Calendar) лютого
-uk Name of month 03 (Gregorian Calendar) березня
-uk Name of month 04 (Gregorian Calendar) квітня
-uk Name of month 05 (Gregorian Calendar) травня
-uk Name of month 06 (Gregorian Calendar) червня
-uk Name of month 07 (Gregorian Calendar) липня
-uk Name of month 08 (Gregorian Calendar) серпня
-uk Name of month 09 (Gregorian Calendar) вересня
-uk Name of month 10 (Gregorian Calendar) жовтня
-uk Name of month 11 (Gregorian Calendar) листопада
-uk Name of month 12 (Gregorian Calendar) грудня
+uk Name of month 01 (Gregorian Calendar) Січень
+uk Name of month 02 (Gregorian Calendar) Лютий
+uk Name of month 03 (Gregorian Calendar) Березень
+uk Name of month 04 (Gregorian Calendar) Квітень
+uk Name of month 05 (Gregorian Calendar) Травень
+uk Name of month 06 (Gregorian Calendar) Червень
+uk Name of month 07 (Gregorian Calendar) Липень
+uk Name of month 08 (Gregorian Calendar) Серпень
+uk Name of month 09 (Gregorian Calendar) Вересень
+uk Name of month 10 (Gregorian Calendar) Жовтень
+uk Name of month 11 (Gregorian Calendar) Листопад
+uk Name of month 12 (Gregorian Calendar) Грудень
uk Name of month 01 (Islamic Calendar) Мухаррам
uk Name of month 02 (Islamic Calendar) Сафар
uk Name of month 03 (Islamic Calendar) Рабі I
@@ -6720,18 +6720,18 @@ uk_UA Date and time short (Islamic Calendar) 18.07.29 12:31
uk_UA Date and time medium (Islamic Calendar) 18 Raj. 1429 12:31:00
uk_UA Date and time long (Islamic Calendar) 18 Раджаб 1429 р. 12:31:00 GMT+00:00
uk_UA Date and time full (Islamic Calendar) Понеділок, 18 Раджаб 1429 р. 12:31:00 GMT+00:00
-uk_UA Name of month 01 (Gregorian Calendar) січня
-uk_UA Name of month 02 (Gregorian Calendar) лютого
-uk_UA Name of month 03 (Gregorian Calendar) березня
-uk_UA Name of month 04 (Gregorian Calendar) квітня
-uk_UA Name of month 05 (Gregorian Calendar) травня
-uk_UA Name of month 06 (Gregorian Calendar) червня
-uk_UA Name of month 07 (Gregorian Calendar) липня
-uk_UA Name of month 08 (Gregorian Calendar) серпня
-uk_UA Name of month 09 (Gregorian Calendar) вересня
-uk_UA Name of month 10 (Gregorian Calendar) жовтня
-uk_UA Name of month 11 (Gregorian Calendar) листопада
-uk_UA Name of month 12 (Gregorian Calendar) грудня
+uk_UA Name of month 01 (Gregorian Calendar) Січень
+uk_UA Name of month 02 (Gregorian Calendar) Лютий
+uk_UA Name of month 03 (Gregorian Calendar) Березень
+uk_UA Name of month 04 (Gregorian Calendar) Квітень
+uk_UA Name of month 05 (Gregorian Calendar) Травень
+uk_UA Name of month 06 (Gregorian Calendar) Червень
+uk_UA Name of month 07 (Gregorian Calendar) Липень
+uk_UA Name of month 08 (Gregorian Calendar) Серпень
+uk_UA Name of month 09 (Gregorian Calendar) Вересень
+uk_UA Name of month 10 (Gregorian Calendar) Жовтень
+uk_UA Name of month 11 (Gregorian Calendar) Листопад
+uk_UA Name of month 12 (Gregorian Calendar) Грудень
uk_UA Name of month 01 (Islamic Calendar) Мухаррам
uk_UA Name of month 02 (Islamic Calendar) Сафар
uk_UA Name of month 03 (Islamic Calendar) Рабі I
@@ -6928,18 +6928,18 @@ zh Date and time short (Islamic Calendar) 29-7-18 下午12:31
zh Date and time medium (Islamic Calendar) 1429-7-18 下午12:31:00
zh Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000下午12时31分00秒
zh Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000下午12时31分00秒
-zh Name of month 01 (Gregorian Calendar) 1月
-zh Name of month 02 (Gregorian Calendar) 2月
-zh Name of month 03 (Gregorian Calendar) 3月
-zh Name of month 04 (Gregorian Calendar) 4月
-zh Name of month 05 (Gregorian Calendar) 5月
-zh Name of month 06 (Gregorian Calendar) 6月
-zh Name of month 07 (Gregorian Calendar) 7月
-zh Name of month 08 (Gregorian Calendar) 8月
-zh Name of month 09 (Gregorian Calendar) 9月
-zh Name of month 10 (Gregorian Calendar) 10月
-zh Name of month 11 (Gregorian Calendar) 11月
-zh Name of month 12 (Gregorian Calendar) 12月
+zh Name of month 01 (Gregorian Calendar) 一月
+zh Name of month 02 (Gregorian Calendar) 二月
+zh Name of month 03 (Gregorian Calendar) 三月
+zh Name of month 04 (Gregorian Calendar) 四月
+zh Name of month 05 (Gregorian Calendar) 五月
+zh Name of month 06 (Gregorian Calendar) 六月
+zh Name of month 07 (Gregorian Calendar) 七月
+zh Name of month 08 (Gregorian Calendar) 八月
+zh Name of month 09 (Gregorian Calendar) 九月
+zh Name of month 10 (Gregorian Calendar) 十月
+zh Name of month 11 (Gregorian Calendar) 十一月
+zh Name of month 12 (Gregorian Calendar) 十二月
zh Name of month 01 (Islamic Calendar) Muharram
zh Name of month 02 (Islamic Calendar) Safar
zh Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -6980,18 +6980,18 @@ zh_Hans Date and time short (Islamic Calendar) 29-7-18 下午12:31
zh_Hans Date and time medium (Islamic Calendar) 1429-7-18 下午12:31:00
zh_Hans Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000下午12时31分00秒
zh_Hans Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000下午12时31分00秒
-zh_Hans Name of month 01 (Gregorian Calendar) 1月
-zh_Hans Name of month 02 (Gregorian Calendar) 2月
-zh_Hans Name of month 03 (Gregorian Calendar) 3月
-zh_Hans Name of month 04 (Gregorian Calendar) 4月
-zh_Hans Name of month 05 (Gregorian Calendar) 5月
-zh_Hans Name of month 06 (Gregorian Calendar) 6月
-zh_Hans Name of month 07 (Gregorian Calendar) 7月
-zh_Hans Name of month 08 (Gregorian Calendar) 8月
-zh_Hans Name of month 09 (Gregorian Calendar) 9月
-zh_Hans Name of month 10 (Gregorian Calendar) 10月
-zh_Hans Name of month 11 (Gregorian Calendar) 11月
-zh_Hans Name of month 12 (Gregorian Calendar) 12月
+zh_Hans Name of month 01 (Gregorian Calendar) 一月
+zh_Hans Name of month 02 (Gregorian Calendar) 二月
+zh_Hans Name of month 03 (Gregorian Calendar) 三月
+zh_Hans Name of month 04 (Gregorian Calendar) 四月
+zh_Hans Name of month 05 (Gregorian Calendar) 五月
+zh_Hans Name of month 06 (Gregorian Calendar) 六月
+zh_Hans Name of month 07 (Gregorian Calendar) 七月
+zh_Hans Name of month 08 (Gregorian Calendar) 八月
+zh_Hans Name of month 09 (Gregorian Calendar) 九月
+zh_Hans Name of month 10 (Gregorian Calendar) 十月
+zh_Hans Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans Name of month 12 (Gregorian Calendar) 十二月
zh_Hans Name of month 01 (Islamic Calendar) Muharram
zh_Hans Name of month 02 (Islamic Calendar) Safar
zh_Hans Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -7032,18 +7032,18 @@ zh_Hans_CN Date and time short (Islamic Calendar) 29-7-18 下午12:31
zh_Hans_CN Date and time medium (Islamic Calendar) 1429-7-18 下午12:31:00
zh_Hans_CN Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000下午12时31分00秒
zh_Hans_CN Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000下午12时31分00秒
-zh_Hans_CN Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_CN Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_CN Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_CN Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_CN Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_CN Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_CN Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_CN Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_CN Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_CN Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_CN Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_CN Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_CN Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_CN Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_CN Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_CN Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_CN Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_CN Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_CN Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_CN Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_CN Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_CN Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_CN Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_CN Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_CN Name of month 01 (Islamic Calendar) Muharram
zh_Hans_CN Name of month 02 (Islamic Calendar) Safar
zh_Hans_CN Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -7084,18 +7084,18 @@ zh_Hans_HK Date and time short (Islamic Calendar) 29-7-18 下午12:31
zh_Hans_HK Date and time medium (Islamic Calendar) 1429-7-18 下午12:31:00
zh_Hans_HK Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000下午12时31分00秒
zh_Hans_HK Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000下午12时31分00秒
-zh_Hans_HK Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_HK Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_HK Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_HK Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_HK Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_HK Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_HK Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_HK Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_HK Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_HK Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_HK Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_HK Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_HK Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_HK Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_HK Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_HK Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_HK Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_HK Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_HK Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_HK Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_HK Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_HK Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_HK Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_HK Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_HK Name of month 01 (Islamic Calendar) Muharram
zh_Hans_HK Name of month 02 (Islamic Calendar) Safar
zh_Hans_HK Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -7136,18 +7136,18 @@ zh_Hans_MO Date and time short (Islamic Calendar) 29-7-18 下午12:31
zh_Hans_MO Date and time medium (Islamic Calendar) 1429-7-18 下午12:31:00
zh_Hans_MO Date and time long (Islamic Calendar) 1429年7月18日格林尼治标准时间+0000下午12时31分00秒
zh_Hans_MO Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000下午12时31分00秒
-zh_Hans_MO Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_MO Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_MO Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_MO Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_MO Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_MO Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_MO Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_MO Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_MO Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_MO Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_MO Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_MO Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_MO Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_MO Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_MO Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_MO Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_MO Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_MO Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_MO Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_MO Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_MO Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_MO Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_MO Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_MO Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_MO Name of month 01 (Islamic Calendar) Muharram
zh_Hans_MO Name of month 02 (Islamic Calendar) Safar
zh_Hans_MO Name of month 03 (Islamic Calendar) Rabiʻ I
@@ -7188,18 +7188,18 @@ zh_Hans_SG Date and time short (Islamic Calendar) 18/07/29 下午12:31
zh_Hans_SG Date and time medium (Islamic Calendar) 1429-7-18 下午12:31:00
zh_Hans_SG Date and time long (Islamic Calendar) 1429年7月18日下午12:31:00格林尼治标准时间+0000
zh_Hans_SG Date and time full (Islamic Calendar) 1429年7月18日星期一格林尼治标准时间+0000下午12时31分00秒
-zh_Hans_SG Name of month 01 (Gregorian Calendar) 1月
-zh_Hans_SG Name of month 02 (Gregorian Calendar) 2月
-zh_Hans_SG Name of month 03 (Gregorian Calendar) 3月
-zh_Hans_SG Name of month 04 (Gregorian Calendar) 4月
-zh_Hans_SG Name of month 05 (Gregorian Calendar) 5月
-zh_Hans_SG Name of month 06 (Gregorian Calendar) 6月
-zh_Hans_SG Name of month 07 (Gregorian Calendar) 7月
-zh_Hans_SG Name of month 08 (Gregorian Calendar) 8月
-zh_Hans_SG Name of month 09 (Gregorian Calendar) 9月
-zh_Hans_SG Name of month 10 (Gregorian Calendar) 10月
-zh_Hans_SG Name of month 11 (Gregorian Calendar) 11月
-zh_Hans_SG Name of month 12 (Gregorian Calendar) 12月
+zh_Hans_SG Name of month 01 (Gregorian Calendar) 一月
+zh_Hans_SG Name of month 02 (Gregorian Calendar) 二月
+zh_Hans_SG Name of month 03 (Gregorian Calendar) 三月
+zh_Hans_SG Name of month 04 (Gregorian Calendar) 四月
+zh_Hans_SG Name of month 05 (Gregorian Calendar) 五月
+zh_Hans_SG Name of month 06 (Gregorian Calendar) 六月
+zh_Hans_SG Name of month 07 (Gregorian Calendar) 七月
+zh_Hans_SG Name of month 08 (Gregorian Calendar) 八月
+zh_Hans_SG Name of month 09 (Gregorian Calendar) 九月
+zh_Hans_SG Name of month 10 (Gregorian Calendar) 十月
+zh_Hans_SG Name of month 11 (Gregorian Calendar) 十一月
+zh_Hans_SG Name of month 12 (Gregorian Calendar) 十二月
zh_Hans_SG Name of month 01 (Islamic Calendar) Muharram
zh_Hans_SG Name of month 02 (Islamic Calendar) Safar
zh_Hans_SG Name of month 03 (Islamic Calendar) Rabiʻ I
diff --git a/tests/ft_locales/ft_locales.cpp b/tests/ft_locales/ft_locales.cpp
index 2b3836f2..2f47b8ba 100644
--- a/tests/ft_locales/ft_locales.cpp
+++ b/tests/ft_locales/ft_locales.cpp
@@ -40,6 +40,19 @@ void Ft_Locales::cleanup()
{
}
+void Ft_Locales::testBug169305()
+{
+ MLocale locale1("ar_SA");
+ locale1.installTrCatalog("foo");
+ MLocale::setDefault(locale1);
+ QCOMPARE(qApp->layoutDirection(), Qt::RightToLeft);
+ MLocale locale;
+ locale.installTrCatalog("foo");
+ MLocale::setDefault(locale);
+ QCoreApplication::processEvents();
+ QCOMPARE(qApp->layoutDirection(), Qt::RightToLeft);
+}
+
void Ft_Locales::testMLocaleConstructor()
{
MLocale *z = 0;
@@ -395,17 +408,23 @@ void Ft_Locales::testMLocaleLanguageEndonym_data()
QTest::addColumn<QString>("locale_name");
QTest::addColumn<QString>("endonym_result");
+ QTest::newRow("fi")
+ << QString("fi")
+ << QString("suomi");
QTest::newRow("fi_FI")
<< QString("fi_FI")
<< QString("suomi");
QTest::newRow("de")
<< QString("de")
<< QString("Deutsch");
- // de_CH won’t work! That’s a bug in my opinion,
+#if (U_ICU_VERSION_MAJOR_NUM > 4) || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >=4)
+ // de_CH needs a special fix because of
// see http://site.icu-project.org/design/resbund/issues
- //QTest::newRow("de_CH")
- // << QString("de_CH")
- // << QString("Deutsch");
+ // make sure that the fix works:
+ QTest::newRow("de_CH")
+ << QString("de_CH")
+ << QString("Deutsch");
+#endif
QTest::newRow("de_AT")
<< QString("de_AT")
<< QString("Deutsch");
@@ -436,11 +455,14 @@ void Ft_Locales::testMLocaleCountryEndonym_data()
QTest::newRow("fi_FI")
<< QString("fi_FI")
<< QString("Suomi");
- // de_CH won’t work! That’s a bug in my opinion,
+#if (U_ICU_VERSION_MAJOR_NUM > 4) || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >=4)
+ // de_CH needs a special fix because of
// see http://site.icu-project.org/design/resbund/issues
- //QTest::newRow("de_CH")
- // << QString("de_CH")
- // << QString("Deutschland");
+ // make sure that the fix works:
+ QTest::newRow("de_CH")
+ << QString("de_CH")
+ << QString("Schweiz");
+#endif
QTest::newRow("de_AT")
<< QString("de_AT")
<< QString("Österreich");
diff --git a/tests/ft_locales/ft_locales.h b/tests/ft_locales/ft_locales.h
index bac293ed..46c270e4 100644
--- a/tests/ft_locales/ft_locales.h
+++ b/tests/ft_locales/ft_locales.h
@@ -60,8 +60,8 @@ private slots:
void init();
void cleanup();
- // these from ut_misc
- void testSettingsChanged(); // Must be the first test
+ void testBug169305();
+ void testSettingsChanged();
void testMLocaleConstructor();
void testMLocaleConstructorWithParams_data();
diff --git a/tests/stubs/mappletinstancemanager_stub.h b/tests/stubs/mappletinstancemanager_stub.h
index ecd74ca2..1a0aabe5 100644
--- a/tests/stubs/mappletinstancemanager_stub.h
+++ b/tests/stubs/mappletinstancemanager_stub.h
@@ -40,6 +40,7 @@ public:
virtual void operationComplete(const QString &operation, const QString &pkg, const QString &error);
virtual void setAppletTitle(const QString &title);
virtual void receiveOperation(QDBusPendingCallWatcher *watcher);
+ virtual void updateApplet(const MDesktopEntry &appletData);
virtual void init(const QString &mashupCanvasName, MDataStore *dataStore);
virtual bool instantiateApplet(MAppletId appletId);
virtual bool instantiateOutOfProcessApplet(MAppletInstanceData *data, const MAppletMetaData &metadata);
@@ -146,6 +147,13 @@ void MAppletInstanceManagerStub::receiveOperation(QDBusPendingCallWatcher *watch
stubMethodEntered("receiveOperation", params);
}
+void MAppletInstanceManagerStub::updateApplet(const MDesktopEntry &appletData)
+{
+ QList<ParameterBase *> params;
+ params.append(new Parameter<const MDesktopEntry& >(appletData));
+ stubMethodEntered("updateApplet", params);
+}
+
void MAppletInstanceManagerStub::init(const QString &mashupCanvasName, MDataStore *dataStore)
{
QList<ParameterBase *> params;
@@ -402,6 +410,11 @@ void MAppletInstanceManager::receiveOperation(QDBusPendingCallWatcher *watcher)
gMAppletInstanceManagerStub->receiveOperation(watcher);
}
+void MAppletInstanceManager::updateApplet(const MDesktopEntry &appletData)
+{
+ gMAppletInstanceManagerStub->updateApplet(appletData);
+}
+
void MAppletInstanceManager::init(const QString &mashupCanvasName, MDataStore *dataStore)
{
gMAppletInstanceManagerStub->init(mashupCanvasName, dataStore);
diff --git a/tests/stubs/mapplicationextensionmanager_stub.h b/tests/stubs/mapplicationextensionmanager_stub.h
index 463f35e8..5d57fe34 100644
--- a/tests/stubs/mapplicationextensionmanager_stub.h
+++ b/tests/stubs/mapplicationextensionmanager_stub.h
@@ -35,14 +35,17 @@ class MApplicationExtensionManagerStub : public StubBase {
virtual bool init();
virtual QList<MApplicationExtensionInterface *> extensions();
virtual void updateAvailableExtensions(const QString &path);
+ virtual void updateExtension(const MDesktopEntry &extensionData);
virtual QString dataPath() const;
virtual bool isInProcess(const MApplicationExtensionMetaData &metaData);
virtual bool createDataStore();
- virtual bool instantiateExtension(const MApplicationExtensionMetaData &metadata);
- virtual bool instantiateInProcessExtension(const QString &binary);
- virtual bool instantiateOutOfProcessExtension(const MApplicationExtensionMetaData &metadata);
+ virtual QSharedPointer<MDataStore> createSubDataStore(
+ const MApplicationExtensionMetaData &metaData);
+ virtual bool instantiateExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata);
+ virtual bool instantiateInProcessExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata);
+ virtual bool instantiateOutOfProcessExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata);
virtual void removeExtension(const MApplicationExtensionMetaData &metadata);
- virtual void removeInProcessExtension(const QString &library);
+ virtual void removeInProcessExtension(const MApplicationExtensionMetaData &metadata);
virtual void removeOutOfProcessExtension(const MApplicationExtensionMetaData &metadata);
virtual QString createApplicationExtensionDataFileName(const QString &interface) const;
};
@@ -83,6 +86,13 @@ void MApplicationExtensionManagerStub::updateAvailableExtensions(const QString &
stubMethodEntered("updateAvailableExtensions",params);
}
+void MApplicationExtensionManagerStub::updateExtension(const MDesktopEntry &extensionData)
+{
+ QList<ParameterBase*> params;
+ params.append( new Parameter<const MDesktopEntry& >(extensionData));
+ stubMethodEntered("updateExtension",params);
+}
+
QString MApplicationExtensionManagerStub::dataPath() const {
stubMethodEntered("dataPath");
return stubReturnValue<QString>("dataPath");
@@ -100,23 +110,33 @@ bool MApplicationExtensionManagerStub::createDataStore() {
return stubReturnValue<bool>("createDataStore");
}
-bool MApplicationExtensionManagerStub::instantiateExtension(const MApplicationExtensionMetaData &metadata) {
+QSharedPointer<MDataStore>
+MApplicationExtensionManagerStub::createSubDataStore(
+ const MApplicationExtensionMetaData &metadata) {
QList<ParameterBase*> params;
- params.append( new Parameter<const MApplicationExtensionMetaData & >(metadata));
+ params.append(
+ new Parameter<const MApplicationExtensionMetaData & >(metadata));
+ stubMethodEntered("createSubDataStore", params);
+ return stubReturnValue<QSharedPointer<MDataStore> >("createSubDataStore");
+}
+
+bool MApplicationExtensionManagerStub::instantiateExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata) {
+ QList<ParameterBase*> params;
+ params.append( new Parameter<QSharedPointer<const MApplicationExtensionMetaData> & >(metadata));
stubMethodEntered("instantiateExtension",params);
return stubReturnValue<bool>("instantiateExtension");
}
-bool MApplicationExtensionManagerStub::instantiateInProcessExtension(const QString &binary) {
+bool MApplicationExtensionManagerStub::instantiateInProcessExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata) {
QList<ParameterBase*> params;
- params.append( new Parameter<QString >(binary));
+ params.append( new Parameter<QSharedPointer<const MApplicationExtensionMetaData> & >(metadata));
stubMethodEntered("instantiateInProcessExtension",params);
return stubReturnValue<bool>("instantiateInProcessExtension");
}
-bool MApplicationExtensionManagerStub::instantiateOutOfProcessExtension(const MApplicationExtensionMetaData &metadata) {
+bool MApplicationExtensionManagerStub::instantiateOutOfProcessExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata) {
QList<ParameterBase*> params;
- params.append( new Parameter<const MApplicationExtensionMetaData & >(metadata));
+ params.append( new Parameter<QSharedPointer<const MApplicationExtensionMetaData> & >(metadata));
stubMethodEntered("instantiateOutOfProcessExtension",params);
return stubReturnValue<bool>("instantiateOutOfProcessExtension");
}
@@ -127,9 +147,9 @@ void MApplicationExtensionManagerStub::removeExtension(const MApplicationExtensi
stubMethodEntered("removeExtension",params);
}
-void MApplicationExtensionManagerStub::removeInProcessExtension(const QString &library) {
+void MApplicationExtensionManagerStub::removeInProcessExtension(const MApplicationExtensionMetaData &metadata) {
QList<ParameterBase*> params;
- params.append( new Parameter<QString >(library));
+ params.append( new Parameter<const MApplicationExtensionMetaData & >(metadata));
stubMethodEntered("removeInProcessExtension",params);
}
@@ -182,6 +202,10 @@ void MApplicationExtensionManager::updateAvailableExtensions(const QString &path
gMApplicationExtensionManagerStub->updateAvailableExtensions(path);
}
+void MApplicationExtensionManager::updateExtension(const MDesktopEntry &extensionData) {
+ gMApplicationExtensionManagerStub->updateExtension(extensionData);
+}
+
QString MApplicationExtensionManager::dataPath() const {
return gMApplicationExtensionManagerStub->dataPath();
}
@@ -194,15 +218,21 @@ bool MApplicationExtensionManager::createDataStore() {
return gMApplicationExtensionManagerStub->createDataStore();
}
-bool MApplicationExtensionManager::instantiateExtension(const MApplicationExtensionMetaData &metadata) {
+QSharedPointer<MDataStore>
+MApplicationExtensionManager::createSubDataStore(
+ const MApplicationExtensionMetaData &metadata) {
+ return gMApplicationExtensionManagerStub->createSubDataStore(metadata);
+}
+
+bool MApplicationExtensionManager::instantiateExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata) {
return gMApplicationExtensionManagerStub->instantiateExtension(metadata);
}
-bool MApplicationExtensionManager::instantiateInProcessExtension(const QString &binary) {
- return gMApplicationExtensionManagerStub->instantiateInProcessExtension(binary);
+bool MApplicationExtensionManager::instantiateInProcessExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata) {
+ return gMApplicationExtensionManagerStub->instantiateInProcessExtension(metadata);
}
-bool MApplicationExtensionManager::instantiateOutOfProcessExtension(const MApplicationExtensionMetaData &metadata) {
+bool MApplicationExtensionManager::instantiateOutOfProcessExtension(QSharedPointer<const MApplicationExtensionMetaData> &metadata) {
return gMApplicationExtensionManagerStub->instantiateOutOfProcessExtension(metadata);
}
@@ -210,8 +240,8 @@ void MApplicationExtensionManager::removeExtension(const MApplicationExtensionMe
gMApplicationExtensionManagerStub->removeExtension(metadata);
}
-void MApplicationExtensionManager::removeInProcessExtension(const QString &library) {
- gMApplicationExtensionManagerStub->removeInProcessExtension(library);
+void MApplicationExtensionManager::removeInProcessExtension(const MApplicationExtensionMetaData &metadata) {
+ gMApplicationExtensionManagerStub->removeInProcessExtension(metadata);
}
void MApplicationExtensionManager::removeOutOfProcessExtension(const MApplicationExtensionMetaData &metadata) {
diff --git a/tests/stubs/mextensionwatcher_stub.h b/tests/stubs/mextensionwatcher_stub.h
new file mode 100644
index 00000000..f11e9384
--- /dev/null
+++ b/tests/stubs/mextensionwatcher_stub.h
@@ -0,0 +1,75 @@
+#ifndef MEXTENSIONWATCHER_STUB
+#define MEXTENSIONWATCHER_STUB
+
+#include "mextensionwatcher.h"
+#include <stubbase.h>
+
+
+// 1. DECLARE STUB
+// FIXME - stubgen is not yet finished
+class MExtensionWatcherStub : public StubBase {
+ public:
+ virtual void MExtensionWatcherConstructor();
+ virtual void MExtensionWatcherDestructor();
+ virtual void addExtension(QSharedPointer<const MDesktopEntry> extension);
+ virtual void removeExtension(const QString &fileName);
+ virtual void notifyDataChanged(const QString &path) const;
+ QFileSystemWatcher watcher ;
+ QHash<QString, QSharedPointer<const MDesktopEntry> > extensionsToWatch ;
+};
+
+// 2. IMPLEMENT STUB
+void MExtensionWatcherStub::MExtensionWatcherConstructor() {
+
+}
+void MExtensionWatcherStub::MExtensionWatcherDestructor() {
+
+}
+void MExtensionWatcherStub::addExtension(QSharedPointer<const MDesktopEntry> extension) {
+ QList<ParameterBase*> params;
+ params.append( new Parameter<QSharedPointer<const MDesktopEntry> >(extension));
+ stubMethodEntered("addExtension",params);
+}
+
+void MExtensionWatcherStub::removeExtension(const QString &fileName) {
+ QList<ParameterBase*> params;
+ params.append( new Parameter<const QString & >(fileName));
+ stubMethodEntered("removeExtension",params);
+}
+
+void MExtensionWatcherStub::notifyDataChanged(const QString &path) const {
+ QList<ParameterBase*> params;
+ params.append( new Parameter<const QString & >(path));
+ stubMethodEntered("notifyDataChanged",params);
+}
+
+
+
+// 3. CREATE A STUB INSTANCE
+MExtensionWatcherStub gDefaultMExtensionWatcherStub;
+MExtensionWatcherStub* gMExtensionWatcherStub = &gDefaultMExtensionWatcherStub;
+
+
+// 4. CREATE A PROXY WHICH CALLS THE STUB
+MExtensionWatcher::MExtensionWatcher() {
+ gMExtensionWatcherStub->MExtensionWatcherConstructor();
+}
+
+MExtensionWatcher::~MExtensionWatcher() {
+ gMExtensionWatcherStub->MExtensionWatcherDestructor();
+}
+
+void MExtensionWatcher::addExtension(QSharedPointer<const MDesktopEntry> extension) {
+ gMExtensionWatcherStub->addExtension(extension);
+}
+
+void MExtensionWatcher::removeExtension(const QString &fileName) {
+ gMExtensionWatcherStub->removeExtension(fileName);
+}
+
+void MExtensionWatcher::notifyDataChanged(const QString &path) const {
+ gMExtensionWatcherStub->notifyDataChanged(path);
+}
+
+
+#endif
diff --git a/tests/tests.pro b/tests/tests.pro
index c0e999d3..a5283ecd 100644
--- a/tests/tests.pro
+++ b/tests/tests.pro
@@ -59,10 +59,11 @@ SUBDIRS = \
ut_mwidget \
ut_mwidgetview \
ut_mwindow \
- ut_mphysics2dpanning \
+# ut_mphysics2dpanning \ Needs refactoring
ut_mlabel \
ut_mlogicalvalues \
ut_mdesktopentry \
+ ut_mextensionwatcher \
ut_mcontainer \
ut_minfobanner \
ut_mwidgetcontroller \
@@ -147,6 +148,7 @@ SUBDIRS = \
ut_mapplicationextensionarea \
ut_mapplicationextensionareaview \
ut_mapplicationextensionmanager \
+ ut_mapplicationextensionmetadata \
ut_mextensionhandle \
ut_mextensionhandleview \
ut_mtapandholdrecognizer \
@@ -154,6 +156,9 @@ SUBDIRS = \
ut_mservicefwgen \
# ut_mstatusbar \ // Unstable. "Randomly" crashes on clean up, when detroying its MApplication instance.
ut_mpanrecognizer \
+ ut_mstatusbarview \
+ ut_mabstractitemmodel \
+ ut_phonenumberformatting \
# enable only when we have icu available
diff --git a/tests/ut_mabstractitemmodel/.gitignore b/tests/ut_mabstractitemmodel/.gitignore
new file mode 100644
index 00000000..8ca87598
--- /dev/null
+++ b/tests/ut_mabstractitemmodel/.gitignore
@@ -0,0 +1 @@
+ut_mabstractitemmodel
diff --git a/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.cpp b/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.cpp
new file mode 100644
index 00000000..cbf75dca
--- /dev/null
+++ b/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.cpp
@@ -0,0 +1,229 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include "ut_mabstractitemmodel.h"
+
+#include <MAbstractItemModel>
+
+#include <QtTest/QtTest>
+
+class Ut_TestModel : public MAbstractItemModel
+{
+public:
+ Ut_TestModel()
+ : MAbstractItemModel()
+ {
+ groupTitles << "Group 1";
+ groupTitles << "Group 2";
+ groupTitles << "Group 3";
+ groupTitles << "Group 4";
+ groupTitles << "Group 5";
+
+ items[0] << "Item 1.1";
+ items[0] << "Item 1.2";
+ items[0] << "Item 1.3";
+ items[0] << "Item 1.4";
+
+ items[1] << "Item 2.1";
+ items[1] << "Item 2.2";
+ items[1] << "Item 2.3";
+ items[1] << "Item 2.4";
+ items[1] << "Item 2.5";
+
+ items[2] << "Item 3.1";
+ items[2] << "Item 3.2";
+ items[2] << "Item 3.3";
+
+ items[3] << "Item 4.1";
+ items[3] << "Item 4.2";
+ items[3] << "Item 4.3";
+ items[3] << "Item 4.4";
+ items[3] << "Item 4.5";
+ items[3] << "Item 4.6";
+
+ items[4] << "Item 5.1";
+ items[4] << "Item 5.2";
+ items[4] << "Item 5.3";
+ items[4] << "Item 5.4";
+ }
+
+ virtual ~Ut_TestModel() {}
+
+ int groupCount() const
+ {
+ return groupTitles.count();
+ }
+
+ int rowCountInGroup(int group = -1) const
+ {
+ if (!isGrouped()) {
+ int totalCount = 0;
+ for (int i = 0; i < items.count(); i++) {
+ totalCount += items[i].count();
+ }
+ return totalCount;
+ }
+ return items[group].count();
+ }
+
+ QString groupTitle(int group) const
+ {
+ return groupTitles[group];
+ }
+
+ QVariant itemData(int row, int group, int role = Qt::DisplayRole) const
+ {
+ if (role == Qt::DisplayRole) {
+ if (isGrouped()) {
+ return items[group][row];
+ } else {
+ group = 0;
+ int groupSize = items[0].count();
+ while (row >= groupSize) {
+ group++;
+ row -= groupSize;
+ groupSize = items[group].count();
+ }
+ return items[group].at(row);
+ }
+ }
+
+ return QVariant();
+ }
+
+private:
+ QStringList groupTitles;
+ QMap<int, QStringList> items;
+};
+
+Ut_MAbstractItemModel::Ut_MAbstractItemModel()
+{
+}
+
+void Ut_MAbstractItemModel::initTestCase()
+{
+}
+
+void Ut_MAbstractItemModel::cleanupTestCase()
+{
+}
+
+void Ut_MAbstractItemModel::init()
+{
+ model = new Ut_TestModel;
+}
+
+void Ut_MAbstractItemModel::cleanup()
+{
+ delete model;
+}
+
+void Ut_MAbstractItemModel::testFlatRowCount()
+{
+ QCOMPARE(model->rowCountInGroup(), 22);
+}
+
+void Ut_MAbstractItemModel::testGroupCount()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->groupCount(), 5);
+}
+
+void Ut_MAbstractItemModel::testGroup1Count()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->rowCountInGroup(1), 5);
+}
+
+void Ut_MAbstractItemModel::testGroup3Count()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->rowCountInGroup(3), 6);
+}
+
+void Ut_MAbstractItemModel::testGroup4Count()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->rowCountInGroup(4), 4);
+}
+
+void Ut_MAbstractItemModel::testItemAtFlatRow3()
+{
+ QCOMPARE(model->itemData(3, -1).toString(), QString("Item 1.4"));
+}
+
+void Ut_MAbstractItemModel::testItemAtFlatRow6()
+{
+ QCOMPARE(model->itemData(6, -1).toString(), QString("Item 2.3"));
+}
+
+void Ut_MAbstractItemModel::testItemAtFlatRow9()
+{
+ QCOMPARE(model->itemData(9, -1).toString(), QString("Item 3.1"));
+}
+
+void Ut_MAbstractItemModel::testItemAtFlatRow15()
+{
+ QCOMPARE(model->itemData(15, -1).toString(), QString("Item 4.4"));
+}
+
+void Ut_MAbstractItemModel::testItemAtRow3InGroup0()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->itemData(3, 0).toString(), QString("Item 1.4"));
+}
+
+void Ut_MAbstractItemModel::testItemAtRow2InGroup1()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->itemData(2, 1).toString(), QString("Item 2.3"));
+}
+
+void Ut_MAbstractItemModel::testItemAtRow5InGroup3()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->itemData(5, 3).toString(), QString("Item 4.6"));
+}
+
+void Ut_MAbstractItemModel::testItemAtRow0InGroup4()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->itemData(0, 4).toString(), QString("Item 5.1"));
+}
+
+void Ut_MAbstractItemModel::testGroup0Title()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->groupTitle(0), QString("Group 1"));
+}
+
+void Ut_MAbstractItemModel::testGroup3Title()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->groupTitle(3), QString("Group 4"));
+}
+
+void Ut_MAbstractItemModel::testGroup4Title()
+{
+ model->setGrouped(true);
+ QCOMPARE(model->groupTitle(4), QString("Group 5"));
+}
+
+
+QTEST_APPLESS_MAIN(Ut_MAbstractItemModel);
diff --git a/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.h b/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.h
new file mode 100644
index 00000000..17c70872
--- /dev/null
+++ b/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.h
@@ -0,0 +1,64 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+
+#ifndef UT_MABSTRACTITEMMODEL_H
+#define UT_MABSTRACTITEMMODEL_H
+
+#include <QObject>
+
+class Ut_TestModel;
+
+class Ut_MAbstractItemModel : public QObject
+{
+ Q_OBJECT
+public:
+ Ut_MAbstractItemModel();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+ void testFlatRowCount();
+ void testGroupCount();
+ void testGroup1Count();
+ void testGroup3Count();
+ void testGroup4Count();
+
+ void testItemAtFlatRow3();
+ void testItemAtFlatRow6();
+ void testItemAtFlatRow9();
+ void testItemAtFlatRow15();
+
+ void testItemAtRow3InGroup0();
+ void testItemAtRow2InGroup1();
+ void testItemAtRow5InGroup3();
+ void testItemAtRow0InGroup4();
+
+ void testGroup0Title();
+ void testGroup3Title();
+ void testGroup4Title();
+
+private:
+ Ut_TestModel *model;
+};
+
+#endif // UT_MABSTRACTITEMMODEL_H
diff --git a/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.pro b/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.pro
new file mode 100644
index 00000000..4a078c18
--- /dev/null
+++ b/tests/ut_mabstractitemmodel/ut_mabstractitemmodel.pro
@@ -0,0 +1,11 @@
+include(../common_top.pri)
+
+TARGET = ut_mabstractitemmodel
+
+INCLUDEPATH += ../../src/corelib/widgets \
+
+HEADERS += ut_mabstractitemmodel.h \
+
+SOURCES += ut_mabstractitemmodel.cpp \
+
+include(../common_bot.pri)
diff --git a/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.cpp b/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.cpp
index b08b2376..586288c3 100644
--- a/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.cpp
+++ b/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.cpp
@@ -31,6 +31,8 @@
#include "mappletinstancedata.h"
#include "mappletmessage.h"
#include "mapplethandle_stub.h"
+#include "mextensionhandle_stub.h"
+#include "mextensionwatcher_stub.h"
#include "mbutton.h"
#include "mappletmetadata.h"
#include "ut_mappletinstancemanager.h"
@@ -362,6 +364,7 @@ void Ut_MAppletInstanceManager::init()
defaultDataStore->createValue(QString("5/title"), QVariant("Title 5"));
defaultDataStore->createValue(QString("5/sizeLandscape"), QVariant("105 205"));
defaultDataStore->createValue(QString("5/sizePortrait"), QVariant("105 205"));
+
existingFiles.clear();
existingFiles.append("/tmp/testapplet1.desktop");
existingFiles.append("/tmp/testapplet4.desktop");
@@ -412,6 +415,33 @@ void Ut_MAppletInstanceManager::cleanup()
defaultDataStore = 0;
}
+void Ut_MAppletInstanceManager::testOutOfProcessAppletUpdate()
+{
+ outOfProcess = true;
+
+ // Create AppletInstanceCollection to verify created applet instances
+ AppletInstanceCollection collection;
+ QObject::connect(manager, SIGNAL(appletInstantiated(QGraphicsWidget *, MDataStore &)), &collection, SLOT(addInstance(QGraphicsWidget *, MDataStore &)));
+
+ // Verify that the restoration process does not return an error
+ QVERIFY(manager->restoreApplets());
+
+ // Make sure the two applet instances were created
+ QCOMPARE(collection.count(), 2);
+
+ connect(this, SIGNAL(extensionChanged(const MDesktopEntry &)), manager, SLOT(updateApplet(const MDesktopEntry &)));
+
+ MAppletInstanceData testApplet;
+ QString testFile = "/tmp/testapplet1.desktop";
+ testApplet.desktopFile = testFile;
+ MAppletMetaData testMetaData(testFile);
+ emit extensionChanged(testMetaData);
+
+ // The manager asks the extension to do a reinit == kill+init
+ QList<MethodCall *> reinitCalls = gMExtensionHandleStub->stubCallsTo("reinit");
+ QCOMPARE(reinitCalls.length(), 1);
+}
+
void Ut_MAppletInstanceManager::testInProcessAppletRestoration()
{
@@ -548,6 +578,20 @@ void Ut_MAppletInstanceManager::testAppletInstanceRemoval()
QCOMPARE(gMAppletSettingsStub->stubCallCount("removeInstanceSettingValues"), 1);
QCOMPARE(gMAppletSettingsStub->stubLastCallTo("mAppletSettingsConstructor").parameter<QString>(0), QString("/tmp/testapplet4.desktop"));
QCOMPARE(gMAppletSettingsStub->stubLastCallTo("mAppletSettingsConstructor").parameter<MAppletId>(1).toString(), appletId.toString());
+
+ // verify that applet metadata is removed from the extension watcher
+ // when the last instance is removed, but not before that
+ int removeFromWatcherCallCount = gMExtensionWatcherStub->stubCallCount("removeExtension");
+ MAppletId appletId2("ut_mappletinstancemanager", "testmanager", 2);
+ MAppletId appletId3("ut_mappletinstancemanager", "testmanager", 3);
+ QVERIFY(manager->instantiateApplet("/tmp/testapplet4.desktop"));
+ QVERIFY(manager->instantiateApplet("/tmp/testapplet4.desktop"));
+ QVERIFY(manager->removeApplet(appletId2));
+ QCOMPARE(gMExtensionWatcherStub->stubCallCount("removeExtension"),
+ removeFromWatcherCallCount);
+ QVERIFY(manager->removeApplet(appletId3));
+ QCOMPARE(gMExtensionWatcherStub->stubCallCount("removeExtension"),
+ removeFromWatcherCallCount + 1);
}
void Ut_MAppletInstanceManager::testAppletUninstallation()
diff --git a/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.h b/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.h
index 55c6531d..6d894ed5 100644
--- a/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.h
+++ b/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.h
@@ -79,7 +79,9 @@ signals:
void appletUninstalled(const QString &desktopFile);
void operationComplete(const QString &operation, const QString &pkg, const QString &error);
void receiveOperation(QDBusPendingCallWatcher *watcher);
-
+ // Used by the extesnion watcher
+ void fileChanged(const QString &path);
+ void extensionChanged(const MDesktopEntry &appletData) const;
private slots:
void initTestCase();
void cleanupTestCase();
@@ -87,6 +89,7 @@ private slots:
void init();
void cleanup();
+ void testOutOfProcessAppletUpdate();
void testInProcessAppletRestoration();
void testOutOfProcessAppletRestoration();
void testAppletDataStoring();
diff --git a/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.pro b/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.pro
index a4ee760a..7fc28590 100644
--- a/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.pro
+++ b/tests/ut_mappletinstancemanager/ut_mappletinstancemanager.pro
@@ -3,6 +3,7 @@ include(../common_mextensions.pri)
INCLUDEPATH += \
$$MSRCDIR/events \
+ $$MSRCDIR/extensions
QT += core network gui svg dbus
@@ -26,6 +27,6 @@ HEADERS += \
$$MSRCDIR/extensions/mashup/mashup/mappletinstancemanagerdbusadaptor.h \
$$MSRCDIR/extensions/applicationextension/mextensionhandle.h \
$$MSRCDIR/extensions/applicationextension/mextensionhandlemodel.h \
- $$MSRCDIR/events/morientationtracker.h
+ $$MSRCDIR/extensions/mextensionwatcher.h
include(../common_bot.pri)
diff --git a/tests/ut_mapplicationextensionarea/ut_mapplicationextensionarea.pro b/tests/ut_mapplicationextensionarea/ut_mapplicationextensionarea.pro
index 8ad34612..9d81dcba 100644
--- a/tests/ut_mapplicationextensionarea/ut_mapplicationextensionarea.pro
+++ b/tests/ut_mapplicationextensionarea/ut_mapplicationextensionarea.pro
@@ -5,12 +5,14 @@ INCLUDEPATH += \
$$MSRCDIR/corelib/widgets \
$$MSRCDIR/corelib/style \
$$MSRCDIR/corelib/core \
+ $$MSRCDIR/extensions
# unit test and unit classes
SOURCES += \
ut_mapplicationextensionarea.cpp \
$$MSRCDIR/extensions/applicationextension/mapplicationextensionarea.cpp \
- $$MSRCDIR/extensions/applicationextension/mextensionarea.cpp
+ $$MSRCDIR/extensions/applicationextension/mextensionarea.cpp \
+ $$MSRCDIR/extensions/mextensionwatcher.cpp
# service classes
SOURCES += \
@@ -21,6 +23,7 @@ HEADERS += \
ut_mapplicationextensionarea.h \
$$MSRCDIR/extensions/applicationextension/mapplicationextensionarea.h \
$$MSRCDIR/extensions/applicationextension/mextensionarea.h \
- $$MSRCDIR/extensions/applicationextension/mapplicationextensionmanager.h
+ $$MSRCDIR/extensions/applicationextension/mapplicationextensionmanager.h \
+ $$MSRCDIR/extensions/mextensionwatcher.h
include(../common_bot.pri)
diff --git a/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.cpp b/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.cpp
index e8c42b83..52c2b051 100644
--- a/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.cpp
+++ b/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.cpp
@@ -166,6 +166,12 @@ void Ut_MApplicationExtensionManager::setupTestSubject(const QString &inProcessF
connect(manager, SIGNAL(extensionRemoved(MApplicationExtensionInterface *)), &signalListener, SLOT(extensionRemoved(MApplicationExtensionInterface *)));
connect(manager, SIGNAL(widgetCreated(QGraphicsWidget*, MDataStore&)), &signalListener, SLOT(widgetCreated(QGraphicsWidget*, MDataStore&)));
connect(manager, SIGNAL(widgetRemoved(QGraphicsWidget*)), &signalListener, SLOT(widgetRemoved(QGraphicsWidget*)));
+ connect(this,
+ SIGNAL(extensionChanged(
+ const MDesktopEntry &)),
+ manager,
+ SLOT(updateExtension(
+ const MDesktopEntry &)));
}
void Ut_MApplicationExtensionManager::setupGoodExtension(bool success, QGraphicsWidget* widget, const QString &name)
@@ -234,35 +240,45 @@ void Ut_MApplicationExtensionManager::testMonitorRemoveExtension()
void Ut_MApplicationExtensionManager::testInstantiateInProcessExtensionWhichDoesNotExist()
{
- QCOMPARE(manager->instantiateInProcessExtension("test"), false);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData), false);
QCOMPARE(signalListener.instantiatedExtensions.count(), 0);
}
void Ut_MApplicationExtensionManager::testInstantiateInProcessExtensionWhichDoesNotImplementGivenInterface()
{
gQPluginLoaderInstances.append(new QObject);
- QCOMPARE(manager->instantiateInProcessExtension("test"), false);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData), false);
QCOMPARE(signalListener.instantiatedExtensions.count(), 0);
}
void Ut_MApplicationExtensionManager::testInstantiateInProcessExtensionWhichDoesNotDeriveFromBaseInterface()
{
gQPluginLoaderInstances.append(new BadExtension);
- QCOMPARE(manager->instantiateInProcessExtension("test"), false);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData), false);
QCOMPARE(signalListener.instantiatedExtensions.count(), 0);
}
void Ut_MApplicationExtensionManager::testInstantiateInProcessExtensionWhichFails()
{
setupGoodExtension(false);
- QCOMPARE(manager->instantiateInProcessExtension("test"), false);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData), false);
QCOMPARE(signalListener.instantiatedExtensions.count(), 0);
}
void Ut_MApplicationExtensionManager::testInstantiateInProcessExtensionWhichSucceedsWithoutWidget()
{
setupGoodExtension();
- QCOMPARE(manager->instantiateInProcessExtension("test"), true);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData), true);
QCOMPARE(signalListener.instantiatedExtensions.count(), 1);
QCOMPARE(signalListener.instantiatedExtensions.at(0), extensions.at(0));
QCOMPARE(signalListener.instantiatedExtensions.at(0)->widget(), (QGraphicsWidget *)NULL);
@@ -274,7 +290,9 @@ void Ut_MApplicationExtensionManager::testInstantiateInProcessExtensionWhichSucc
{
QGraphicsWidget extensionWidget;
setupGoodExtension(true, &extensionWidget);
- QCOMPARE(manager->instantiateInProcessExtension("test"), true);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData), true);
QCOMPARE(signalListener.instantiatedExtensions.count(), 1);
QCOMPARE(signalListener.instantiatedExtensions.at(0), extensions.at(0));
QCOMPARE(signalListener.instantiatedExtensions.at(0)->widget(), &extensionWidget);
@@ -284,7 +302,8 @@ void Ut_MApplicationExtensionManager::testInstantiateInProcessExtensionWhichSucc
void Ut_MApplicationExtensionManager::testInstantiateOutOfProcessExtension()
{
- const MApplicationExtensionMetaData metaData("test.desktop");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
manager->instantiateOutOfProcessExtension(metaData);
QCOMPARE(signalListener.createdWidgets.count(), 1);
}
@@ -293,9 +312,11 @@ void Ut_MApplicationExtensionManager::testRemoveInProcessExtension()
{
QGraphicsWidget extensionWidget;
setupGoodExtension(true, &extensionWidget);
- manager->instantiateInProcessExtension("test");
-
- manager->removeInProcessExtension("test");
+ gMApplicationExtensionMetaDataStub->stubSetReturnValue("extensionBinary", QString("test"));
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ manager->instantiateInProcessExtension(metaData);
+ manager->removeInProcessExtension(*metaData);
QCOMPARE(signalListener.removedExtensions.count(), 1);
QCOMPARE(signalListener.removedExtensions.at(0).first, extensions.at(0));
}
@@ -304,24 +325,54 @@ void Ut_MApplicationExtensionManager::testRemoveNonExistentInProcessExtension()
{
QGraphicsWidget extensionWidget;
setupGoodExtension(true, &extensionWidget);
- manager->instantiateInProcessExtension("test");
-
- manager->removeInProcessExtension("non-existent");
+ const QString TEST_METADATA("test");
+ const QString NONEXISTENT_METADATA("non-existent");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ gMApplicationExtensionMetaDataStub->stubSetReturnValue(
+ "extensionBinary", QString(TEST_METADATA));
+ manager->instantiateInProcessExtension(metaData);
+ const MApplicationExtensionMetaData
+ nonexistentMetaData(NONEXISTENT_METADATA);
+ gMApplicationExtensionMetaDataStub->stubSetReturnValue(
+ "extensionBinary", QString(NONEXISTENT_METADATA));
+ manager->removeInProcessExtension(nonexistentMetaData);
QCOMPARE(signalListener.removedExtensions.count(), 0);
}
-void Ut_MApplicationExtensionManager::testInProcessExtensionFiltering()
+void Ut_MApplicationExtensionManager::testUpdateInProcessExtension()
{
- const MApplicationExtensionMetaData metaData("test.desktop");
QGraphicsWidget extensionWidget;
setupGoodExtension(true, &extensionWidget);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ manager->instantiateInProcessExtension(metaData);
+ int createdWidgetCount = 1;
+ int createdExtensionCount = 1;
+ QCOMPARE(signalListener.createdWidgets.count(), createdWidgetCount);
+ QCOMPARE(signalListener.instantiatedExtensions.count(),
+ createdExtensionCount);
+ setupGoodExtension(true, &extensionWidget);
+ gDefaultMApplicationExtensionMetaDataStub.stubSetReturnValue("runnerBinary", QString(""));
+ emit extensionChanged(*metaData);
+ QCOMPARE(signalListener.removedExtensions.count(), 1);
+ QCOMPARE(signalListener.removedWidgets.count(), 1);
+ QCOMPARE(signalListener.createdWidgets.count(), createdWidgetCount + 1);
+ QCOMPARE(signalListener.instantiatedExtensions.count(),
+ createdExtensionCount + 1);
+}
+void Ut_MApplicationExtensionManager::testInProcessExtensionFiltering()
+{
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test.desktop"));
+ QGraphicsWidget extensionWidget;
+ setupGoodExtension(true, &extensionWidget);
// Test that not allowing test.desktop in-process but allowing it out-of-process does nothing
gDefaultMApplicationExtensionMetaDataStub.stubSetReturnValue("runnerBinary", QString(""));
setupTestSubject("$^", "^test.desktop$");
manager->instantiateExtension(metaData);
QCOMPARE(signalListener.instantiatedExtensions.count(), 0);
-
// Test that allowing test.desktop in-process but not allowing it out-of-process instantiates the extension
setupTestSubject("^test.desktop$", "$^");
manager->instantiateExtension(metaData);
@@ -330,7 +381,8 @@ void Ut_MApplicationExtensionManager::testInProcessExtensionFiltering()
void Ut_MApplicationExtensionManager::testOutOfProcessExtensionFiltering()
{
- const MApplicationExtensionMetaData metaData("test.desktop");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test.desktop"));
// Test that not allowing test.desktop out-of-process but allowing it in-process does nothing
gDefaultMApplicationExtensionMetaDataStub.stubSetReturnValue("runnerBinary", QString("test"));
@@ -348,21 +400,31 @@ void Ut_MApplicationExtensionManager::testRequestForAllInProcessExtensionsReturn
{
QGraphicsWidget extensionWidget1;
setupGoodExtension(true, &extensionWidget1);
- QCOMPARE(manager->instantiateInProcessExtension("test"), true);
+ gDefaultMApplicationExtensionMetaDataStub.stubSetExtensionBinaryMultiple("test");
+ gDefaultMApplicationExtensionMetaDataStub.stubSetExtensionBinaryMultiple("testanother");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData), true);
QGraphicsWidget extensionWidget2;
setupGoodExtension(true, &extensionWidget2);
- QCOMPARE(manager->instantiateInProcessExtension("testanother"), true);
+ QSharedPointer<const MApplicationExtensionMetaData> metaData2(
+ new MApplicationExtensionMetaData("testanother"));
+ QCOMPARE(manager->instantiateInProcessExtension(metaData2), true);
QList<MApplicationExtensionInterface*> listOfExtensions = manager->extensions();
QCOMPARE(listOfExtensions.count(), 2);
- QCOMPARE(signalListener.instantiatedExtensions.at(0), listOfExtensions.at(0));
- QCOMPARE(signalListener.instantiatedExtensions.at(1), listOfExtensions.at(1));
+ QVERIFY(signalListener.instantiatedExtensions.contains(
+ listOfExtensions.at(0)));
+ QVERIFY(signalListener.instantiatedExtensions.contains(
+ listOfExtensions.at(1)));
}
void Ut_MApplicationExtensionManager::testAddWidgetInProcessExtensionWithoutWidget()
{
setupGoodExtension();
- manager->instantiateInProcessExtension("test");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ manager->instantiateInProcessExtension(metaData);
QCOMPARE(signalListener.createdWidgets.count(), 0);
}
@@ -370,7 +432,9 @@ void Ut_MApplicationExtensionManager::testAddWidgetInProcessExtensionWithWidget(
{
QGraphicsWidget extensionWidget;
setupGoodExtension(true, &extensionWidget);
- manager->instantiateInProcessExtension("test");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ manager->instantiateInProcessExtension(metaData);
QCOMPARE(signalListener.createdWidgets.count(), 1);
QCOMPARE(signalListener.createdWidgets.at(0), &extensionWidget);
}
@@ -379,18 +443,21 @@ void Ut_MApplicationExtensionManager::testRemoveWidgetInProcessExtension()
{
QGraphicsWidget extensionWidget;
setupGoodExtension(true, &extensionWidget);
- manager->instantiateInProcessExtension("test");
- manager->removeInProcessExtension("test");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
+ manager->instantiateInProcessExtension(metaData);
+ manager->removeInProcessExtension(*metaData);
QCOMPARE(signalListener.removedWidgets.count(), 1);
QCOMPARE(signalListener.removedWidgets.at(0), &extensionWidget);
}
void Ut_MApplicationExtensionManager::testRemoveOutOfProcessExtension()
{
- MApplicationExtensionMetaData metaData("test.desktop");
+ QSharedPointer<const MApplicationExtensionMetaData> metaData(
+ new MApplicationExtensionMetaData("test"));
manager->instantiateOutOfProcessExtension(metaData);
- MExtensionHandle *handle = manager->outOfProcessHandles.value("test.desktop");
- manager->removeOutOfProcessExtension(metaData.fileName());
+ MExtensionHandle *handle = manager->outOfProcessHandles.value(metaData.data());
+ manager->removeOutOfProcessExtension(*metaData);
QCOMPARE(signalListener.removedWidgets.count(), 1);
QCOMPARE(signalListener.removedWidgets.at(0), handle);
}
diff --git a/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.h b/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.h
index 506b93f3..dc374459 100644
--- a/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.h
+++ b/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.h
@@ -27,7 +27,8 @@
class MApplicationExtensionManager;
class MDataStore;
-
+class MApplicationExtensionMetaData;
+class MDesktopEntry;
/*!
* Class for listening to MApplicationExtensionManager signals
*/
@@ -115,7 +116,7 @@ private:
signals:
void directoryChanged(QString path);
-
+ void extensionChanged(const MDesktopEntry &extensionData) const;
private slots:
// Executed once before every test case
@@ -159,10 +160,10 @@ private slots:
void testRemoveInProcessExtension();
void testRemoveNonExistentInProcessExtension();
-
// Test filtering of in and out of process extensions
void testInProcessExtensionFiltering();
void testOutOfProcessExtensionFiltering();
+ void testUpdateInProcessExtension();
// Test that manager returns list of instantiated in process extensions when requested.
void testRequestForAllInProcessExtensionsReturnsAListOfExtensions();
diff --git a/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.pro b/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.pro
index 900a35d7..3bebda38 100644
--- a/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.pro
+++ b/tests/ut_mapplicationextensionmanager/ut_mapplicationextensionmanager.pro
@@ -13,12 +13,15 @@ win32|macx {
INCLUDEPATH += \
$$MSRCDIR/extensions/applicationextension \
$$MSRCDIR/extensions/mashup/appletcommunication \
- $$MSRCDIR/extensions/mashup/mashup
+ $$MSRCDIR/extensions/mashup/mashup \
+ $$MSRCDIR/extensions
# unit test and unit classes
SOURCES += \
ut_mapplicationextensionmanager.cpp \
- $$MSRCDIR/extensions/applicationextension/mapplicationextensionmanager.cpp
+ $$MSRCDIR/extensions/applicationextension/mapplicationextensionmanager.cpp \
+ $$MSRCDIR/extensions/mextensionwatcher.cpp \
+ $$MSRCDIR/extensions/mashup/mashup/msubdatastore.cpp
# service classes
SOURCES += \
@@ -29,8 +32,10 @@ SOURCES += \
HEADERS += \
ut_mapplicationextensionmanager.h \
$$MSRCDIR/extensions/applicationextension/mapplicationextensionmanager.h \
+ $$MSRCDIR/extensions/mextensionwatcher.h \
$$MSRCDIR/extensions/applicationextension/mextensionhandle.h \
$$MSRCDIR/extensions/applicationextension/mextensionhandlemodel.h \
+ $$MSRCDIR/extensions/mashup/mashup/msubdatastore.h \
$$MSRCDIR/corelib/widgets/mwidgetmodel.h \
$$MSRCDIR/corelib/widgets/core/mwidget.h \
$$MSRCDIR/corelib/widgets/core/mwidgetcontroller.h \
diff --git a/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.cpp b/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.cpp
index 1baa61dd..dced0cb0 100644
--- a/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.cpp
+++ b/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.cpp
@@ -21,6 +21,10 @@
#include <mapplicationextensionmetadata.h>
#include "ut_mapplicationextensionmetadata.h"
+const QString EXTENSION_BINARY_KEY("X-MeeGoApplicationExtension/Extension");
+const QString IDENTIFIER_KEY("X-MeeGoApplicationExtension/Identifier");
+const QString INTERFACE_KEY("X-MeeGoApplicationExtension/Interface");
+
QString gType = "MApplicationExtension";
QString gRunner = "";
QString gExtension = "";
@@ -40,11 +44,11 @@ QString MDesktopEntry::value(const QString &key) const
return QString(gIcon);
} else if (key == "Desktop Entry/Exec") {
return QString(gRunner);
- } else if (key == "X-M/MApplicationExtension-Extension") {
+ } else if (key == EXTENSION_BINARY_KEY) {
return QString(gExtension);
- } else if (key == "X-M/MApplicationExtension-Interface") {
+ } else if (key == INTERFACE_KEY) {
return QString(gInterface);
- } else if (key == "X-M/MApplicationExtension-Identifier") {
+ } else if (key == IDENTIFIER_KEY) {
return QString(gExtraIdentifier);
}
return QString();
@@ -60,11 +64,11 @@ bool MDesktopEntry::contains(const QString &key) const
return gIcon != "";
} else if (key == "Desktop Entry/Exec") {
return gRunner != "";
- } else if (key == "X-M/MApplicationExtension-Extension") {
+ } else if (key == EXTENSION_BINARY_KEY) {
return gExtension != "";
- } else if (key == "X-M/MApplicationExtension-Interface") {
+ } else if (key == INTERFACE_KEY) {
return gInterface != "";
- } else if (key == "X-M/MApplicationExtension-Identifier") {
+ } else if (key == IDENTIFIER_KEY) {
return gExtraIdentifier != "";
}
return false;
@@ -180,9 +184,9 @@ void Ut_MApplicationExtensionMetaData::testNameMissing()
void Ut_MApplicationExtensionMetaData::testExtraIdentifier()
{
gExtraIdentifier = "";
- QVERIFY(!m_subject->contains("X-M/MApplicationExtension-Identifier"));
+ QVERIFY(!m_subject->contains(IDENTIFIER_KEY));
gExtraIdentifier = "foo";
- QVERIFY(m_subject->contains("X-M/MApplicationExtension-Identifier"));
+ QVERIFY(m_subject->contains(IDENTIFIER_KEY));
}
void Ut_MApplicationExtensionMetaData::testResourceIdentifier()
diff --git a/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.pro b/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.pro
index 07fdefe9..0cdf1718 100644
--- a/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.pro
+++ b/tests/ut_mapplicationextensionmetadata/ut_mapplicationextensionmetadata.pro
@@ -4,7 +4,7 @@ INCLUDEPATH += $$MSRCDIR/applicationextension
TARGET = ut_mapplicationextensionmetadata
TEST_SOURCES = \
- $$MSRCDIR/applicationextension/mapplicationextensionmetadata.cpp \
+ $$MSRCDIR/extensions/applicationextension/mapplicationextensionmetadata.cpp \
# unit test and unit
SOURCES += \
@@ -18,7 +18,7 @@ SOURCES += \
# unit test and unit
HEADERS += \
ut_mapplicationextensionmetadata.h \
- $$MSRCDIR/applicationextension/mapplicationextensionmetadata.h \
+ $$MSRCDIR/extensions/applicationextension/mapplicationextensionmetadata.h \
DEFINES += M_INSTALL_LIBS=\\\"\"$$M_INSTALL_LIBS\"\\\"
diff --git a/tests/ut_mapplicationpage/ut_mapplicationpage.cpp b/tests/ut_mapplicationpage/ut_mapplicationpage.cpp
index 92d3cf23..a23e80f6 100644
--- a/tests/ut_mapplicationpage/ut_mapplicationpage.cpp
+++ b/tests/ut_mapplicationpage/ut_mapplicationpage.cpp
@@ -147,6 +147,7 @@ void Ut_MApplicationPage::testPageTitleChanged()
void Ut_MApplicationPage::testRememberPosition()
{
m_subject->setRememberPosition(true);
+ m_subject->d_func()->pannableViewPort->adjustSize();
m_subject->d_func()->pannableViewPort->setPosition(QPointF(0, 10));
appWin->sceneManager()->appearSceneWindowNow(m_subject);
QCOMPARE(m_subject->d_func()->pannableViewPort->position() + QPointF(10, 10), QPointF(10, 20));
@@ -156,6 +157,7 @@ void Ut_MApplicationPage::testRememberPosition()
void Ut_MApplicationPage::testForgetPosition()
{
m_subject->setRememberPosition(false);
+ m_subject->d_func()->pannableViewPort->adjustSize();
m_subject->d_func()->pannableViewPort->setPosition(QPointF(0, 10));
appWin->sceneManager()->appearSceneWindowNow(m_subject);
QCOMPARE(m_subject->d_func()->pannableViewPort->position() + QPointF(10, 10), QPointF(10, 10));
diff --git a/tests/ut_mcalendar/ut_mcalendar.cpp b/tests/ut_mcalendar/ut_mcalendar.cpp
index 789c4364..78b36229 100644
--- a/tests/ut_mcalendar/ut_mcalendar.cpp
+++ b/tests/ut_mcalendar/ut_mcalendar.cpp
@@ -1913,16 +1913,15 @@ void Ut_MCalendar::testWeekdaySymbols_data()
QTest::addColumn<MLocale::CalendarType>("cal");
QTest::addColumn<QStringList>("symbols");
- // FIXME: better translations would be without -na suffix
QStringList fi_FI_Symbols;
fi_FI_Symbols
- << QString("maanantaina")
- << QString("tiistaina")
- << QString("keskiviikkona")
- << QString("torstaina")
- << QString("perjantaina")
- << QString("lauantaina")
- << QString("sunnuntaina");
+ << QString("maanantai")
+ << QString("tiistai")
+ << QString("keskiviikko")
+ << QString("torstai")
+ << QString("perjantai")
+ << QString("lauantai")
+ << QString("sunnuntai");
QTest::newRow("weekday_symbols_fi_FI_Gregorian")
<< QString("fi_FI")
@@ -2003,21 +2002,20 @@ void Ut_MCalendar::testMonthSymbols_data()
QTest::addColumn<MLocale::CalendarType>("cal");
QTest::addColumn<QStringList>("symbols");
- // FIXME: again better translations without -ta
QStringList fi_FI_Symbols;
fi_FI_Symbols
- << QString("tammikuuta")
- << QString("helmikuuta")
- << QString("maaliskuuta")
- << QString("huhtikuuta")
- << QString("toukokuuta")
- << QString("kesäkuuta")
- << QString("heinäkuuta")
- << QString("elokuuta")
- << QString("syyskuuta")
- << QString("lokakuuta")
- << QString("marraskuuta")
- << QString("joulukuuta");
+ << QString("tammikuu")
+ << QString("helmikuu")
+ << QString("maaliskuu")
+ << QString("huhtikuu")
+ << QString("toukokuu")
+ << QString("kesäkuu")
+ << QString("heinäkuu")
+ << QString("elokuu")
+ << QString("syyskuu")
+ << QString("lokakuu")
+ << QString("marraskuu")
+ << QString("joulukuu");
QTest::newRow("month_symbols_fi_FI_Gregorian")
<< QString("fi_FI")
diff --git a/tests/ut_mextensionwatcher/.gitignore b/tests/ut_mextensionwatcher/.gitignore
new file mode 100644
index 00000000..0176279d
--- /dev/null
+++ b/tests/ut_mextensionwatcher/.gitignore
@@ -0,0 +1 @@
+ut_mextensionwatcher
diff --git a/tests/ut_mextensionwatcher/ut_mextensionwatcher.cpp b/tests/ut_mextensionwatcher/ut_mextensionwatcher.cpp
new file mode 100644
index 00000000..d84ecd26
--- /dev/null
+++ b/tests/ut_mextensionwatcher/ut_mextensionwatcher.cpp
@@ -0,0 +1,135 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QObject>
+#include <QSignalSpy>
+
+#include "ut_mextensionwatcher.h"
+#include "mextensionwatcher.h"
+#include "mappletinstancedata.h"
+#include "mapplicationextensionmetadata.h"
+#include "mdesktopentry_stub.h"
+
+// QFileSystemWatcher stubs
+static QSet<QString> gWatchedPaths;
+void QFileSystemWatcher::addPath(const QString &path)
+{
+ gWatchedPaths.insert(path);
+}
+
+// QFile stubs
+static bool gFileExists = true;
+bool QFile::exists(const QString& /*fileName*/)
+{
+ return gFileExists;
+}
+
+static const QString EXTENSION_FILE_NAME = "/usr/share/extensions/foo.desktop";
+static const QString NOT_WATCHED_FILE_NAME = "FILE_THAT_IS_NOT_WATCHED";
+
+void Ut_MExtensionWatcher::init()
+{
+ m_subject = new MExtensionWatcher();
+}
+
+void Ut_MExtensionWatcher::cleanup()
+{
+ delete m_subject;
+ m_subject = 0;
+}
+
+void Ut_MExtensionWatcher::initTestCase()
+{
+ gWatchedPaths.clear();
+ gFileExists = true;
+}
+
+void Ut_MExtensionWatcher::cleanupTestCase()
+{
+}
+
+void Ut_MExtensionWatcher::testConstruction()
+{
+ // verify that the constructor did set up the filesystemwatcher signal
+ QCOMPARE(disconnect(&m_subject->watcher,
+ SIGNAL(fileChanged(const QString &)),
+ m_subject, SLOT(notifyDataChanged(const QString &))),
+ true);
+ connect(&m_subject->watcher,
+ SIGNAL(fileChanged(const QString &)),
+ m_subject, SLOT(notifyDataChanged(const QString &)));
+}
+
+void Ut_MExtensionWatcher::testExtensionAddition()
+{
+ gMDesktopEntryStub->stubSetReturnValue("fileName", EXTENSION_FILE_NAME);
+ QSharedPointer<const MApplicationExtensionMetaData> testExtension(new MApplicationExtensionMetaData(EXTENSION_FILE_NAME));
+ m_subject->addExtension(testExtension);
+ QHash<QString, QSharedPointer<const MDesktopEntry> >::iterator extension =
+ m_subject->extensionsToWatch.find(EXTENSION_FILE_NAME);
+ QVERIFY(extension != m_subject->extensionsToWatch.end());
+ QCOMPARE(extension.value().data(), testExtension.data());
+ QCOMPARE(gWatchedPaths.contains(EXTENSION_FILE_NAME), true);
+}
+
+void Ut_MExtensionWatcher::testExtensionRemoval()
+{
+ gMDesktopEntryStub->stubSetReturnValue("fileName", EXTENSION_FILE_NAME);
+ QSharedPointer<const MApplicationExtensionMetaData> testExtension(new MApplicationExtensionMetaData(EXTENSION_FILE_NAME));
+ m_subject->addExtension(testExtension);
+ QCOMPARE(m_subject->extensionsToWatch.count(), 1);
+ m_subject->removeExtension(testExtension->fileName());
+ QCOMPARE(m_subject->extensionsToWatch.count(), 0);
+
+ // Make sure that the signal is not emitted for an extension that is not watched
+ QSignalSpy extensionSpy(m_subject,
+ SIGNAL(extensionChanged(const MDesktopEntry &)));
+ gFileExists = true;
+ emit fileChanged(EXTENSION_FILE_NAME);
+ QCOMPARE(extensionSpy.count(), 0);
+}
+
+void Ut_MExtensionWatcher::testFileWatcherNotifications()
+{
+ connect(this,
+ SIGNAL(fileChanged(const QString &)),
+ m_subject, SLOT(notifyDataChanged(const QString &)));
+ QSignalSpy extensionSpy(m_subject,
+ SIGNAL(extensionChanged(const MDesktopEntry &)));
+ gMDesktopEntryStub->stubSetReturnValue("fileName", EXTENSION_FILE_NAME);
+ QSharedPointer<const MApplicationExtensionMetaData> testExtension(new MApplicationExtensionMetaData(EXTENSION_FILE_NAME));
+ m_subject->addExtension(testExtension);
+
+ gFileExists = false;
+ emit fileChanged(EXTENSION_FILE_NAME);
+ QCOMPARE(extensionSpy.count(), 0);
+
+ gFileExists = true;
+ emit fileChanged(EXTENSION_FILE_NAME);
+ QCOMPARE(extensionSpy.count(), 1);
+
+ emit fileChanged(NOT_WATCHED_FILE_NAME);
+ QCOMPARE(extensionSpy.count(), 1);
+
+ disconnect(this,
+ SIGNAL(fileChanged(const QString &)),
+ m_subject, SLOT(notifyDataChanged(const QString &)));
+}
+
+QTEST_MAIN(Ut_MExtensionWatcher)
diff --git a/tests/ut_mextensionwatcher/ut_mextensionwatcher.h b/tests/ut_mextensionwatcher/ut_mextensionwatcher.h
new file mode 100644
index 00000000..cb0fafa1
--- /dev/null
+++ b/tests/ut_mextensionwatcher/ut_mextensionwatcher.h
@@ -0,0 +1,53 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef UT_MEXTENSIONWATCHER_H
+#define UT_MEXTENSIONWATCHER_H
+
+#include <QtTest/QtTest>
+#include <QObject>
+
+#include "mextensionwatcher.h"
+
+class Ut_MExtensionWatcher : public QObject
+{
+ Q_OBJECT
+
+signals:
+ void fileChanged(const QString &path);
+private slots:
+ void init();
+ void cleanup();
+ void initTestCase();
+ void cleanupTestCase();
+
+ void testConstruction();
+
+ void testExtensionAddition();
+ void testExtensionRemoval();
+
+ void testFileWatcherNotifications();
+
+
+
+private:
+ MExtensionWatcher *m_subject;
+};
+
+#endif
diff --git a/tests/ut_mextensionwatcher/ut_mextensionwatcher.pro b/tests/ut_mextensionwatcher/ut_mextensionwatcher.pro
new file mode 100644
index 00000000..83181f77
--- /dev/null
+++ b/tests/ut_mextensionwatcher/ut_mextensionwatcher.pro
@@ -0,0 +1,30 @@
+include(../common_top.pri)
+
+INCLUDEPATH += $$MSRCDIR/extensions \
+ $$MSRCDIR/extensions/mashup/mashup
+
+TARGET = ut_mextensionwatcher
+
+TEST_SOURCES = \
+ $$MSRCDIR/extensions/mextensionwatcher.cpp \
+ $$MSRCDIR/extensions/mashup/mashup/mappletinstancedata.cpp \
+ $$MSRCDIR/extensions/mashup/mashup/mappletid.cpp \
+ $$MSRCDIR/extensions/applicationextension/mapplicationextensionmetadata.cpp
+
+
+# unit test and unit
+SOURCES += \
+ ut_mextensionwatcher.cpp \
+ $$TEST_SOURCES
+
+# service classes
+SOURCES += \
+ $$STUBSDIR/stubbase.cpp \
+
+# unit test and unit
+HEADERS += \
+ ut_mextensionwatcher.h \
+ $$MSRCDIR/extensions/mextensionwatcher.h
+
+
+include(../common_bot.pri)
diff --git a/tests/ut_mpannableviewport/ut_mpannableviewport.cpp b/tests/ut_mpannableviewport/ut_mpannableviewport.cpp
index 7def9aed..9f79fa22 100644
--- a/tests/ut_mpannableviewport/ut_mpannableviewport.cpp
+++ b/tests/ut_mpannableviewport/ut_mpannableviewport.cpp
@@ -275,4 +275,22 @@ void Ut_MPannableViewport::settingNULLPositionIndicatorShouldNotBeAccepted()
QVERIFY(subject->positionIndicator() != NULL);
}
+void Ut_MPannableViewport::disabledViewportShouldNotAllowWigetToBeBiggerThanViewport()
+{
+ subject->setEnabled(false);
+ QGraphicsWidget *widget = new QGraphicsWidget();
+ widget->setPreferredSize(1000,1000);
+ subject->setWidget(widget);
+
+
+ // Forcing the size of subject to some value
+ subject->setMinimumSize(QSizeF(500, 300));
+ subject->setMaximumSize(QSizeF(500, 300));
+
+ subject->adjustSize();
+
+ QCOMPARE(widget->size(), QSizeF(500,300));
+ subject->setEnabled(true);
+}
+
QTEST_APPLESS_MAIN(Ut_MPannableViewport)
diff --git a/tests/ut_mpannableviewport/ut_mpannableviewport.h b/tests/ut_mpannableviewport/ut_mpannableviewport.h
index 26f776fe..01b32aa9 100644
--- a/tests/ut_mpannableviewport/ut_mpannableviewport.h
+++ b/tests/ut_mpannableviewport/ut_mpannableviewport.h
@@ -49,6 +49,8 @@ private slots:
void settingNewPositionIndicator();
void settingNULLPositionIndicatorShouldNotBeAccepted();
+ void disabledViewportShouldNotAllowWigetToBeBiggerThanViewport();
+
private:
MPannableViewport *subject;
};
diff --git a/tests/ut_mpannablewidget/ut_mpannablewidget.cpp b/tests/ut_mpannablewidget/ut_mpannablewidget.cpp
index dab19dea..ae71e2c3 100644
--- a/tests/ut_mpannablewidget/ut_mpannablewidget.cpp
+++ b/tests/ut_mpannablewidget/ut_mpannablewidget.cpp
@@ -264,7 +264,7 @@ void Ut_MPannableWidget::panGestureMovesPhysicsPointer()
currentPanState = Qt::GestureStarted;
widget->glassPanEvent(&event, &panGesture);
QCOMPARE(physicsState->pointerPressed, true);
- QCOMPARE(physicsState->pointerMoved, false);
+ QCOMPARE(physicsState->pointerMoved, true);
QCOMPARE(physicsState->pointerReleased, false);
physicsState->pointerPressed = false;
@@ -328,7 +328,7 @@ void Ut_MPannableWidget::panGestureCancelsMouseEvents()
currentPanState = Qt::GestureStarted;
widget->glassPanEvent(&event, &panGesture);
QCOMPARE(physicsState->pointerPressed, true);
- QCOMPARE(physicsState->pointerMoved, false);
+ QCOMPARE(physicsState->pointerMoved, true);
QCOMPARE(physicsState->pointerReleased, false);
QCOMPARE(dummyItem->cancelReceived, true);
diff --git a/tests/ut_mstatusbarview/ut_mstatusbarview.cpp b/tests/ut_mstatusbarview/ut_mstatusbarview.cpp
new file mode 100644
index 00000000..87323968
--- /dev/null
+++ b/tests/ut_mstatusbarview/ut_mstatusbarview.cpp
@@ -0,0 +1,55 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#include <QObject>
+#include <QGraphicsSceneMouseEvent>
+
+#include <mstatusbar.h>
+
+#include "ut_mstatusbarview.h"
+
+Ut_MStatusBarView::Ut_MStatusBarView():
+ m_subject(0),
+ m_statusbar(0)
+{
+}
+
+void Ut_MStatusBarView::initTestCase()
+{
+ m_statusbar = new MStatusBar();
+ m_subject= new MStatusBarView(m_statusbar);
+}
+
+void Ut_MStatusBarView::cleanupTestCase()
+{
+ delete m_statusbar;
+ m_statusbar = 0;
+}
+#ifdef Q_WS_X11
+void Ut_MStatusBarView::testXDamageWhileTogglingVisibility()
+{
+ m_subject->sharedPixmap = QPixmap(50,50);
+ m_subject->enablePixmapUpdates();
+ QVERIFY(m_subject->pixmapDamage != 0);
+ m_subject->disablePixmapUpdates();
+ QVERIFY(m_subject->pixmapDamage == 0);
+}
+#endif
+
+QTEST_MAIN(Ut_MStatusBarView)
diff --git a/tests/ut_mstatusbarview/ut_mstatusbarview.h b/tests/ut_mstatusbarview/ut_mstatusbarview.h
new file mode 100644
index 00000000..c28156cd
--- /dev/null
+++ b/tests/ut_mstatusbarview/ut_mstatusbarview.h
@@ -0,0 +1,49 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef UT_STATUSBARVIEW_H
+#define UT_STATUSBARVIEW_H
+
+#include <QtTest/QtTest>
+#include <QObject>
+
+// the real unit/MStatusBarView class declaration
+#include <mstatusbarview.h>
+
+Q_DECLARE_METATYPE(MStatusBarView *);
+
+class Ut_MStatusBarView : public QObject
+{
+ Q_OBJECT
+public:
+ Ut_MStatusBarView();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+#ifdef Q_WS_X11
+ void testXDamageWhileTogglingVisibility();
+#endif
+
+private:
+ MStatusBarView *m_subject;
+ MStatusBar *m_statusbar;
+};
+
+#endif
diff --git a/tests/ut_mstatusbarview/ut_mstatusbarview.pro b/tests/ut_mstatusbarview/ut_mstatusbarview.pro
new file mode 100644
index 00000000..e1db5489
--- /dev/null
+++ b/tests/ut_mstatusbarview/ut_mstatusbarview.pro
@@ -0,0 +1,23 @@
+include(../common_top.pri)
+TARGET = ut_mstatusbarview
+
+INCLUDEPATH += $$MSRCDIR/views $$STUBSDIR
+
+TEST_SOURCES = \
+ $$MSRCDIR/views/mstatusbarview.cpp \
+
+# unit test and unit
+SOURCES += \
+ ut_mstatusbarview.cpp \
+ $$TEST_SOURCES \
+
+# service classes
+SOURCES += \
+ $$STUBSDIR/stubbase.cpp \
+
+# unit test and unit
+HEADERS += \
+ ut_mstatusbarview.h \
+ $$MSRCDIR/views/mstatusbarview.h \
+
+include(../common_bot.pri)
diff --git a/tests/ut_mtoolbarview/ut_mtoolbarview.cpp b/tests/ut_mtoolbarview/ut_mtoolbarview.cpp
index 3815babf..5663cb68 100644
--- a/tests/ut_mtoolbarview/ut_mtoolbarview.cpp
+++ b/tests/ut_mtoolbarview/ut_mtoolbarview.cpp
@@ -76,17 +76,168 @@ void Ut_MToolBarView::testDeleteAddAction()
m_toolbar->clearActions();
MWidget *parentWidget = new MWidget();
- m_toolbar->addAction(createTextEditAction(parentWidget));
+ QPointer<MWidgetAction> action = createTextEditAction(parentWidget);
+ m_toolbar->addAction(action);
QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
delete parentWidget;
// toolbar should not crash as action has been deleted
+ QVERIFY(m_toolbar->actions().count() == 0);
+ QVERIFY(action.isNull());
+
+ // Add another action just to sure
m_toolbar->addAction(new MAction("TEXTONLY", m_toolbar));
- QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
QVERIFY(m_toolbar->actions().count() == 1);
}
+void Ut_MToolBarView::testDeleteAction()
+{
+ m_toolbar->clearActions();
+
+ MWidget *parentWidget = new MWidget();
+ QPointer<MWidgetAction> action = createTextEditAction(parentWidget);
+ m_toolbar->addAction(action);
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+ delete action;
+
+ // toolbar should not crash as action has been deleted
+ QVERIFY(m_toolbar->actions().count() == 0);
+ QVERIFY(action.isNull());
+}
+void Ut_MToolBarView::testDeleteAndAddingTextWidget()
+{
+ //This is testing that we properly delete a text edit action
+ MWidget *parentWidget = new MWidget();
+ QPointer<MWidgetAction> action = createTextEditAction(parentWidget);
+ m_toolbar->addAction(action);
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+ delete action;
+
+ //We should now be completely empty, and thus we can add a text edit again, and 4 more actions..
+ MWidget *parentWidget2 = new MWidget();
+ QPointer<MWidgetAction> action2 = createTextEditAction(parentWidget2);
+ m_toolbar->addAction(action2);
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+
+ QVERIFY(m_toolbar->actions().count() == 1);
+ QVERIFY(action2->widget()->isVisible()); //Should be visible
+
+ //Try adding a second text edit. Should not show
+ MWidget *parentWidget3 = new MWidget();
+ QPointer<MWidgetAction> action3 = createTextEditAction(parentWidget3);
+ m_toolbar->addAction(action3);
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+
+ QVERIFY(m_toolbar->actions().count() == 2);
+ QVERIFY(action2->widget()->isVisible()); //Should still be visible
+ QVERIFY(!action3->widget()->isVisible()); //New one should not be visible
+
+ //Now add four normal widgets
+ MAction *action4 = new MAction("action4", m_toolbar);
+ action4->setLocation(MAction::ToolBarLocation);
+ m_toolbar->addAction(action4);
+
+ MAction *action5 = new MAction("action4", m_toolbar);
+ action5->setLocation(MAction::ToolBarLocation);
+ m_toolbar->addAction(action5);
+
+ MAction *action6 = new MAction("action4", m_toolbar);
+ action6->setLocation(MAction::ToolBarLocation);
+ m_toolbar->addAction(action6);
+
+ MAction *action7 = new MAction("action4", m_toolbar);
+ action7->setLocation(MAction::ToolBarLocation);
+ m_toolbar->addAction(action7);
+
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+
+ //Two of the normal actions should be visible, and two not
+ MButton* button4 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action4));
+ MButton* button5 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action5));
+ MButton* button6 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action6));
+ MButton* button7 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action7));
+ QVERIFY(button4);
+ QVERIFY(button4->isVisible());
+ QVERIFY(button5);
+ QVERIFY(button5->isVisible());
+ QVERIFY(!button6 || !button6->isVisible());
+ QVERIFY(!button7 || !button7->isVisible());
+
+ //Now delete the showing text edit. The second should become visible
+ delete parentWidget2;
+ QVERIFY(action2.isNull());
+
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+ QVERIFY(action3->widget()->isVisible()); //New one should now be visible
+
+ button4 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action4));
+ button5 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action5));
+ button6 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action6));
+ button7 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action7));
+ QVERIFY(button4);
+ QVERIFY(button4->isVisible());
+ QVERIFY(button5);
+ QVERIFY(button5->isVisible());
+ QVERIFY(!button6 || !button6->isVisible());
+ QVERIFY(!button7 || !button7->isVisible());
+
+ //Now remove the third text edit
+ m_toolbar->removeAction(action3);
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+
+ //All the buttons should now be visible again
+ QVERIFY(!action3->widget()->isVisible());
+
+ button4 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action4));
+ button5 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action5));
+ button6 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action6));
+ button7 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action7));
+ QVERIFY(button4);
+ QVERIFY(button4->isVisible());
+ QVERIFY(button5);
+ QVERIFY(button5->isVisible());
+ QVERIFY(button6);
+ QVERIFY(button6->isVisible());
+ QVERIFY(button7);
+ QVERIFY(button7->isVisible());
+
+ //Try inserting the toolbar again before the 4th button visible.
+ //This should fail since there isn't room for it
+ m_toolbar->insertAction(action7, action3);
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+ QVERIFY(!action3->widget()->isVisible());
+ button4 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action4));
+ button5 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action5));
+ button6 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action6));
+ button7 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action7));
+ QVERIFY(button4);
+ QVERIFY(button4->isVisible());
+ QVERIFY(button5);
+ QVERIFY(button5->isVisible());
+ QVERIFY(button6);
+ QVERIFY(button6->isVisible());
+ QVERIFY(button7);
+ QVERIFY(button7->isVisible());
+
+ //Try inserting the toolbar before the 3rd button visible.
+ //This should now work, pushing off button6 and button7
+ m_toolbar->insertAction(action6, action3);
+ QCoreApplication::processEvents(QEventLoop::WaitForMoreEvents, 10);
+
+ QVERIFY(action3->widget()->isVisible());
+ button4 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action4));
+ button5 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action5));
+ button6 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action6));
+ button7 = dynamic_cast<MButton *>(m_toolbarview->getWidget(action7));
+ QVERIFY(button4);
+ QVERIFY(button4->isVisible());
+ QVERIFY(button5);
+ QVERIFY(button5->isVisible());
+ QVERIFY(!button6 || !button6->isVisible());
+ QVERIFY(!button7 || !button7->isVisible());
+
+}
void Ut_MToolBarView::testTabView()
{
m_toolbar->clearActions();
@@ -169,21 +320,150 @@ MWidgetAction *Ut_MToolBarView::createTextEditAction(MWidget *parentWidget)
return actionTextEdit;
}
+void Ut_MToolBarView::testInsertingActions()
+{
+ QPointer<MAction> action1 = new MAction("action", m_toolbar);
+ action1->setLocation(MAction::ToolBarLocation);
+ m_toolbar->addAction(action1);
+ QPointer<MButton> button1 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action1));
+
+ QPointer<MAction> action2 = new MAction("action", m_toolbar);
+ action2->setLocation(MAction::ToolBarLocation);
+ m_toolbar->insertAction(action1, action2);
+ QPointer<MButton> button2 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action2));
+
+ qApp->processEvents();
+ QCOMPARE(m_toolbar->actions().count(), 2);
+ QVERIFY(m_toolbar->actions()[0] == action2);
+ QVERIFY(m_toolbar->actions()[1] == action1);
+ QVERIFY(button2->geometry().left() < button1->geometry().left());
+
+ action1->setVisible(false);
+ button1 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action1));
+
+ //Check we can insert before a hidden action
+ QPointer<MAction> action3 = new MAction("action", m_toolbar);
+ action3->setLocation(MAction::ToolBarLocation);
+ m_toolbar->insertAction(action1, action3);
+ QPointer<MButton> button3 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action3));
+
+ qApp->processEvents();
+ QCOMPARE(m_toolbar->actions().count(), 3);
+ QVERIFY(m_toolbar->actions()[0] == action2);
+ QVERIFY(m_toolbar->actions()[1] == action3);
+ QVERIFY(m_toolbar->actions()[2] == action1);
+ QVERIFY(button2->geometry().left() < button3->geometry().left());
+ QCOMPARE(button1 && button1->isVisible(), false);
+
+ //Check if we insert a hidden action then make it visible, it's in the right place
+ QPointer<MAction> action4 = new MAction("action", m_toolbar);
+ action4->setLocation(MAction::ToolBarLocation);
+ action4->setVisible(false);
+ m_toolbar->insertAction(action2, action4);
+ action4->setVisible(true);
+ QPointer<MButton> button4 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action4));
+
+ qApp->processEvents();
+ QCOMPARE(m_toolbar->actions().count(), 4);
+ QVERIFY(m_toolbar->actions()[0] == action4);
+ QVERIFY(m_toolbar->actions()[1] == action2);
+ QVERIFY(m_toolbar->actions()[2] == action3);
+ QVERIFY(m_toolbar->actions()[3] == action1);
+ QVERIFY(button4->geometry().left() < button2->geometry().left());
+ QVERIFY(button2->geometry().left() < button3->geometry().left());
+ QCOMPARE(button1 && button1->isVisible(), false);
+ QCOMPARE(button4->isVisible(), true);
+
+ //Add an action at the end, so we now have 4 visible buttons and 1 hidden button
+ QPointer<MAction> action5 = new MAction("action", m_toolbar);
+ action5->setLocation(MAction::ToolBarLocation);
+ m_toolbar->addAction(action5);
+ QPointer<MButton> button5 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action5));
+
+ qApp->processEvents();
+ QCOMPARE(m_toolbar->actions().count(), 5);
+ QVERIFY(m_toolbar->actions()[0] == action4);
+ QVERIFY(m_toolbar->actions()[1] == action2);
+ QVERIFY(m_toolbar->actions()[2] == action3);
+ QVERIFY(m_toolbar->actions()[3] == action1);
+ QVERIFY(m_toolbar->actions()[4] == action5);
+
+ QVERIFY(button4->geometry().left() < button2->geometry().left());
+ QVERIFY(button2->geometry().left() < button3->geometry().left());
+ QVERIFY(button3->geometry().left() < button5->geometry().left());
+ QCOMPARE(button1 && button1->isVisible(), false);
+
+ //Make action1 visible again. This should push action5 off so that it's hidden
+ action1->setVisible(true);
+ button1 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action1));
+ button5 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action5));
+ QVERIFY(button1);
+ qApp->processEvents();
+
+ QCOMPARE(button1->isVisible(), true);
+ QCOMPARE(button5 && button5->isVisible(), false);
+
+ QCOMPARE(m_toolbar->actions().count(), 5);
+ QVERIFY(m_toolbar->actions()[0] == action4);
+ QVERIFY(m_toolbar->actions()[1] == action2);
+ QVERIFY(m_toolbar->actions()[2] == action3);
+ QVERIFY(m_toolbar->actions()[3] == action1);
+ QVERIFY(m_toolbar->actions()[4] == action5);
+ QVERIFY(button4->geometry().left() < button2->geometry().left());
+ QVERIFY(button2->geometry().left() < button3->geometry().left());
+ QVERIFY(button3->geometry().left() < button1->geometry().left());
+}
+void Ut_MToolBarView::testAddingRemoveActions_data()
+{
+ QTest::addColumn<bool>("deleteAction");
+ QTest::newRow("Adding and removing action") << false;
+ QTest::newRow("Adding and deleting action") << true;
+}
void Ut_MToolBarView::testAddingRemoveActions()
{
+ QFETCH(bool, deleteAction);
QPointer<MAction> action1 = new MAction("action", m_toolbar);
action1->setLocation(MAction::ToolBarLocation);
m_toolbar->addAction(action1);
+ QPointer<MButton> button1 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action1));
QPointer<MAction> action2 = new MAction("action", m_toolbar);
action2->setLocation(MAction::ToolBarLocation);
m_toolbar->addAction(action2);
-
- m_toolbar->removeAction(action1);
- m_toolbar->removeAction(action2);
- QVERIFY(!action1.isNull());
- QVERIFY(!action2.isNull());
-
+ QPointer<MButton> button2 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action2));
+ action2->setVisible(false);
+
+ QPointer<MAction> action3 = new MAction("action", m_toolbar);
+ action3->setLocation(MAction::ToolBarLocation);
+ action3->setVisible(false);
+ m_toolbar->addAction(action3);
+ QPointer<MButton> button3 = dynamic_cast<MButton*>(m_toolbarview->getWidget(action3));
+
+ QVERIFY(!button1.isNull());
+ QVERIFY(!button2.isNull());
+ QVERIFY(button3.isNull());
+
+ if(deleteAction) {
+ delete action3;
+ delete action1;
+ delete action2;
+ } else {
+ m_toolbar->removeAction(action3);
+ m_toolbar->removeAction(action1);
+ m_toolbar->removeAction(action2);
+ QVERIFY(!action1.isNull());
+ QVERIFY(!action2.isNull());
+ QVERIFY(!action3.isNull());
+ }
+ QVERIFY(button1.isNull());
+ QVERIFY(button2.isNull());
+ QVERIFY(button3.isNull());
+ if(!deleteAction) {
+ //Delete now, after they've been removed, just to clean up
+ delete action1;
+ delete action2;
+ delete action3;
+ }
}
void Ut_MToolBarView::testSizeHint_data()
@@ -304,12 +584,22 @@ void Ut_MToolBarView::testButtons()
action->setVisible(false);
WAIT_VERIFY(button.isNull() || !button->isVisible());
+ //This is an implementation specific check. It's nice
+ //if the button is not deleted so that it's available
+ //straight away if we need it again
+ WAIT_VERIFY(!button.isNull());
+ WAIT_VERIFY(!button->isVisible());
+
/* Set the button back to how it was, but disabled */
action->setEnabled(false);
action->setChecked(true);
action->setText("Hello");
/* And now show the button again */
action->setVisible(true);
+
+ /* Another implementation specific check. */
+ QVERIFY(button == dynamic_cast<MButton*>(m_toolbarview->getWidget(action)));
+
button = dynamic_cast<MButton*>(m_toolbarview->getWidget(action));
QVERIFY(button);
QVERIFY(!button->isEnabled());
@@ -355,7 +645,7 @@ void Ut_MToolBarView::testMWidgetAction_data()
QTest::newRow("Testing MWidgetAction with MButton") << "button";
QTest::newRow("Testing MWidgetAction with MTextEdit") << "textedit";
- QTest::newRow("Testing MWidgetAction with MSlider") << "image";
+// QTest::newRow("Testing MWidgetAction with MSlider") << "image";
}
void Ut_MToolBarView::testMWidgetAction()
{
@@ -390,7 +680,22 @@ void Ut_MToolBarView::testMWidgetAction()
QVERIFY(widget);
QVERIFY(widget->isEnabled());
WAIT_VERIFY(widget->isVisible());
-
+}
+
+void Ut_MToolBarView::testAddToLandscapeWhenInPortrait()
+{
+ QVERIFY(m_toolbar->actions().isEmpty());
+
+ appWin->setOrientationAngle(M::Angle90);
+ qApp->processEvents();
+
+ MAction *action = new MAction("Hello", m_toolbar);
+ action->setLocation(MAction::ToolBarLandscapeLocation);
+ m_toolbar->addAction(action);
+
+ //Since we are in landscape mode we should not see this action
+ QPointer<MButton> button = dynamic_cast<MButton*>(m_toolbarview->getWidget(action));
+ WAIT_VERIFY(!button || !button->isVisible());
}
QTEST_APPLESS_MAIN(Ut_MToolBarView)
diff --git a/tests/ut_mtoolbarview/ut_mtoolbarview.h b/tests/ut_mtoolbarview/ut_mtoolbarview.h
index 3b58db27..97dc7580 100644
--- a/tests/ut_mtoolbarview/ut_mtoolbarview.h
+++ b/tests/ut_mtoolbarview/ut_mtoolbarview.h
@@ -40,8 +40,12 @@ private slots:
void init();
void cleanup();
+ void testInsertingActions();
+ void testAddingRemoveActions_data();
void testAddingRemoveActions();
void testDeleteAddAction();
+ void testDeleteAction();
+ void testDeleteAndAddingTextWidget();
void testTabView();
void testTabActionExclusivity();
void testSizeHint_data();
@@ -49,6 +53,7 @@ private slots:
void testButtons();
void testMWidgetAction_data();
void testMWidgetAction();
+ void testAddToLandscapeWhenInPortrait();
private:
MToolBar *m_toolbar;
diff --git a/tests/ut_phonenumberformatting/ut_phonenumberformatting.cpp b/tests/ut_phonenumberformatting/ut_phonenumberformatting.cpp
new file mode 100644
index 00000000..a401fa08
--- /dev/null
+++ b/tests/ut_phonenumberformatting/ut_phonenumberformatting.cpp
@@ -0,0 +1,297 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+#include "ut_phonenumberformatting.h"
+
+#include "mlocale.h"
+
+void Ut_PhoneNumberFormatting::testFormatting_data()
+{
+ QTest::addColumn<QString>("rawPhoneNumber");
+ QTest::addColumn<QString>("formattedPhoneNumber");
+ QTest::addColumn<bool>("doGrouping");
+
+ // test empty string
+ QTest::newRow( "" ) << QString()
+ << QString()
+ << false;
+
+ // test splitting of country code without grouping
+ QTest::newRow( "" ) << QString( "+3581234567" )
+ << QString( "+358 1234567" )
+ << false;
+
+
+ QTest::newRow( "" ) << QString( "+123456789" )
+ << QString( "+1 23456789" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "+9876543210" )
+ << QString( "+98 76543210" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "+3581234567" )
+ << QString( "+358 1234567" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "00123456789" )
+ << QString( "00 1 23456789" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "009876543210" )
+ << QString( "00 98 76543210" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "003581234567" )
+ << QString( "00 358 1234567" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "011123456789" )
+ << QString( "011 1 23456789" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "0119876543210" )
+ << QString( "011 98 76543210" )
+ << false;
+
+ QTest::newRow( "" ) << QString( "0113581234567" )
+ << QString( "011 358 1234567" )
+ << false;
+
+
+ // test american number splitting without country code
+ QTest::newRow( "" ) << QString( "9" )
+ << QString( "9" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "98" )
+ << QString( "98" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "987" )
+ << QString( "987" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "9876" )
+ << QString( "987-6" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "98765" )
+ << QString( "987-65" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "987654" )
+ << QString( "987-654" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "9876543" )
+ << QString( "987-6543" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "98765432" )
+ << QString( "(987) 654-32" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "987654321" )
+ //<< QString( "(987) 654- 321" ) typo ? check...
+ << QString( "(987) 654-321" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "9876543210" )
+ << QString( "(987) 654-3210" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "98765432109" )
+ << QString( "98765432109" )
+ << true;
+
+ // grouping on, numbers starting with 1
+ QTest::newRow( "" ) << QString( "1" )
+ << QString( "1" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "12" )
+ << QString( "1 (2 )" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "123" )
+ << QString( "1 (23 )" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "1234" )
+ << QString( "1 (234)" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "12345" )
+ << QString( "1 (234) 5" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "123456" )
+ << QString( "1 (234) 56" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "1234567" )
+ << QString( "1 (234) 567" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "12345678" )
+ << QString( "1 (234) 567-8" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "123456789" )
+ << QString( "1 (234) 567-89" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "1234567890" )
+ << QString( "1 (234) 567-890" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "12345678901" )
+ << QString( "1 (234) 567-8901" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "123456789012" )
+ << QString( "123456789012" )
+ << true;
+
+ // check that no formatting is done for numbers starting with 11
+ QTest::newRow( "" ) << QString( "11" )
+ << QString( "11" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "113" )
+ << QString( "113" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "1134" )
+ << QString( "1134" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "11345" )
+ << QString( "11345" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "113456" )
+ << QString( "113456" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "1134567" )
+ << QString( "1134567" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "11345678" )
+ << QString( "11345678" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "113456789" )
+ << QString( "113456789" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "1134567890" )
+ << QString( "1134567890" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "11345678901" )
+ << QString( "11345678901" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "113456789012" )
+ << QString( "113456789012" )
+ << true;
+
+ // test that no formatting is done for numbers starting with
+ // *, #, p or w
+ QTest::newRow( "" ) << QString( "*987654" )
+ << QString( "*987654" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "#987654" )
+ << QString( "#987654" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "p987654" )
+ << QString( "p987654" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "w987654" )
+ << QString( "w987654" )
+ << true;
+
+ // test combined effect of grouping of country code
+ // and north american grouping
+ QTest::newRow( "" ) << QString( "+123456789" )
+ << QString( "+1 (234) 567-89" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "+9876543210" )
+ << QString( "+98 (765) 432-10" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "+3581234567" )
+ << QString( "+358 (123) 456-7" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "00123456789" )
+ << QString( "00123456789" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "009876543210" )
+ << QString( "009876543210" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "003581234567" )
+ << QString( "003581234567" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "011123456789" )
+ << QString( "011 1 (234) 567-89" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "0119876543210" )
+ << QString( "011 98 (765) 432-10" )
+ << true;
+
+ QTest::newRow( "" ) << QString( "0113581234567" )
+ << QString( "011 358 (123) 456-7" )
+ << true;
+}
+
+void Ut_PhoneNumberFormatting::testFormatting()
+{
+ QTest::addColumn<QString>("rawPhoneNumber");
+ QTest::addColumn<QString>("formattedPhoneNumber");
+ QTest::addColumn<bool>("doGrouping");
+
+ QFETCH( QString, rawPhoneNumber );
+ QFETCH( QString, formattedPhoneNumber );
+ QFETCH( bool, doGrouping );
+
+ Q_UNUSED(doGrouping);
+
+ MLocale locale;
+
+ QString myGroupedPhoneNumber = locale.formatPhoneNumber(
+ rawPhoneNumber, doGrouping ?
+ MLocale::NorthAmericanGrouping :
+ MLocale::NoGrouping );
+
+ QCOMPARE( myGroupedPhoneNumber, formattedPhoneNumber );
+}
+
+
+QTEST_APPLESS_MAIN(Ut_PhoneNumberFormatting);
diff --git a/tests/ut_phonenumberformatting/ut_phonenumberformatting.h b/tests/ut_phonenumberformatting/ut_phonenumberformatting.h
new file mode 100644
index 00000000..beab3c2d
--- /dev/null
+++ b/tests/ut_phonenumberformatting/ut_phonenumberformatting.h
@@ -0,0 +1,35 @@
+/***************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (directui@nokia.com)
+**
+** This file is part of libmeegotouch.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at directui@nokia.com.
+**
+** This library is free software; you can redistribute it and/or
+** modify it under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation
+** and appearing in the file LICENSE.LGPL included in the packaging
+** of this file.
+**
+****************************************************************************/
+
+#ifndef UT_PHONENUMBERFORMATTING_H
+#define UT_PHONENUMBERFORMATTING_H
+
+#include <QtTest/QtTest>
+#include <QObject>
+
+class Ut_PhoneNumberFormatting : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void testFormatting_data();
+ void testFormatting();
+};
+
+#endif
diff --git a/tests/ut_phonenumberformatting/ut_phonenumberformatting.pro b/tests/ut_phonenumberformatting/ut_phonenumberformatting.pro
new file mode 100644
index 00000000..3fe73536
--- /dev/null
+++ b/tests/ut_phonenumberformatting/ut_phonenumberformatting.pro
@@ -0,0 +1,9 @@
+include(../common_top.pri)
+
+TARGET = ut_phonenumberformatting
+
+# Input
+HEADERS += ut_phonenumberformatting.h
+SOURCES += ut_phonenumberformatting.cpp
+
+include(../common_bot.pri)