fix localization tdd test

Signed-off-by: wuhy_irobot2013 <wuhuayang@huawei.com>
Change-Id: I4cf4c6a65d6ce611d525a7b4d3930f11562e5659
This commit is contained in:
wuhy_irobot2013
2021-09-23 14:47:54 +08:00
parent 1159c624bc
commit 9e0af44567
2 changed files with 19 additions and 4 deletions
@@ -517,7 +517,8 @@ bool CJSONParser::CacheValue(const char *key, cJSON item)
jerry_value_t CJSONParser::GetValueFromFile(const char *key,
jerry_value_t args,
jerry_size_t argsNum,
const char *languageFile)
const char *languageFile,
bool &nullValueFlag)
{
if (languageFile == nullptr || strlen(languageFile) == 0) {
HILOG_ERROR(HILOG_MODULE_ACE, "invalid language file name");
@@ -551,6 +552,7 @@ jerry_value_t CJSONParser::GetValueFromFile(const char *key,
if (value == nullptr) {
HILOG_ERROR(HILOG_MODULE_ACE, "get nullptr value after place holder filling, keyLen[%{public}d]",
strlen(key));
nullValueFlag = true;
break;
}
if (strlen(value) == 0) {
@@ -574,7 +576,12 @@ jerry_value_t CJSONParser::GetValue(const char *key, const jerry_value_t args[],
if (node == nullptr) {
HILOG_ERROR(HILOG_MODULE_ACE, "warning: get value from cache failed, keyLen[%{public}d]", strlen(key));
// no node found from cache, searching from current language file then
jerry_value_t resultFromFile = GetValueFromFile(key, arg, argsNum, languageFile_);
bool nullValueFlag = false;
jerry_value_t resultFromFile = GetValueFromFile(key, arg, argsNum, languageFile_, nullValueFlag);
if (nullValueFlag) {
HILOG_INFO(HILOG_MODULE_ACE, "get undefined value for key[%{public}s]", key);
return resultFromFile;
}
if (!IS_UNDEFINED(resultFromFile) && !IS_ERROR_VALUE(resultFromFile)) {
// found
return resultFromFile;
@@ -582,7 +589,11 @@ jerry_value_t CJSONParser::GetValue(const char *key, const jerry_value_t args[],
jerry_release_value(resultFromFile);
HILOG_ERROR(HILOG_MODULE_ACE, "get error from current language file, try en-US last");
// failed, get from default language file last
resultFromFile = GetValueFromFile(key, arg, argsNum, "en-US.json");
resultFromFile = GetValueFromFile(key, arg, argsNum, "en-US.json", nullValueFlag);
if (nullValueFlag) {
HILOG_INFO(HILOG_MODULE_ACE, "get undefined value for key[%{public}s]", key);
return resultFromFile;
}
if (!IS_UNDEFINED(resultFromFile) && !IS_ERROR_VALUE(resultFromFile)) {
return resultFromFile;
}
@@ -172,7 +172,11 @@ private:
* @param languageFile the target json file name
* @return the js value of target value
*/
jerry_value_t GetValueFromFile(const char *key, jerry_value_t args, jerry_size_t argsNum, const char *languageFile);
jerry_value_t GetValueFromFile(const char *key,
jerry_value_t args,
jerry_size_t argsNum,
const char *languageFile,
bool &nullValueFlag);
/**
* @brief get 4-byte aligned offset