diff --git a/ecmascript/ecma_string.cpp b/ecmascript/ecma_string.cpp index 51e300d39fb69724db2b3b805fc4a873eb1984b3..797848f2a24da75b6439241a60c6a7ff96239fbc 100644 --- a/ecmascript/ecma_string.cpp +++ b/ecmascript/ecma_string.cpp @@ -415,7 +415,7 @@ uint32_t EcmaString::ComputeHashcode() const hash = ComputeHashForData(GetDataUtf16(), GetLength()); } } else { - ASSERT(static_cast(GetLength()) > (std::numeric_limits::max() >> 1U)); + ASSERT(static_cast(GetLength()) < (std::numeric_limits::max() >> 1U)); hash = ComputeHashForData(GetDataUtf16(), GetLength()); } return hash; diff --git a/ecmascript/tests/ecma_string_test.cpp b/ecmascript/tests/ecma_string_test.cpp index 0af68978bcf629a01151b0a0ef6ea90d7114d478..aa8360b25ae4b4183e7220802a1e32433d70fe23 100644 --- a/ecmascript/tests/ecma_string_test.cpp +++ b/ecmascript/tests/ecma_string_test.cpp @@ -1255,6 +1255,11 @@ HWTEST_F_L0(EcmaStringTest, GetHashcode_004) // GetHashcode(). EcmaString made by CreateEmptyString(). EcmaString *ecmaStrEmptyPtr = EcmaString::CreateEmptyString(ecmaVMPtr); EXPECT_EQ(ecmaStrEmptyPtr->GetHashcode(), 0); + + EcmaString::SetCompressedStringsEnabled(false); // Set compressedStringsEnabled false. + EcmaString *ecmaStrEmptyDisableCompPtr = EcmaString::CreateEmptyString(ecmaVMPtr); + EXPECT_EQ(ecmaStrEmptyDisableCompPtr->GetHashcode(), 0); + EcmaString::SetCompressedStringsEnabled(true); // Set compressedStringsEnabled true(default). } HWTEST_F_L0(EcmaStringTest, GetHashcode_005) @@ -1267,5 +1272,11 @@ HWTEST_F_L0(EcmaStringTest, GetHashcode_005) EcmaString *ecmaStrAllocNotCompPtr = EcmaString::AllocStringObject(sizeAlloc, false, ecmaVMPtr); EXPECT_EQ(ecmaStrAllocCompPtr->GetHashcode(), 0); EXPECT_EQ(ecmaStrAllocNotCompPtr->GetHashcode(), 0); + + EcmaString::SetCompressedStringsEnabled(false); // Set compressedStringsEnabled false. + EcmaString *ecmaStrAllocNotCompDisableCompPtr = EcmaString::AllocStringObject(sizeAlloc, false, ecmaVMPtr); + EXPECT_EQ(ecmaStrAllocNotCompDisableCompPtr->GetHashcode(), 0); + EcmaString::SetCompressedStringsEnabled(true); // Set compressedStringsEnabled true(default). } } // namespace panda::ecmascript +