+
+int UtcDaliTextMultiLanguageValidateFontsPerScriptCache(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline(" UtcDaliTextMultiLanguageValidateFontsPerScriptCache");
+
+ std::size_t MAX_VALIDATE_FONTS_PER_SCRIPT_CACHE_SIZE = 63u;
+ std::size_t VALIDATE_FONTS_PER_SCRIPT_REMAIN_COUNT = 8u;
+
+ Dali::Toolkit::Text::Internal::ValidateFontsPerScript* validateFontsPerScript = new Dali::Toolkit::Text::Internal::ValidateFontsPerScript();
+
+ for(std::size_t i = 0u; i < MAX_VALIDATE_FONTS_PER_SCRIPT_CACHE_SIZE; i ++)
+ {
+ FontId fontId = i;
+ validateFontsPerScript->Cache(fontId);
+ }
+
+ DALI_TEST_EQUALS(MAX_VALIDATE_FONTS_PER_SCRIPT_CACHE_SIZE, validateFontsPerScript->mValidFonts.Count(), TEST_LOCATION);
+
+ FontId fontId = MAX_VALIDATE_FONTS_PER_SCRIPT_CACHE_SIZE;
+ validateFontsPerScript->Cache(fontId);
+
+ DALI_TEST_EQUALS(VALIDATE_FONTS_PER_SCRIPT_REMAIN_COUNT, validateFontsPerScript->mValidFonts.Count(), TEST_LOCATION);
+
+ END_TEST;
+}
+
+int UtcDaliTextMultiLanguageDefaultFontsCache(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline(" UtcDaliTextMultiLanguageDefaultFontsCache");
+
+ std::size_t MAX_DEFAULT_FONTS_CACHE_SIZE = 15;
+ std::size_t DEFAULT_FONTS_REMAIN_COUNT = 2;
+
+ Dali::Toolkit::Text::Internal::DefaultFonts* defaultFontsPerScript = new Dali::Toolkit::Text::Internal::DefaultFonts();
+
+ for(std::size_t i = 0u; i < MAX_DEFAULT_FONTS_CACHE_SIZE; i ++)
+ {
+ TextAbstraction::FontDescription fontDescription;
+ FontId fontId = i;
+ defaultFontsPerScript->Cache(fontDescription, fontId);
+ }
+
+ DALI_TEST_EQUALS(MAX_DEFAULT_FONTS_CACHE_SIZE, defaultFontsPerScript->mFonts.size(), TEST_LOCATION);
+
+ TextAbstraction::FontDescription fontDescription;
+ FontId fontId = MAX_DEFAULT_FONTS_CACHE_SIZE;
+ defaultFontsPerScript->Cache(fontDescription, fontId);
+
+ DALI_TEST_EQUALS(DEFAULT_FONTS_REMAIN_COUNT, defaultFontsPerScript->mFonts.size(), TEST_LOCATION);
+
+ END_TEST;
+}
+
+int UtcDaliTextMultiLanguageLocaleChange(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline(" UtcDaliTextMultiLanguageLocaleChange");
+
+ Adaptor &adaptor = application.GetAdaptor();
+ MultilanguageSupport multilanguageSupport = MultilanguageSupport::Get();
+
+ std::string newLocale = "multi_TEST";
+ adaptor.LocaleChangedSignal().Emit(newLocale);
+
+ application.SendNotification();
+ application.Render();
+
+ DALI_TEST_EQUALS(newLocale.data(), GetImplementation(multilanguageSupport).GetLocale(), TEST_LOCATION);
+
+ END_TEST;
+}
\ No newline at end of file