From cf2f40cf77747397900a09c1e49e52fd33584bcf Mon Sep 17 00:00:00 2001 From: Gongyuhang <517563583@qq.com> Date: Mon, 11 Oct 2021 20:14:30 +0800 Subject: [PATCH 1/2] restore ecma_string_test.cpp and fix ecma_string.cpp Signed-off-by: Gongyuhang <517563583@qq.com> --- ecmascript/ecma_string.cpp | 2 +- ecmascript/tests/ecma_string_test.cpp | 27 +++++++++++++++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/ecmascript/ecma_string.cpp b/ecmascript/ecma_string.cpp index 51e300d39f..1cab135aa9 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 0af68978bc..7aa808c08d 100644 --- a/ecmascript/tests/ecma_string_test.cpp +++ b/ecmascript/tests/ecma_string_test.cpp @@ -81,9 +81,9 @@ HWTEST_F_L0(EcmaStringTest, CreateEmptyString) EXPECT_FALSE(ecmaStrEmptyPtr->IsUtf16()); EcmaString::SetCompressedStringsEnabled(false); // Set compressedStringsEnabled false. - EcmaString *ecmaStrEmptyNotCompPtr = EcmaString::CreateEmptyString(ecmaVMPtr); - EXPECT_EQ(ecmaStrEmptyNotCompPtr->GetLength(), 0); - EXPECT_TRUE(ecmaStrEmptyNotCompPtr->IsUtf16()); + EcmaString *ecmaStrEmptyDisableCompPtr = EcmaString::CreateEmptyString(ecmaVMPtr); + EXPECT_EQ(ecmaStrEmptyDisableCompPtr->GetLength(), 0); + EXPECT_TRUE(ecmaStrEmptyDisableCompPtr->IsUtf16()); EcmaString::SetCompressedStringsEnabled(true); // Set compressedStringsEnabled true(default). } @@ -111,7 +111,8 @@ HWTEST_F_L0(EcmaStringTest, AllocStringObject) EXPECT_FALSE(ecmaStrAllocNotCompPtr->IsUtf8()); EXPECT_TRUE(ecmaStrAllocNotCompPtr->IsUtf16()); EcmaString::SetCompressedStringsEnabled(false); // Set compressedStringsEnabled false. - EXPECT_TRUE(ecmaStrAllocNotCompPtr->IsUtf16()); + EcmaString *ecmaStrAllocNotCompDisableCompPtr = EcmaString::AllocStringObject(sizeAllocNotComp, false, ecmaVMPtr); + EXPECT_TRUE(ecmaStrAllocNotCompDisableCompPtr->IsUtf16()); EcmaString::SetCompressedStringsEnabled(true); // Set compressedStringsEnabled true(default). } @@ -151,7 +152,9 @@ HWTEST_F_L0(EcmaStringTest, CreateFromUtf16) EXPECT_FALSE(ecmaStrU16NotCompPtr->IsUtf8()); EXPECT_TRUE(ecmaStrU16NotCompPtr->IsUtf16()); EcmaString::SetCompressedStringsEnabled(false); // Set compressedStringsEnabled false. - EXPECT_TRUE(ecmaStrU16NotCompPtr->IsUtf16()); + EcmaString *ecmaStrU16NotCompDisableCompPtr = EcmaString::CreateFromUtf16(&arrayU16NotComp[0], + lengthEcmaStrU16NotComp, ecmaVMPtr, false); + EXPECT_TRUE(ecmaStrU16NotCompDisableCompPtr->IsUtf16()); EcmaString::SetCompressedStringsEnabled(true); // Set compressedStringsEnabled true(default). } @@ -1244,7 +1247,9 @@ HWTEST_F_L0(EcmaStringTest, GetHashcode_003) EXPECT_EQ(ecmaStrU16NotCompPtr->GetHashcode(), static_cast(hashExpect)); EcmaString::SetCompressedStringsEnabled(false); // Set compressedStringsEnabled false. - EXPECT_EQ(ecmaStrU16NotCompPtr->GetHashcode(), static_cast(hashExpect)); + EcmaString *ecmaStrU16NotCompDisableCompPtr = EcmaString::CreateFromUtf16(&arrayU16NotComp[0], + lengthEcmaStrU16NotComp, ecmaVMPtr, false); + EXPECT_EQ(ecmaStrU16NotCompDisableCompPtr->GetHashcode(), static_cast(hashExpect)); EcmaString::SetCompressedStringsEnabled(true); // Set compressedStringsEnabled true(default). } @@ -1255,6 +1260,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 +1277,10 @@ 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 -- Gitee From 91bca28537f84a078ad2e98931d9ae595590437c Mon Sep 17 00:00:00 2001 From: Gongyuhang <517563583@qq.com> Date: Fri, 15 Oct 2021 17:49:39 +0800 Subject: [PATCH 2/2] add the brackets Signed-off-by: Gongyuhang <517563583@qq.com> --- ecmascript/ecma_string.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ecmascript/ecma_string.cpp b/ecmascript/ecma_string.cpp index 1cab135aa9..797848f2a2 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; -- Gitee