20211222master00

Signed-off-by: guduhanyan <xuyanjun27@163.com>
This commit is contained in:
guduhanyan
2021-12-22 09:34:17 +08:00
parent 3a55ba2fae
commit 1a64bec6ec
5 changed files with 22 additions and 12 deletions
@@ -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
View File
@@ -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",
+1 -1
View File
@@ -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);