/* * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "nweb_value.h" using namespace testing; using namespace testing::ext; using namespace OHOS; namespace OHOS::NWeb { class NWebValueTest : public testing::Test { public: static void SetUpTestCase(void); static void TearDownTestCase(void); void SetUp(); void TearDown(); }; void NWebValueTest::SetUpTestCase(void) {} void NWebValueTest::TearDownTestCase(void) {} void NWebValueTest::SetUp(void) {} void NWebValueTest::TearDown(void) {} /** * @tc.name: NWebValue_BOOLEAN_001 * @tc.desc: Test set and get boolean/type. * @tc.type: FUNC * @tc.require: */ HWTEST_F(NWebValueTest, NWebValue_BOOLEAN_001, TestSize.Level1) { std::shared_ptr nwebValue = std::make_shared(NWebValue::Type::NONE); NWebValue::Type type = nwebValue->GetType(); EXPECT_EQ(NWebValue::Type::NONE, type); nwebValue->SetType(NWebValue::Type::BOOLEAN); nwebValue->SetBoolean(true); bool value = nwebValue->GetBoolean(); type = nwebValue->GetType(); EXPECT_EQ(NWebValue::Type::BOOLEAN, type); EXPECT_TRUE(value); nwebValue->SetBoolean(false); value = nwebValue->GetBoolean(); EXPECT_FALSE(value); } /** * @tc.name: NWebValue_String_001 * @tc.desc: Test set and get string. * @tc.type: FUNC * @tc.require: */ HWTEST_F(NWebValueTest, NWebValue_String_002, TestSize.Level1) { const std::string testData = "Hello,String"; std::shared_ptr nwebValue = std::make_shared(NWebValue::Type::NONE); nwebValue->SetType(NWebValue::Type::STRING); nwebValue->SetString(testData); std::string actual = nwebValue->GetString(); EXPECT_STREQ(testData.c_str(), actual.c_str()); } /** * @tc.name: NWebValue_INT_003 * @tc.desc: Test set and get integer. * @tc.type: FUNC * @tc.require: */ HWTEST_F(NWebValueTest, NWebValue_INT_003, TestSize.Level1) { int testData = 12345; std::shared_ptr nwebValue = std::make_shared(NWebValue::Type::NONE); nwebValue->SetType(NWebValue::Type::INTEGER); nwebValue->SetInt(testData); int actual = nwebValue->GetInt(); EXPECT_EQ(testData, actual); } /** * @tc.name: NWebValue_JsonString_004 * @tc.desc: Test set and get json string. * @tc.type: FUNC * @tc.require: */ HWTEST_F(NWebValueTest, NWebValue_JsonString_004, TestSize.Level1) { std::shared_ptr nwebValue = std::make_shared(NWebValue::Type::NONE); nwebValue->SetType(NWebValue::Type::STRING); const std::string testData = "{\"name\":\"zhangsan\",\"city\":\"hangzhou\"}"; nwebValue->SetJsonString(testData); std::string actual = nwebValue->GetJsonString(); EXPECT_STREQ(testData.c_str(), actual.c_str()); } /** * @tc.name: NWebValue_Double_005 * @tc.desc: Test set and get double. * @tc.type: FUNC * @tc.require: */ HWTEST_F(NWebValueTest, NWebValue_Double_005, TestSize.Level1) { std::shared_ptr nwebValue = std::make_shared(NWebValue::Type::NONE); nwebValue->SetType(NWebValue::Type::DOUBLE); double testData = 1.234567; nwebValue->SetDouble(testData); double actual = nwebValue->GetDouble(); EXPECT_DOUBLE_EQ(testData, actual); nwebValue->IsNone(); nwebValue->IsBoolean(); nwebValue->IsString(); nwebValue->IsDouble(); nwebValue->IsINTEGER(); nwebValue->IsList(); nwebValue->IsDictionary(); nwebValue->IsBinary(); nwebValue->GetListValueSize(); nwebValue->GetListValue(); NWebValue value; nwebValue->AddListValue(value); nwebValue->deleteListValue(); nwebValue->GetDictionaryValueSize(); nwebValue->GetDictionaryValueKeys(); std::string key; nwebValue->HasDictionaryValueKey(key); nwebValue->GetDictionaryValue(); nwebValue->AddDictionaryValue("test", value); nwebValue->DeleteDictionaryValue(key); nwebValue->GetBinaryValueSize(); nwebValue->GetBinaryValue(); nwebValue->validateType(NWebValue::Type::NONE); } } // namespace OHOS::NWeb