mirror of
https://github.com/openharmony/miscservices_time.git
synced 2026-07-19 12:02:04 -04:00
@@ -640,8 +640,12 @@ napi_value JSSystemTimeGetDate(napi_env env, napi_callback_info info)
|
||||
info.callback = asyncContext->callbackRef;
|
||||
info.deferred = asyncContext->deferred;
|
||||
info.errorCode = asyncContext->errorCode;
|
||||
std::string str = "new Date(" + std::to_string(asyncContext->time) + ");";
|
||||
const char *scriptStr = str.c_str();
|
||||
napi_value script = nullptr;
|
||||
napi_create_string_utf8(env, scriptStr, strlen(scriptStr), &script);
|
||||
napi_value result = nullptr;
|
||||
napi_create_date(env, asyncContext->time, &result);
|
||||
napi_run_script(env, script, &result);
|
||||
TimeReturnCallbackPromise(env, info, result);
|
||||
napi_delete_async_work(env, asyncContext->work);
|
||||
if (asyncContext) {
|
||||
|
||||
+2
-4
@@ -29,9 +29,7 @@ config("time_service_config") {
|
||||
}
|
||||
|
||||
ohos_shared_library("time_service") {
|
||||
configs = [
|
||||
"${time_utils_path}:utils_config",
|
||||
]
|
||||
configs = [ "${time_utils_path}:utils_config" ]
|
||||
|
||||
public_configs = [
|
||||
"//utils/native/base:utils_config",
|
||||
@@ -41,13 +39,13 @@ ohos_shared_library("time_service") {
|
||||
|
||||
sources = [
|
||||
"time_manager/src/itimer_info.cpp",
|
||||
"time_manager/src/time_service.cpp",
|
||||
"time_manager/src/time_service_client.cpp",
|
||||
"time_manager/src/time_service_notify.cpp",
|
||||
"time_manager/src/time_service_proxy.cpp",
|
||||
"time_manager/src/time_service_stub.cpp",
|
||||
"time_manager/src/time_tick_notify.cpp",
|
||||
"time_manager/src/time_zone_info.cpp",
|
||||
"time_manager/src/time_service.cpp",
|
||||
"time_manager/src/timer_call_back.cpp",
|
||||
"time_manager/src/timer_call_back_proxy.cpp",
|
||||
"time_manager/src/timer_call_back_stub.cpp",
|
||||
|
||||
@@ -268,7 +268,7 @@ bool TimeService::StartTimer(uint64_t timerId, uint64_t triggerTimes)
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool TimeService::StopTimer(uint64_t timerId)
|
||||
bool TimeService::StopTimer(uint64_t timerId)
|
||||
{
|
||||
if (timerManagerHandler_ == nullptr) {
|
||||
TIME_HILOGE(TIME_MODULE_SERVICE, "Timer manager nullptr.");
|
||||
|
||||
@@ -31,6 +31,9 @@
|
||||
|
||||
namespace OHOS {
|
||||
namespace MiscServices {
|
||||
namespace {
|
||||
constexpr uint64_t NANO_TO_MILESECOND = 100000;
|
||||
}
|
||||
class TimerInfoTest : public ITimerInfo {
|
||||
public:
|
||||
TimerInfoTest();
|
||||
|
||||
@@ -14,12 +14,14 @@
|
||||
*/
|
||||
#include <cstdlib>
|
||||
#include <ctime>
|
||||
#include <chrono>
|
||||
#include "timer_info_test.h"
|
||||
#include "time_service_test.h"
|
||||
|
||||
using namespace testing::ext;
|
||||
using namespace OHOS;
|
||||
using namespace OHOS::MiscServices;
|
||||
using namespace std::chrono;
|
||||
|
||||
class TimeServiceTest : public testing::Test
|
||||
{
|
||||
@@ -220,8 +222,9 @@ HWTEST_F(TimeServiceTest, CreateTimer001, TestSize.Level0)
|
||||
timerInfo->SetCallbackInfo(TimeOutCallback1);
|
||||
auto timerId1 = TimeServiceClient::GetInstance()->CreateTimer(timerInfo);
|
||||
EXPECT_TRUE(timerId1 > 0);
|
||||
|
||||
auto ret = TimeServiceClient::GetInstance()->StartTimer(timerId1, 5);
|
||||
auto BootTimeNano = system_clock::now().time_since_epoch().count();
|
||||
auto BootTimeMilli = BootTimeNano / NANO_TO_MILESECOND;
|
||||
auto ret = TimeServiceClient::GetInstance()->StartTimer(timerId1, BootTimeMilli + 5000);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(6000));
|
||||
EXPECT_TRUE(ret);
|
||||
EXPECT_TRUE(g_data1 == 1);
|
||||
@@ -247,8 +250,9 @@ HWTEST_F(TimeServiceTest, CreateTimer002, TestSize.Level0)
|
||||
timerInfo->SetCallbackInfo(TimeOutCallback1);
|
||||
auto timerId1 = TimeServiceClient::GetInstance()->CreateTimer(timerInfo);
|
||||
EXPECT_TRUE(timerId1 > 0);
|
||||
|
||||
auto ret = TimeServiceClient::GetInstance()->StartTimer(timerId1, 5000);
|
||||
auto BootTimeNano = system_clock::now().time_since_epoch().count();
|
||||
auto BootTimeMilli = BootTimeNano / NANO_TO_MILESECOND;
|
||||
auto ret = TimeServiceClient::GetInstance()->StartTimer(timerId1, BootTimeMilli + 5000);
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(5100));
|
||||
EXPECT_TRUE(ret);
|
||||
EXPECT_TRUE(g_data1 == 1);
|
||||
@@ -316,8 +320,9 @@ HWTEST_F(TimeServiceTest, CreateTimer005, TestSize.Level0)
|
||||
timerInfo->SetCallbackInfo(TimeOutCallback1);
|
||||
auto timerId1 = TimeServiceClient::GetInstance()->CreateTimer(timerInfo);
|
||||
EXPECT_TRUE(timerId1 > 0);
|
||||
|
||||
auto ret = TimeServiceClient::GetInstance()->StartTimer(timerId1, 2000);
|
||||
auto BootTimeNano = system_clock::now().time_since_epoch().count();
|
||||
auto BootTimeMilli = BootTimeNano / NANO_TO_MILESECOND;
|
||||
auto ret = TimeServiceClient::GetInstance()->StartTimer(timerId1, BootTimeMilli + 2000);
|
||||
EXPECT_TRUE(ret);
|
||||
ret = TimeServiceClient::GetInstance()->DestroyTimer(timerId1);
|
||||
EXPECT_TRUE(ret);
|
||||
|
||||
Reference in New Issue
Block a user