diff --git a/ecmascript/tooling/test/BUILD.gn b/ecmascript/tooling/test/BUILD.gn index e8a8f453..f52c491e 100644 --- a/ecmascript/tooling/test/BUILD.gn +++ b/ecmascript/tooling/test/BUILD.gn @@ -179,6 +179,33 @@ host_unittest_action("DebuggerCommandsTest") { } } +host_unittest_action("DebuggerScriptTest") { + module_out_path = module_output_path + + sources = [ + # test file + "debugger_script_test.cpp", + ] + + configs = [ + "//ark/js_runtime:ecma_test_config", + "//ark/js_runtime:ark_jsruntime_public_config", # should add before + # arkruntime_public_config + "//ark/js_runtime:ark_jsruntime_common_config", + "$ark_root/runtime:arkruntime_public_config", + ] + + deps = [ + "$ark_root/libpandabase:libarkbase", + "//ark/js_runtime/ecmascript/tooling:libark_ecma_debugger_test", + sdk_libc_secshared_dep, + ] + + if (!is_standard_system) { + deps += [ "$ark_root/runtime:libarkruntime" ] + } +} + host_unittest_action("DebuggerEventsTest") { module_out_path = module_output_path @@ -246,6 +273,7 @@ group("unittest") { deps = [ ":DebuggerCommandsTest", ":DebuggerEventsTest", + ":DebuggerScriptTest", ":DebuggerTypesTest", ":EcmaDebugApiTest", ] @@ -258,6 +286,7 @@ group("host_unittest") { deps = [ ":DebuggerCommandsTestAction", ":DebuggerEventsTestAction", + ":DebuggerScriptTestAction", ":DebuggerTypesTestAction", ] } diff --git a/ecmascript/tooling/test/debugger_script_test.cpp b/ecmascript/tooling/test/debugger_script_test.cpp new file mode 100644 index 00000000..d4996131 --- /dev/null +++ b/ecmascript/tooling/test/debugger_script_test.cpp @@ -0,0 +1,110 @@ +/* + * Copyright (c) 2021 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 "ecmascript/js_array.h" +#include "ecmascript/js_tagged_value-inl.h" +#include "ecmascript/object_factory.h" +#include "ecmascript/tests/test_helper.h" +#include "ecmascript/tooling/base/pt_params.h" +#include "ecmascript/tooling/base/pt_returns.h" +#include "ecmascript/tooling/debugger_service.h" +#include "ecmascript/tooling/dispatcher.h" +#include "ecmascript/tooling/interface/js_debugger.h" +#include "ecmascript/tooling/base/pt_script.h" + +using namespace panda::ecmascript; +using namespace panda::tooling::ecmascript; +using namespace panda::tooling; + +namespace panda::test { +class DebuggerScriptTest : public testing::Test { +public: + static void SetUpTestCase() + { + GTEST_LOG_(INFO) << "SetUpTestCase"; + } + + static void TearDownTestCase() + { + GTEST_LOG_(INFO) << "TearDownCase"; + } + + void SetUp() override + { + TestHelper::CreateEcmaVMWithScope(instance, thread, scope); + ecmaVm = EcmaVM::Cast(instance); + } + + void TearDown() override + { + TestHelper::DestroyEcmaVMWithScope(ecmaVm, scope); + } + +protected: + EcmaVM *ecmaVm {nullptr}; + PandaVM *instance {nullptr}; + EcmaHandleScope *scope {nullptr}; + JSThread *thread {nullptr}; +}; + +HWTEST_F_L0(DebuggerScriptTest, ScriptIdTest) +{ + std::unique_ptr script = std::make_unique(1, "name_1", "url_1", "source_1"); + script->SetScriptId("id_100"); + ASSERT_EQ(script->GetScriptId(), "id_100"); +} + +HWTEST_F_L0(DebuggerScriptTest, FileNameTest) +{ + std::unique_ptr script = std::make_unique(1, "name_1", "url_1", "source_1"); + script->SetFileName("xx"); + ASSERT_EQ(script->GetFileName(), "xx"); +} + +HWTEST_F_L0(DebuggerScriptTest, UrlTest) +{ + std::unique_ptr script = std::make_unique(1, "name_1", "url_1", "source_1"); + script->SetUrl("121"); + ASSERT_EQ(script->GetUrl(), "121"); +} + +HWTEST_F_L0(DebuggerScriptTest, HashTest) +{ + std::unique_ptr script = std::make_unique(1, "name_1", "url_1", "source_1"); + script->SetHash("111"); + ASSERT_EQ(script->GetHash(), "111"); +} + +HWTEST_F_L0(DebuggerScriptTest, ScriptSourceTest) +{ + std::unique_ptr script = std::make_unique(1, "name_1", "url_1", "source_1"); + script->SetScriptSource("a=1"); + ASSERT_EQ(script->GetScriptSource(), "a=1"); +} + +HWTEST_F_L0(DebuggerScriptTest, SourceMapUrlTest) +{ + std::unique_ptr script = std::make_unique(1, "name_1", "url_1", "source_1"); + script->SetSourceMapUrl("192"); + ASSERT_EQ(script->GetSourceMapUrl(), "192"); +} + +HWTEST_F_L0(DebuggerScriptTest, EndLineTest) +{ + std::unique_ptr script = std::make_unique(1, "name_1", "url_1", "source_1"); + script->SetEndLine(200); + ASSERT_EQ(script->GetEndLine(), 200); +} +} // namespace panda::test \ No newline at end of file diff --git a/test/resource/js_runtime/ohos_test.xml b/test/resource/js_runtime/ohos_test.xml index d9eca3c1..6fdd96c7 100644 --- a/test/resource/js_runtime/ohos_test.xml +++ b/test/resource/js_runtime/ohos_test.xml @@ -26,6 +26,11 @@