From ad7e9eb5acae8fe3345fdabc74e4ae23dce7c486 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Sat, 12 Mar 2022 15:35:58 +0800 Subject: [PATCH] Signed-off-by:hellohyh001 Signed-off-by: hellohyh001 --- .../native/sensor/include/i_sensor_service.h | 5 +- .../include/my_file_descriptor_listener.h | 2 + .../sensor/include/sensor_agent_proxy.h | 1 + .../sensor/include/sensor_client_proxy.h | 5 +- .../sensor/include/sensor_client_stub.h | 3 +- .../sensor/include/sensor_data_channel.h | 1 + .../sensor/include/sensor_service_client.h | 8 +- .../sensor/include/sensor_service_proxy.h | 3 +- .../src/my_file_descriptor_listener.cpp | 17 +- .../native/sensor/src/sensor_agent_proxy.cpp | 23 +- .../native/sensor/src/sensor_data_channel.cpp | 2 +- interfaces/native/include/geomagnetic_field.h | 11 +- interfaces/native/include/sensor_agent_type.h | 12 +- interfaces/native/include/sensor_algorithm.h | 2 +- interfaces/native/src/geomagnetic_field.cpp | 2 +- interfaces/plugin/include/sensor_napi_utils.h | 10 +- interfaces/plugin/src/sensor_js.cpp | 154 +++-- interfaces/plugin/src/sensor_napi_utils.cpp | 36 +- .../plugin/test/ExampleJsunit.test_acc.js | 540 ++++----------- .../plugin/test/ExampleJsunit.test_gyr.js | 614 ------------------ .../plugin/test/ExampleJsunit.test_light.js | 598 ----------------- .../plugin/test/ExampleJsunit.test_mag.js | 614 ------------------ .../test/ExampleJsunit.test_pedometer.js | 599 ----------------- .../test/unittest/ExampleJsunit.test.js | 529 ++++----------- .../adapter/src/compatible_connection.cpp | 17 +- .../adapter/src/hdi_connection.cpp | 12 +- .../adapter/src/sensor_event_callback.cpp | 20 +- .../interface/src/sensor_hdi_connection.cpp | 2 +- services/sensor/include/client_info.h | 3 +- services/sensor/include/fifo_cache_data.h | 4 +- services/sensor/include/flush_info_record.h | 11 +- .../sensor/include/sensor_data_processer.h | 3 +- services/sensor/include/sensor_dump.h | 3 +- services/sensor/include/sensor_service.h | 6 +- .../sensor/include/sensor_service_proxy.h | 3 +- services/sensor/src/sensor_data_processer.cpp | 3 +- services/sensor/src/sensor_dump.cpp | 6 +- utils/include/app_thread_info.h | 2 + utils/include/permission_util.h | 1 + utils/include/report_data_callback.h | 1 + utils/include/sensor.h | 43 +- utils/include/sensor_basic_data_channel.h | 13 +- utils/src/report_data_callback.cpp | 7 +- utils/src/sensor.cpp | 128 ++-- 44 files changed, 642 insertions(+), 3437 deletions(-) mode change 100755 => 100644 frameworks/native/sensor/include/i_sensor_service.h mode change 100755 => 100644 frameworks/native/sensor/include/my_file_descriptor_listener.h mode change 100755 => 100644 frameworks/native/sensor/include/sensor_client_proxy.h mode change 100755 => 100644 frameworks/native/sensor/include/sensor_client_stub.h mode change 100755 => 100644 frameworks/native/sensor/include/sensor_data_channel.h mode change 100755 => 100644 frameworks/native/sensor/include/sensor_service_client.h mode change 100755 => 100644 frameworks/native/sensor/include/sensor_service_proxy.h mode change 100755 => 100644 frameworks/native/sensor/src/my_file_descriptor_listener.cpp mode change 100755 => 100644 frameworks/native/sensor/src/sensor_agent_proxy.cpp mode change 100755 => 100644 frameworks/native/sensor/src/sensor_data_channel.cpp mode change 100755 => 100644 interfaces/native/include/geomagnetic_field.h mode change 100755 => 100644 interfaces/native/src/geomagnetic_field.cpp mode change 100755 => 100644 interfaces/plugin/test/ExampleJsunit.test_acc.js delete mode 100755 interfaces/plugin/test/ExampleJsunit.test_gyr.js delete mode 100755 interfaces/plugin/test/ExampleJsunit.test_light.js delete mode 100755 interfaces/plugin/test/ExampleJsunit.test_mag.js delete mode 100644 interfaces/plugin/test/ExampleJsunit.test_pedometer.js mode change 100755 => 100644 services/sensor/include/fifo_cache_data.h mode change 100755 => 100644 services/sensor/include/sensor_dump.h mode change 100755 => 100644 services/sensor/include/sensor_service_proxy.h mode change 100755 => 100644 services/sensor/src/sensor_dump.cpp mode change 100755 => 100644 utils/include/sensor.h mode change 100755 => 100644 utils/include/sensor_basic_data_channel.h mode change 100755 => 100644 utils/src/sensor.cpp diff --git a/frameworks/native/sensor/include/i_sensor_service.h b/frameworks/native/sensor/include/i_sensor_service.h old mode 100755 new mode 100644 index 4c210e08..0cf519a5 --- a/frameworks/native/sensor/include/i_sensor_service.h +++ b/frameworks/native/sensor/include/i_sensor_service.h @@ -19,10 +19,11 @@ #include #include "errors.h" -#include "i_sensor_client.h" #include "iremote_broker.h" -#include "sensor.h" + +#include "i_sensor_client.h" #include "sensor_basic_data_channel.h" +#include "sensor.h" namespace OHOS { namespace Sensors { diff --git a/frameworks/native/sensor/include/my_file_descriptor_listener.h b/frameworks/native/sensor/include/my_file_descriptor_listener.h old mode 100755 new mode 100644 index a2a5ff7a..36b35e93 --- a/frameworks/native/sensor/include/my_file_descriptor_listener.h +++ b/frameworks/native/sensor/include/my_file_descriptor_listener.h @@ -17,12 +17,14 @@ #define MY_FILE_DESCRIPTOR_LISTENER_H #include + #include #include #include "event_handler.h" #include "event_runner.h" #include "file_descriptor_listener.h" + #include "sensor_agent_type.h" #include "sensor_data_channel.h" diff --git a/frameworks/native/sensor/include/sensor_agent_proxy.h b/frameworks/native/sensor/include/sensor_agent_proxy.h index d39d9b7c..9ca8a8e6 100644 --- a/frameworks/native/sensor/include/sensor_agent_proxy.h +++ b/frameworks/native/sensor/include/sensor_agent_proxy.h @@ -20,6 +20,7 @@ #include #include "refbase.h" + #include "sensor_agent_type.h" #include "sensor_data_channel.h" diff --git a/frameworks/native/sensor/include/sensor_client_proxy.h b/frameworks/native/sensor/include/sensor_client_proxy.h old mode 100755 new mode 100644 index 006c28c3..57424f67 --- a/frameworks/native/sensor/include/sensor_client_proxy.h +++ b/frameworks/native/sensor/include/sensor_client_proxy.h @@ -16,11 +16,12 @@ #ifndef SENSOR_CLIENT_PROXY_H #define SENSOR_CLIENT_PROXY_H -#include "i_sensor_client.h" #include "iremote_proxy.h" -#include "sensor_agent_type.h" #include "nocopyable.h" +#include "i_sensor_client.h" +#include "sensor_agent_type.h" + namespace OHOS { namespace Sensors { class SensorClientProxy : public IRemoteProxy { diff --git a/frameworks/native/sensor/include/sensor_client_stub.h b/frameworks/native/sensor/include/sensor_client_stub.h old mode 100755 new mode 100644 index 39e749d9..f3047157 --- a/frameworks/native/sensor/include/sensor_client_stub.h +++ b/frameworks/native/sensor/include/sensor_client_stub.h @@ -16,10 +16,11 @@ #ifndef SENSOR_CLIENT_STUB_H #define SENSOR_CLIENT_STUB_H -#include "i_sensor_client.h" #include "iremote_stub.h" #include "message_parcel.h" +#include "i_sensor_client.h" + namespace OHOS { namespace Sensors { class SensorClientStub : public IRemoteStub { diff --git a/frameworks/native/sensor/include/sensor_data_channel.h b/frameworks/native/sensor/include/sensor_data_channel.h old mode 100755 new mode 100644 index 2902f914..782c68b4 --- a/frameworks/native/sensor/include/sensor_data_channel.h +++ b/frameworks/native/sensor/include/sensor_data_channel.h @@ -18,6 +18,7 @@ #include #include + #include "sensor_basic_data_channel.h" #include "sensor_agent_type.h" #include "my_event_handler.h" diff --git a/frameworks/native/sensor/include/sensor_service_client.h b/frameworks/native/sensor/include/sensor_service_client.h old mode 100755 new mode 100644 index 304f6637..51888cf8 --- a/frameworks/native/sensor/include/sensor_service_client.h +++ b/frameworks/native/sensor/include/sensor_service_client.h @@ -18,15 +18,17 @@ #include #include + #include "iservice_registry.h" -#include "sensor.h" +#include "singleton.h" + +#include "sensor_agent_type.h" #include "sensor_basic_data_channel.h" #include "sensor_basic_info.h" #include "sensor_client_stub.h" #include "sensor_data_channel.h" +#include "sensor.h" #include "sensor_service_proxy.h" -#include "singleton.h" -#include "sensor_agent_type.h" namespace OHOS { namespace Sensors { diff --git a/frameworks/native/sensor/include/sensor_service_proxy.h b/frameworks/native/sensor/include/sensor_service_proxy.h old mode 100755 new mode 100644 index a694ca2d..2894fbc8 --- a/frameworks/native/sensor/include/sensor_service_proxy.h +++ b/frameworks/native/sensor/include/sensor_service_proxy.h @@ -17,10 +17,11 @@ #define SENSOR_SERVICE_PROXY_H #include "errors.h" -#include "i_sensor_service.h" #include "iremote_proxy.h" #include "nocopyable.h" + #include "sensor_agent_type.h" +#include "i_sensor_service.h" namespace OHOS { namespace Sensors { diff --git a/frameworks/native/sensor/src/my_file_descriptor_listener.cpp b/frameworks/native/sensor/src/my_file_descriptor_listener.cpp old mode 100755 new mode 100644 index a16f79d0..a562164c --- a/frameworks/native/sensor/src/my_file_descriptor_listener.cpp +++ b/frameworks/native/sensor/src/my_file_descriptor_listener.cpp @@ -27,10 +27,14 @@ constexpr int32_t RECEIVE_DATA_SIZE = 100; } // namespace MyFileDescriptorListener::MyFileDescriptorListener() - :channel_(nullptr), - receiveDataBuff_( - new (std::nothrow) TransferSensorEvents[sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE]) -{} +{ + channel_ = nullptr; + receiveDataBuff_ = + new (std::nothrow) TransferSensorEvents[sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE]; + if (receiveDataBuff_ == nullptr) { + HiLog::Error(LABEL, "%{public}s receiveDataBuff_ memory request failed", __func__); + } +} MyFileDescriptorListener::~MyFileDescriptorListener() { @@ -51,12 +55,11 @@ void MyFileDescriptorListener::OnReadable(int32_t fileDescriptor) FileDescriptorListener::OnReadable(fileDescriptor); if (receiveDataBuff_ == nullptr) { - receiveDataBuff_ = - new (std::nothrow) TransferSensorEvents[sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE]; + return; } int32_t len = recv(fileDescriptor, receiveDataBuff_, sizeof(struct TransferSensorEvents) * RECEIVE_DATA_SIZE, 0); - int32_t eventSize = sizeof(struct TransferSensorEvents); + int32_t eventSize = static_cast(sizeof(struct TransferSensorEvents)); while (len > 0) { int32_t num = len / eventSize; for (int i = 0; i < num; i++) { diff --git a/frameworks/native/sensor/src/sensor_agent_proxy.cpp b/frameworks/native/sensor/src/sensor_agent_proxy.cpp old mode 100755 new mode 100644 index 832a34ed..e3a1eebe --- a/frameworks/native/sensor/src/sensor_agent_proxy.cpp +++ b/frameworks/native/sensor/src/sensor_agent_proxy.cpp @@ -323,29 +323,36 @@ int32_t SensorAgentProxy::GetAllSensors(SensorInfo **sensorInfo, int32_t *count) HiLog::Error(LABEL, "%{public}s malloc sensorInfo failed", __func__); return OHOS::Sensors::ERROR; } - for (int32_t index = 0; index < *count; index++) { - errno_t ret = strcpy_s((*sensorInfo + index)->sensorName, SENSOR_NAME_MAX_LEN2, - sensorList_[index].GetName().c_str()); + for (int32_t index = 0; index < *count; ++index) { + errno_t ret = strcpy_s((*sensorInfo + index)->sensorName, NAME_MAX_LEN, + sensorList_[index].GetSensorName().c_str()); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s strcpy sensorName failed", __func__); return OHOS::Sensors::ERROR; } - ret = strcpy_s((*sensorInfo + index)->vendorName, SENSOR_NAME_MAX_LEN2, sensorList_[index].GetVendor().c_str()); + ret = strcpy_s((*sensorInfo + index)->vendorName, NAME_MAX_LEN, + sensorList_[index].GetVendorName().c_str()); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s strcpy vendorName failed", __func__); return OHOS::Sensors::ERROR; } - std::string version = std::to_string(sensorList_[index].GetVersion()); - ret = strcpy_s((*sensorInfo + index)->hardwareVersion, VERSION_MAX_LEN, version.c_str()); + ret = strcpy_s((*sensorInfo + index)->hardwareVersion, VERSION_MAX_LEN, + sensorList_[index].GetHardwareVersion().c_str()); + if (ret != EOK) { + HiLog::Error(LABEL, "%{public}s strcpy hardwareVersion failed", __func__); + return OHOS::Sensors::ERROR; + } + ret = strcpy_s((*sensorInfo + index)->firmwareVersion, VERSION_MAX_LEN, + sensorList_[index].GetFirmwareVersion().c_str()); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s strcpy hardwareVersion failed", __func__); return OHOS::Sensors::ERROR; } (*sensorInfo + index)->sensorId = static_cast(sensorList_[index].GetSensorId()); - (*sensorInfo + index)->sensorTypeId = static_cast(sensorList_[index].GetSensorId()); + (*sensorInfo + index)->sensorTypeId = static_cast(sensorList_[index].GetSensorTypeId()); (*sensorInfo + index)->maxRange = sensorList_[index].GetMaxRange(); (*sensorInfo + index)->precision = sensorList_[index].GetResolution(); - (*sensorInfo + index)->power = 0.0f; + (*sensorInfo + index)->power = sensorList_[index].GetPower(); } return OHOS::Sensors::SUCCESS; } diff --git a/frameworks/native/sensor/src/sensor_data_channel.cpp b/frameworks/native/sensor/src/sensor_data_channel.cpp old mode 100755 new mode 100644 index 2ff8d8b2..01dc93fd --- a/frameworks/native/sensor/src/sensor_data_channel.cpp +++ b/frameworks/native/sensor/src/sensor_data_channel.cpp @@ -41,7 +41,7 @@ namespace { constexpr HiLogLabel LABEL = { LOG_CORE, SensorsLogDomain::SENSOR_NATIVE, "SensorDataChannel" }; // max 100 data in cache buffer constexpr int32_t SENSOR_READ_DATA_SIZE = sizeof(struct SensorEvent) * 100; -const uint32_t STOP_EVENT_ID = 0; +constexpr uint32_t STOP_EVENT_ID = 0; } // namespace SensorDataChannel::SensorDataChannel() diff --git a/interfaces/native/include/geomagnetic_field.h b/interfaces/native/include/geomagnetic_field.h old mode 100755 new mode 100644 index d58584bd..fbd10bf1 --- a/interfaces/native/include/geomagnetic_field.h +++ b/interfaces/native/include/geomagnetic_field.h @@ -16,14 +16,15 @@ #ifndef GEOMAGNETIC_FIELD_H #define GEOMAGNETIC_FIELD_H -#include -#include -#include -#include #include +#include #include +#include #include -#include "iostream" + +#include +#include +#include class GeomagneticField { public: diff --git a/interfaces/native/include/sensor_agent_type.h b/interfaces/native/include/sensor_agent_type.h index 323b2f76..82cafee8 100644 --- a/interfaces/native/include/sensor_agent_type.h +++ b/interfaces/native/include/sensor_agent_type.h @@ -46,9 +46,9 @@ extern "C" { #endif /** Maximum length of the sensor name */ -#ifndef SENSOR_NAME_MAX_LEN2 -#define SENSOR_NAME_MAX_LEN2 48 -#endif /* SENSOR_NAME_MAX_LEN */ +#ifndef NAME_MAX_LEN +#define NAME_MAX_LEN 48 +#endif /* NAME_MAX_LEN */ /** Size of sensor data */ #ifndef SENSOR_USER_DATA_SIZE #define SENSOR_USER_DATA_SIZE 104 @@ -102,8 +102,8 @@ typedef enum SensorTypeId { * @since 5 */ typedef struct SensorInfo { - char sensorName[SENSOR_NAME_MAX_LEN2]; /**< Sensor name */ - char vendorName[SENSOR_NAME_MAX_LEN2]; /**< Sensor vendor */ + char sensorName[NAME_MAX_LEN]; /**< Sensor name */ + char vendorName[NAME_MAX_LEN]; /**< Sensor vendor */ char firmwareVersion[VERSION_MAX_LEN]; /**< Sensor firmware version */ char hardwareVersion[VERSION_MAX_LEN]; /**< Sensor hardware version */ int32_t sensorTypeId; /**< Sensor type ID */ @@ -150,7 +150,7 @@ typedef struct UserData { * @since 5 */ typedef struct SensorUser { - char name[SENSOR_NAME_MAX_LEN2]; /**< Name of the sensor data subscriber */ + char name[NAME_MAX_LEN]; /**< Name of the sensor data subscriber */ RecordSensorCallback callback; /**< Callback for reporting sensor data */ UserData *userData; /**< Reserved field for the sensor data subscriber */ } SensorUser; diff --git a/interfaces/native/include/sensor_algorithm.h b/interfaces/native/include/sensor_algorithm.h index 3a2955bc..4dd157f0 100644 --- a/interfaces/native/include/sensor_algorithm.h +++ b/interfaces/native/include/sensor_algorithm.h @@ -16,7 +16,7 @@ #ifndef SENSOR_ALGORITHM_H #define SENSOR_ALGORITHM_H -#include +#include #include class SensorAlgorithm { diff --git a/interfaces/native/src/geomagnetic_field.cpp b/interfaces/native/src/geomagnetic_field.cpp old mode 100755 new mode 100644 index 05b2b834..fc771391 --- a/interfaces/native/src/geomagnetic_field.cpp +++ b/interfaces/native/src/geomagnetic_field.cpp @@ -181,7 +181,7 @@ void GeomagneticField::getLongitudeTrigonometric() cosMLongitude[0] = 1.0f; sinMLongitude[1] = static_cast(sin(geocentricLongitude)); cosMLongitude[1] = static_cast(cos(geocentricLongitude)); - for (uint32_t index = 2; index < GAUSSIAN_COEFFICIENT_DIMENSION; ++index) { + for (int32_t index = 2; index < GAUSSIAN_COEFFICIENT_DIMENSION; ++index) { int32_t x = index >> 1; sinMLongitude[index] = (sinMLongitude[index - x] * cosMLongitude[x] + cosMLongitude[index - x] * sinMLongitude[x]); diff --git a/interfaces/plugin/include/sensor_napi_utils.h b/interfaces/plugin/include/sensor_napi_utils.h index 47175c7a..24141c14 100644 --- a/interfaces/plugin/include/sensor_napi_utils.h +++ b/interfaces/plugin/include/sensor_napi_utils.h @@ -15,11 +15,13 @@ #ifndef SENSOR_NAPI_UTILS_H #define SENSOR_NAPI_UTILS_H +#include +#include + #include "napi/native_api.h" #include "napi/native_node_api.h" -#include + #include "sensor_agent.h" -#include using std::vector; using std::string; @@ -100,6 +102,8 @@ struct AsyncCallbackInfo { using ConvertDataFunc = void(*)(napi_env env, AsyncCallbackInfo *asyncCallbackInfo, napi_value result[2]); +bool IsNapiValueSame(napi_env env, napi_value lhs, napi_value rhs); + bool IsMatchType(napi_env env, napi_value value, napi_valuetype type); napi_value GetNapiInt32(int32_t number, napi_env env); @@ -110,7 +114,7 @@ bool GetCppBool(napi_value value, napi_env env); void EmitAsyncCallbackWork(AsyncCallbackInfo *async_callback_info); -void EmitUvEventLoop(AsyncCallbackInfo *async_callback_info); +void EmitUvEventLoop(AsyncCallbackInfo **async_callback_info); int64_t GetCppInt64(napi_value value, napi_env env); diff --git a/interfaces/plugin/src/sensor_js.cpp b/interfaces/plugin/src/sensor_js.cpp index e23255e3..02c4c67f 100644 --- a/interfaces/plugin/src/sensor_js.cpp +++ b/interfaces/plugin/src/sensor_js.cpp @@ -40,7 +40,7 @@ using namespace OHOS::HiviewDFX; static constexpr HiLogLabel LABEL = {LOG_CORE, 0xD002708, "SensorJsAPI"}; static std::map g_onceCallbackInfos; -static std::map g_onCallbackInfos; +static std::map> g_onCallbackInfos; static void DataCallbackImpl(SensorEvent *event) { @@ -52,17 +52,19 @@ static void DataCallbackImpl(SensorEvent *event) int32_t sensorTypeId = event->sensorTypeId; float *data = (float *)(event->data); if (g_onCallbackInfos.find(sensorTypeId) != g_onCallbackInfos.end()) { - struct AsyncCallbackInfo *onCallbackInfo = g_onCallbackInfos[sensorTypeId]; - onCallbackInfo->data.sensorData.sensorTypeId = sensorTypeId; - onCallbackInfo->data.sensorData.dataLength = event->dataLen; - onCallbackInfo->data.sensorData.timestamp = event->timestamp; - errno_t ret = memcpy_s(onCallbackInfo->data.sensorData.data, event->dataLen, data, event->dataLen); - if (ret != EOK) { - HiLog::Error(LABEL, "%{public}s copy data failed", __func__); - return; + for (uint32_t i = 0; i < g_onCallbackInfos[sensorTypeId].size(); ++i) { + g_onCallbackInfos[sensorTypeId][i]->data.sensorData.sensorTypeId = sensorTypeId; + g_onCallbackInfos[sensorTypeId][i]->data.sensorData.dataLength = event->dataLen; + g_onCallbackInfos[sensorTypeId][i]->data.sensorData.timestamp = event->timestamp; + errno_t ret = memcpy_s(g_onCallbackInfos[sensorTypeId][i]->data.sensorData.data, + event->dataLen, data, event->dataLen); + if (ret != EOK) { + HiLog::Error(LABEL, "%{public}s copy data failed", __func__); + return; + } + g_onCallbackInfos[sensorTypeId][i]->type = ON_CALLBACK; + EmitUvEventLoop(&g_onCallbackInfos[sensorTypeId][i]); } - onCallbackInfo->type = ON_CALLBACK; - EmitUvEventLoop((struct AsyncCallbackInfo *)(onCallbackInfo)); } if (g_onceCallbackInfos.find(sensorTypeId) == g_onceCallbackInfos.end()) { @@ -79,7 +81,7 @@ static void DataCallbackImpl(SensorEvent *event) return; } onceCallbackInfo->type = ONCE_CALLBACK; - EmitUvEventLoop((struct AsyncCallbackInfo *)(onceCallbackInfo)); + EmitUvEventLoop(&g_onceCallbackInfos[sensorTypeId]); if (g_onCallbackInfos.find(sensorTypeId) == g_onCallbackInfos.end()) { HiLog::Debug(LABEL, "%{public}s no subscription to change sensor data, need to cancel registration", __func__); UnsubscribeSensor(sensorTypeId); @@ -159,9 +161,6 @@ static napi_value Once(napi_env env, napi_callback_info info) int32_t ret = SubscribeSensor(sensorTypeId, 200000000, DataCallbackImpl); if (ret < 0) { HiLog::Error(LABEL, "%{public}s subscribe Sensor failed", __func__); - asyncCallbackInfo->type = FAIL; - asyncCallbackInfo->error.code = ret; - EmitAsyncCallbackWork(asyncCallbackInfo); g_onceCallbackInfos.erase(sensorTypeId); return nullptr; } @@ -170,9 +169,43 @@ static napi_value Once(napi_env env, napi_callback_info info) return nullptr; } +static bool IsSubscribed(napi_env env, int32_t sensorTypeId, napi_value callback) +{ + if (g_onCallbackInfos.find(sensorTypeId) == g_onCallbackInfos.end()) { + return false; + } + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + for (auto callbackInfo : callbackInfos) { + napi_value sensorCallback = nullptr; + napi_get_reference_value(env, callbackInfo->callback[0], &sensorCallback); + if (IsNapiValueSame(env, callback, sensorCallback)) { + return true; + } + } + return false; +} + +static void UpdateCallbackInfos(napi_env env, int32_t sensorTypeId, napi_value callback) +{ + if (IsSubscribed(env, sensorTypeId, callback)) { + HiLog::Debug(LABEL, "%{public}s the callback has been subscribed", __func__); + return; + } + AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo { + .env = env, + .asyncWork = nullptr, + .deferred = nullptr, + .type = ON_CALLBACK, + }; + napi_create_reference(env, callback, 1, &asyncCallbackInfo->callback[0]); + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + callbackInfos.push_back(asyncCallbackInfo); + g_onCallbackInfos[sensorTypeId] = callbackInfos; +} + static napi_value On(napi_env env, napi_callback_info info) { - HiLog::Info(LABEL, "%{public}s in", __func__); + HiLog::Debug(LABEL, "%{public}s in", __func__); size_t argc = 3; napi_value args[3] = { 0 }; napi_value thisVar = nullptr; @@ -188,33 +221,59 @@ static napi_value On(napi_env env, napi_callback_info info) int32_t sensorTypeId = GetCppInt32(args[0], env); int64_t interval = 200000000; if (argc == 3) { - HiLog::Info(LABEL, "%{public}s argc = 3!", __func__); napi_value value = NapiGetNamedProperty(args[2], "interval", env); if (!IsMatchType(env, value, napi_number)) { HiLog::Error(LABEL, "%{public}s argument should be napi_number type!", __func__); return nullptr; } interval = GetCppInt64(value, env); + HiLog::Debug(LABEL, "%{public}s interval is %{public}lld", __func__, interval); } - AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo { - .env = env, - .asyncWork = nullptr, - .deferred = nullptr, - }; - napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); - g_onCallbackInfos[sensorTypeId] = asyncCallbackInfo; int32_t ret = SubscribeSensor(sensorTypeId, interval, DataCallbackImpl); if (ret < 0) { - HiLog::Error(LABEL, "%{public}s subscribeSensor failed", __func__); - asyncCallbackInfo->type = FAIL; - asyncCallbackInfo->error.code = ret; - EmitAsyncCallbackWork(asyncCallbackInfo); - g_onCallbackInfos.erase(sensorTypeId); + HiLog::Error(LABEL, "%{public}s subscribeSensor failed", __func__); + return nullptr; } - HiLog::Info(LABEL, "%{public}s out", __func__); + UpdateCallbackInfos(env, sensorTypeId, args[1]); + HiLog::Debug(LABEL, "%{public}s end", __func__); return nullptr; } +static void RemoveAllCallback(napi_env env, int32_t sensorTypeId) +{ + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + for (auto callbackInfo : callbackInfos) { + napi_delete_reference(env, callbackInfo->callback[0]); + callbackInfo->callback[0] = nullptr; + delete callbackInfo; + callbackInfo = nullptr; + } + g_onCallbackInfos.erase(sensorTypeId); +} + +static uint32_t RemoveCallback(napi_env env, int32_t sensorTypeId, napi_value callback) +{ + std::vector callbackInfos = g_onCallbackInfos[sensorTypeId]; + std::vector::iterator iter; + for (iter = callbackInfos.begin(); iter != callbackInfos.end(); iter++) { + napi_value sensorCallback = nullptr; + napi_get_reference_value(env, (*iter)->callback[0], &sensorCallback); + if (IsNapiValueSame(env, callback, sensorCallback)) { + napi_delete_reference(env, (*iter)->callback[0]); + (*iter)->callback[0] = nullptr; + delete *iter; + *iter = nullptr; + callbackInfos.erase(iter); + if (callbackInfos.empty()) { + g_onCallbackInfos.erase(sensorTypeId); + return 0; + } + } + } + g_onCallbackInfos[sensorTypeId] = callbackInfos; + return callbackInfos.size(); +} + static napi_value Off(napi_env env, napi_callback_info info) { HiLog::Info(LABEL, "%{public}s in", __func__); @@ -222,38 +281,27 @@ static napi_value Off(napi_env env, napi_callback_info info) napi_value args[2] = { 0 }; napi_value thisVar = nullptr; NAPI_CALL(env, napi_get_cb_info(env, info, &argc, args, &thisVar, NULL)); - - if (argc < 1) { + if (argc < 1 || argc > 2 || !IsMatchType(env, args[0], napi_number)) { HiLog::Error(LABEL, "%{public}s Invalid input.", __func__); return nullptr; } - if (!IsMatchType(env, args[0], napi_number) || !IsMatchType(env, args[1], napi_function)) { - HiLog::Error(LABEL, "%{public}s argument is invalid", __func__); + int32_t sensorTypeId = GetCppInt32(args[0], env); + if (g_onCallbackInfos.find(sensorTypeId) == g_onCallbackInfos.end() + || (argc == 2 && !IsSubscribed(env, sensorTypeId, args[1]))) { + HiLog::Error(LABEL, "%{public}s should subscribe first", __func__); return nullptr; } - int32_t sensorTypeId = GetCppInt32(args[0], env); - AsyncCallbackInfo *asyncCallbackInfo = new AsyncCallbackInfo { - .env = env, - .asyncWork = nullptr, - .deferred = nullptr, - }; - napi_create_reference(env, args[1], 1, &asyncCallbackInfo->callback[0]); + if (argc == 2 && RemoveCallback(env, sensorTypeId, args[1]) != 0) { + HiLog::Debug(LABEL, "%{public}s there are other client registrations as well", __func__); + return nullptr; + } + if (argc == 1) { + RemoveAllCallback(env, sensorTypeId); + } int32_t ret = UnsubscribeSensor(sensorTypeId); if (ret < 0) { - asyncCallbackInfo->type = FAIL; - asyncCallbackInfo->error.code = ret; HiLog::Error(LABEL, "%{public}s UnsubscribeSensor failed", __func__); - } else { - HiLog::Error(LABEL, "%{public}s UnsubscribeSensor success", __func__); - asyncCallbackInfo->type = OFF_CALLBACK; - if (g_onCallbackInfos.find(sensorTypeId) != g_onCallbackInfos.end()) { - napi_delete_reference(env, g_onCallbackInfos[sensorTypeId]->callback[0]); - delete g_onCallbackInfos[sensorTypeId]; - g_onCallbackInfos[sensorTypeId] = nullptr; - g_onCallbackInfos.erase(sensorTypeId); - } } - EmitAsyncCallbackWork(asyncCallbackInfo); return nullptr; } diff --git a/interfaces/plugin/src/sensor_napi_utils.cpp b/interfaces/plugin/src/sensor_napi_utils.cpp index 34eb1113..30be30b7 100644 --- a/interfaces/plugin/src/sensor_napi_utils.cpp +++ b/interfaces/plugin/src/sensor_napi_utils.cpp @@ -25,6 +25,13 @@ using namespace OHOS::HiviewDFX; static constexpr HiLogLabel LABEL = {LOG_CORE, 0xD002708, "SensorJsAPI"}; +bool IsNapiValueSame(napi_env env, napi_value lhs, napi_value rhs) +{ + bool result = false; + napi_strict_equals(env, lhs, rhs, &result); + return result; +} + bool IsMatchType(napi_env env, napi_value value, napi_valuetype type) { napi_valuetype paramType = napi_undefined; @@ -143,7 +150,7 @@ std::map> g_sensorAttributeList = { { SENSOR_TYPE_ID_HALL, { "status" } }, { SENSOR_TYPE_ID_PROXIMITY, { "distance" } }, { SENSOR_TYPE_ID_HUMIDITY, { "humidity" } }, - { SENSOR_TYPE_ID_ORIENTATION, { "x", "y", "z" } }, + { SENSOR_TYPE_ID_ORIENTATION, { "alpha", "beta", "gamma" } }, { SENSOR_TYPE_ID_GRAVITY, { "x", "y", "z" } }, { SENSOR_TYPE_ID_LINEAR_ACCELERATION, { "x", "y", "z" } }, { SENSOR_TYPE_ID_ROTATION_VECTOR, { "x", "y", "z", "w" } }, @@ -152,7 +159,7 @@ std::map> g_sensorAttributeList = { { SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, { "x", "y", "z", "biasX", "biasY", "biasZ" } }, { SENSOR_TYPE_ID_SIGNIFICANT_MOTION, { "scalar" } }, { SENSOR_TYPE_ID_PEDOMETER_DETECTION, { "scalar" } }, - { SENSOR_TYPE_ID_PEDOMETER, { "step" } }, + { SENSOR_TYPE_ID_PEDOMETER, { "steps" } }, { SENSOR_TYPE_ID_HEART_RATE, { "heartRate" } }, { SENSOR_TYPE_ID_WEAR_DETECTION, { "value" } }, { SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, { "x", "y", "z", "biasX", "biasY", "biasZ" } } @@ -405,11 +412,15 @@ void EmitAsyncCallbackWork(AsyncCallbackInfo *asyncCallbackInfo) HiLog::Debug(LABEL, "%{public}s end", __func__); } -void EmitUvEventLoop(AsyncCallbackInfo *asyncCallbackInfo) +void EmitUvEventLoop(AsyncCallbackInfo **asyncCallbackInfo) { uv_loop_s *loop(nullptr); - HiLog::Error(LABEL, "%{public}s env: %{public}p", __func__, asyncCallbackInfo->env); - napi_get_uv_event_loop(asyncCallbackInfo->env, &loop); + if (asyncCallbackInfo == nullptr || *asyncCallbackInfo == nullptr + || (*asyncCallbackInfo)->env == nullptr) { + HiLog::Error(LABEL, "%{public}s asyncCallbackInfo is null", __func__); + return; + } + napi_get_uv_event_loop((*asyncCallbackInfo)->env, &loop); if (loop == nullptr) { HiLog::Error(LABEL, "%{public}s loop is null", __func__); return; @@ -421,19 +432,16 @@ void EmitUvEventLoop(AsyncCallbackInfo *asyncCallbackInfo) } work->data = reinterpret_cast(asyncCallbackInfo); uv_queue_work(loop, work, [] (uv_work_t *work) { }, [] (uv_work_t *work, int status) { - AsyncCallbackInfo *asyncCallbackInfo = reinterpret_cast(work->data); - if (asyncCallbackInfo == nullptr) { + AsyncCallbackInfo *asyncCallbackInfo = *reinterpret_cast(work->data); + if (asyncCallbackInfo == nullptr || asyncCallbackInfo->env == nullptr + || asyncCallbackInfo->callback[0] == nullptr) { HiLog::Error(LABEL, "%{public}s asyncCallbackInfo is null", __func__); return; } napi_env env = asyncCallbackInfo->env; - napi_value undefined; + napi_value undefined = nullptr; napi_get_undefined(env, &undefined); - if (asyncCallbackInfo->callback[0] == nullptr) { - HiLog::Error(LABEL, "%{public}s callback is null", __func__); - return; - } - napi_value callback; + napi_value callback = nullptr; napi_get_reference_value(env, asyncCallbackInfo->callback[0], &callback); napi_value callResult = nullptr; napi_value result[2] = {0}; @@ -442,7 +450,7 @@ void EmitUvEventLoop(AsyncCallbackInfo *asyncCallbackInfo) return; } g_convertfuncList[asyncCallbackInfo->type](env, asyncCallbackInfo, result); - napi_call_function(env, undefined, callback, 2, result, &callResult); + napi_call_function(env, undefined, callback, 1, &result[1], &callResult); if (asyncCallbackInfo->type != ON_CALLBACK) { napi_delete_reference(env, asyncCallbackInfo->callback[0]); delete asyncCallbackInfo; diff --git a/interfaces/plugin/test/ExampleJsunit.test_acc.js b/interfaces/plugin/test/ExampleJsunit.test_acc.js old mode 100755 new mode 100644 index 80c0db5d..e863c356 --- a/interfaces/plugin/test/ExampleJsunit.test_acc.js +++ b/interfaces/plugin/test/ExampleJsunit.test_acc.js @@ -17,6 +17,19 @@ import sensor from '@ohos.sensor' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' describe("SensorJsTest", function () { + function callback(data) { + console.info("callback" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + expect(typeof(data.y)).assertEqual("number"); + expect(typeof(data.z)).assertEqual("number"); + } + + function callback2() { + console.info("callback2" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + expect(typeof(data.y)).assertEqual("number"); + expect(typeof(data.z)).assertEqual("number"); + } beforeAll(function() { /* * @tc.setup: setup invoked before all testcases @@ -53,53 +66,11 @@ describe("SensorJsTest", function () { */ it("SensorJsTest001", 0, async function (done) { console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); + sensor.on(1, callback); + setTimeout(()=>{ + sensor.off(1); + done(); + }, 500); }) /* @@ -110,19 +81,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest002", 0, async function (done) { console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest002 on error'); + expect(false).assertTrue(); + done(); } sensor.on(-1, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -133,54 +101,13 @@ describe("SensorJsTest", function () { */ it("SensorJsTest003", 0, async function (done) { console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); + sensor.on(1, callback, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest003 off in---------------------------'); + sensor.off(1); + console.info('----------------------SensorJsTest003 off end---------------------------'); + done(); + }, 500); }) /* @@ -191,8 +118,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest004", 0, function () { console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(1, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); + function onSensorCallback(data) { + console.info('SensorJsTest004 on error'); + expect(false).assertTrue(); + done(); + } + sensor.on(1, onSensorCallback, {'interval': 100000000}, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); console.info('----------------------SensorJsTest004--------------------------- end'); }) @@ -203,21 +138,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1, onceSensorCallback); + sensor.once(1, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -227,19 +152,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onceSensorCallback(data) { + console.info('SensorJsTest006 on error'); + expect(false).assertTrue(); + done(); } sensor.once(-1, onceSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -249,8 +171,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest007", 0, function () { - sensor.once(1, function(){}, 5); - expect(true).assertTrue(); + function onceSensorCallback(data) { + console.info('SensorJsTest007 on error'); + expect(false).assertTrue(); + done(); + } + sensor.once(1, onceSensorCallback, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -260,19 +190,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); + sensor.off(-1, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -282,19 +204,17 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest009 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(1, offCallback); + sensor.on(1, onSensorCallback); + sensor.off(1, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -304,19 +224,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest010 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(1000000, offCallback); + sensor.off(1000000, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -326,19 +243,14 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); + sensor.on(1, callback); + sensor.on(1, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest011 off in---------------------------'); + sensor.off(1); + console.info('----------------------SensorJsTest011 off end---------------------------'); + done(); + }, 1000); }) /* @@ -348,19 +260,15 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); + sensor.on(1, callback); + sensor.on(1, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest012 off in---------------------------'); + sensor.off(1, callback); + sensor.off(1, callback2); + console.info('----------------------SensorJsTest012 off end---------------------------'); + done(); + }, 1000); }) /* @@ -374,7 +282,6 @@ describe("SensorJsTest", function () { expect(true).assertTrue(); }) - /* * @tc.name:SensorJsTest014 * @tc.desc:verify app info is not null @@ -383,74 +290,15 @@ describe("SensorJsTest", function () { */ it("SensorJsTest014", 0, async function (done) { console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); + sensor.on(1, callback, {'interval': 100000000}); + sensor.once(1, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest014 off in---------------------------'); + sensor.off(1, callback); + sensor.off(1, callback2); + console.info('----------------------SensorJsTest014 off end---------------------------'); + done(); + }, 1000); }) /* @@ -461,78 +309,17 @@ describe("SensorJsTest", function () { */ it("SensorJsTest015", 0, async function (done) { console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(1, callback, {'interval': 100000000}); + sensor.on(1, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest015 off in---------------------------'); + sensor.off(1, callback); + sensor.off(1, callback2); + console.info('----------------------SensorJsTest015 off end---------------------------'); + done(); + }, 1000); }) - /* * @tc.name:SensorJsTest016 * @tc.desc:verify app info is not null @@ -541,74 +328,13 @@ describe("SensorJsTest", function () { */ it("SensorJsTest016", 0, async function (done) { console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(1, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(1, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(1, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(1, callback, {'interval': 100000000}); + sensor.on(1, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest016 off in---------------------------'); + sensor.off(1); + console.info('----------------------SensorJsTest016 off end---------------------------'); + done(); + }, 1000); }) }) diff --git a/interfaces/plugin/test/ExampleJsunit.test_gyr.js b/interfaces/plugin/test/ExampleJsunit.test_gyr.js deleted file mode 100755 index 1a5c5ceb..00000000 --- a/interfaces/plugin/test/ExampleJsunit.test_gyr.js +++ /dev/null @@ -1,614 +0,0 @@ -/* - * 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. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(2, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(2, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(2, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(2, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(1000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(2, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(2, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(2, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(2, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/ExampleJsunit.test_light.js b/interfaces/plugin/test/ExampleJsunit.test_light.js deleted file mode 100755 index 8eb7b264..00000000 --- a/interfaces/plugin/test/ExampleJsunit.test_light.js +++ /dev/null @@ -1,598 +0,0 @@ -/* - * 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. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(5, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(5, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(5, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(5, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(2000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(2000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(2000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(5, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(5, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(5, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(5, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success data: ' + data.intensity); - expect(typeof(data.intensity)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/ExampleJsunit.test_mag.js b/interfaces/plugin/test/ExampleJsunit.test_mag.js deleted file mode 100755 index 2c49c761..00000000 --- a/interfaces/plugin/test/ExampleJsunit.test_mag.js +++ /dev/null @@ -1,614 +0,0 @@ -/* - * 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. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(6, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(6, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(6, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(6, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(1000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(6, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(6, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(6, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(6, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success x: ' + data.x + "y: " + data.y + "z: " + data.z); - expect(typeof(data.x)).assertEqual("number"); - expect(typeof(data.y)).assertEqual("number"); - expect(typeof(data.z)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/ExampleJsunit.test_pedometer.js b/interfaces/plugin/test/ExampleJsunit.test_pedometer.js deleted file mode 100644 index 75bce838..00000000 --- a/interfaces/plugin/test/ExampleJsunit.test_pedometer.js +++ /dev/null @@ -1,599 +0,0 @@ -/* - * 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. - */ -import sensor from '@ohos.sensor' - -import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' - -describe("SensorJsTest", function () { - beforeAll(function() { - /* - * @tc.setup: setup invoked before all testcases - */ - console.info('beforeAll caled') - }) - - afterAll(function() { - /* - * @tc.teardown: teardown invoked after all testcases - */ - console.info('afterAll caled') - }) - - beforeEach(function() { - /* - * @tc.setup: setup invoked before each testcases - */ - console.info('beforeEach caled') - }) - - afterEach(function() { - /* - * @tc.teardown: teardown invoked after each testcases - */ - console.info('afterEach caled') - }) - - /* - * @tc.name:SensorJsTest001 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest001", 0, async function (done) { - console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success, step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest002 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest002", 0, async function (done) { - console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(-1, onSensorCallback); - }) - - /* - * @tc.name:SensorJsTest003 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest003", 0, async function (done) { - console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); - }) - - /* - * @tc.name:SensorJsTest004 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest004", 0, function () { - console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(266, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); - console.info('----------------------SensorJsTest004--------------------------- end'); - }) - - /* - * @tc.name:SensorJsTest005 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(266, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest006 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(-1, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest007 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest007", 0, function () { - sensor.once(266, function(){}, 5); - expect(true).assertTrue(); - }) - - /* - * @tc.name:SensorJsTest008 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); - }) - - /* - * @tc.name:SensorJsTest009 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(266, offCallback); - }) - - /* - * @tc.name:SensorJsTest010 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(1000000, offCallback); - }) - - /* - * @tc.name:SensorJsTest011 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); - }) - - /* - * @tc.name:SensorJsTest012 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest012", 0, async function (done) { - function onCallback(error) { - if (error) { - console.info('SensorJsTest012 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, onCallback); - }) - - /* - * @tc.name:SensorJsTest013 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest013", 0, function () { - sensor.off(266, 5); - expect(true).assertTrue(); - }) - - - /* - * @tc.name:SensorJsTest014 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest014", 0, async function (done) { - console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); - }) - - /* - * @tc.name:SensorJsTest015 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest015", 0, async function (done) { - console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) - - - /* - * @tc.name:SensorJsTest016 - * @tc.desc:verify app info is not null - * @tc.type: FUNC - * @tc.require: Issue Number - */ - it("SensorJsTest016", 0, async function (done) { - console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(266, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(266, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(266, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success step: ' + data.step); - expect(typeof(data.step)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); - }) -}) diff --git a/interfaces/plugin/test/unittest/ExampleJsunit.test.js b/interfaces/plugin/test/unittest/ExampleJsunit.test.js index 8889bba6..fdd888d8 100644 --- a/interfaces/plugin/test/unittest/ExampleJsunit.test.js +++ b/interfaces/plugin/test/unittest/ExampleJsunit.test.js @@ -17,32 +17,42 @@ import sensor from '@ohos.sensor' import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' describe("SensorJsTest", function () { + function callback(data) { + console.info("callback" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + } + + function callback2() { + console.info("callback2" + JSON.stringify(data)); + expect(typeof(data.x)).assertEqual("number"); + } + beforeAll(function() { /* * @tc.setup: setup invoked before all testcases */ - console.info('beforeAll caled') + console.info('beforeAll caled') }) afterAll(function() { /* * @tc.teardown: teardown invoked after all testcases */ - console.info('afterAll caled') + console.info('afterAll caled') }) beforeEach(function() { /* * @tc.setup: setup invoked before each testcases */ - console.info('beforeEach caled') + console.info('beforeEach caled') }) afterEach(function() { /* * @tc.teardown: teardown invoked after each testcases */ - console.info('afterEach caled') + console.info('afterEach caled') }) /* @@ -53,51 +63,11 @@ describe("SensorJsTest", function () { */ it("SensorJsTest001", 0, async function (done) { console.info('----------------------SensorJsTest001---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest001 off error'); - expect(false).assertTrue(); - console.info('setTimeout ..start') - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest001 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest001 on success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest001 reject"); - }) - done(); + sensor.on(0, callback); + setTimeout(()=>{ + sensor.off(0); + done(); + }, 500); }) /* @@ -108,19 +78,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest002", 0, async function (done) { console.info('----------------------SensorJsTest002---------------------------'); - function onSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest002 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest002 on error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest002 on error'); + expect(false).assertTrue(); + done(); } sensor.on(-1, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -131,52 +98,13 @@ describe("SensorJsTest", function () { */ it("SensorJsTest003", 0, async function (done) { console.info('----------------------SensorJsTest003---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest003 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest003 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }, 1000) - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest003 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest003 on success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }, {'interval': 200000000}); - }) - - await promise.then(() =>{ - return offPromise(); - }, ()=>{ - console.info("SensorJsTest003 reject"); - }) - done(); + sensor.on(0, callback, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest003 off in---------------------------'); + sensor.off(0); + console.info('----------------------SensorJsTest003 off end---------------------------'); + done(); + }, 500); }) /* @@ -187,8 +115,16 @@ describe("SensorJsTest", function () { */ it("SensorJsTest004", 0, function () { console.info('----------------------SensorJsTest004---------------------------'); - sensor.on(0, function(){}, {'interval': 100000000}, 5); - expect(true).assertTrue(); + function onSensorCallback(data) { + console.info('SensorJsTest004 on error'); + expect(false).assertTrue(); + done(); + } + sensor.on(0, onSensorCallback, {'interval': 100000000}, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); console.info('----------------------SensorJsTest004--------------------------- end'); }) @@ -199,19 +135,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest005", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest005 once error'); - expect(false).assertTrue(); - } else { - console.info('SensorJsTest005 once success'); - expect(typeof(data.x)).assertEqual("number"); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(0, onceSensorCallback); + sensor.once(0, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -221,19 +149,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest006", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest006 on success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest006 on error' + data.x); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onceSensorCallback(data) { + console.info('SensorJsTest006 on error'); + expect(false).assertTrue(); + done(); } sensor.once(-1, onceSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -243,8 +168,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest007", 0, function () { - sensor.once(0, function(){}, 5); - expect(true).assertTrue(); + function onceSensorCallback(data) { + console.info('SensorJsTest007 on error'); + expect(false).assertTrue(); + done(); + } + sensor.once(0, onceSensorCallback, 5); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -254,19 +187,11 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest008", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest008 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest008 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.off(-1, offCallback); + sensor.off(-1, callback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -276,19 +201,17 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest009", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest009 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest009 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest009 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(0, offCallback); + sensor.on(0, onSensorCallback); + sensor.off(0, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -298,19 +221,16 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest010", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest010 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest010 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); + function onSensorCallback(data) { + console.info('SensorJsTest010 on error'); + expect(false).assertTrue(); + done(); } - sensor.off(1000000, offCallback); + sensor.off(1000000, onSensorCallback); + setTimeout(()=>{ + expect(true).assertTrue(); + done(); + }, 500); }) /* @@ -320,19 +240,14 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest011", 0, async function (done) { - function onceSensorCallback(error, data) { - if (error) { - console.info('SensorJsTest011 once success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest011 once error' + data.x); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.once(1000000, onceSensorCallback); + sensor.on(0, callback); + sensor.on(0, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest011 off in---------------------------'); + sensor.off(0); + console.info('----------------------SensorJsTest011 off end---------------------------'); + done(); + }, 1000); }) /* @@ -342,19 +257,15 @@ describe("SensorJsTest", function () { * @tc.require: Issue Number */ it("SensorJsTest012", 0, async function (done) { - function offCallback(error) { - if (error) { - console.info('SensorJsTest012 off success'); - expect(true).assertTrue(); - } else { - console.info('SensorJsTest012 off error'); - expect(false).assertTrue(); - } - setTimeout(()=>{ - done(); - }, 500); - } - sensor.on(1000000, offCallback); + sensor.on(0, callback); + sensor.on(0, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest012 off in---------------------------'); + sensor.off(0, callback); + sensor.off(0, callback2); + console.info('----------------------SensorJsTest012 off end---------------------------'); + done(); + }, 1000); }) /* @@ -368,7 +279,6 @@ describe("SensorJsTest", function () { expect(true).assertTrue(); }) - /* * @tc.name:SensorJsTest014 * @tc.desc:verify app info is not null @@ -377,72 +287,15 @@ describe("SensorJsTest", function () { */ it("SensorJsTest014", 0, async function (done) { console.info('----------------------SensorJsTest014---------------------------'); - function offPromise2() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest014 off2 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - reject() - }, 500); - } else { - console.info('SensorJsTest014 off2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - resolve() - }, 500); - } - }); - }) - } - - function offPromise1() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest014 off1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 off1 success'); - expect(true).assertTrue(); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let promise = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest014 on error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest014 on success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await promise.then(() =>{ - return offPromise1(); - }).then(()=>{ - return offPromise2(); - }); - done(); + sensor.on(0, callback, {'interval': 100000000}); + sensor.once(0, callback2); + setTimeout(()=>{ + console.info('----------------------SensorJsTest014 off in---------------------------'); + sensor.off(0, callback); + sensor.off(0, callback2); + console.info('----------------------SensorJsTest014 off end---------------------------'); + done(); + }, 1000); }) /* @@ -453,74 +306,17 @@ describe("SensorJsTest", function () { */ it("SensorJsTest015", 0, async function (done) { console.info('----------------------SensorJsTest015---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest015 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest015 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function onPromise2() { - return new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest015 on2 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on2 success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest015 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest015 on1 success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return onPromise2(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(0, callback, {'interval': 100000000}); + sensor.on(0, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest015 off in---------------------------'); + sensor.off(0, callback); + sensor.off(0, callback2); + console.info('----------------------SensorJsTest015 off end---------------------------'); + done(); + }, 1000); }) - /* * @tc.name:SensorJsTest016 * @tc.desc:verify app info is not null @@ -529,71 +325,14 @@ describe("SensorJsTest", function () { */ it("SensorJsTest016", 0, async function (done) { console.info('----------------------SensorJsTest016---------------------------'); - function offPromise() { - return new Promise((resolve, reject) => { - sensor.off(0, (error) =>{ - if(error) { - console.info('SensorJsTest016 off error'); - expect(false).assertTrue(); - setTimeout(()=>{ - done(); - reject(); - }, 500); - } else { - console.info('SensorJsTest016 off success'); - expect(true).assertTrue(); - setTimeout(()=>{ - done(); - resolve(); - }, 500); - } - }); - }) - } - function oncePromise() { - return new Promise((resolve, reject) => { - sensor.once(0, function(error, data) { - if (error) { - console.info('SensorJsTest016 once error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 once success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - } - - let onPromise1 = new Promise((resolve, reject) => { - sensor.on(0, function(error, data) { - if (error) { - console.info('SensorJsTest016 on1 error'); - expect(false).assertTrue(); - setTimeout(()=>{ - reject(); - }, 500); - } else { - console.info('SensorJsTest016 on1 success'); - expect(typeof(data.x)).assertEqual("number"); - setTimeout(()=>{ - resolve(); - }, 500); - } - }); - }) - - await onPromise1.then(() =>{ - return oncePromise(); - }).then(()=>{ - return offPromise(); - }); - done(); + sensor.on(0, callback, {'interval': 100000000}); + sensor.on(0, callback2, {'interval': 100000000}); + setTimeout(()=>{ + console.info('----------------------SensorJsTest016 off in---------------------------'); + sensor.off(0); + console.info('----------------------SensorJsTest016 off end---------------------------'); + done(); + }, 1000); }) let GEOMAGNETIC_COMPONENT_YEAR_RESULT = [ diff --git a/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp b/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp index 05c4999c..a3d95b9d 100644 --- a/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp +++ b/services/sensor/hdi_connection/adapter/src/compatible_connection.cpp @@ -47,13 +47,20 @@ int32_t CompatibleConnection::GetSensorList(std::vector& sensorList) for (int32_t i = 0; i < static_cast(sensorInfos.size()); i++) { const std::string sensorName(sensorInfos[i].sensorName); const std::string vendorName(sensorInfos[i].vendorName); + const std::string firmwareVersion(sensorInfos[i].firmwareVersion); + const std::string hardwareVersion(sensorInfos[i].hardwareVersion); const int32_t sensorId = sensorInfos[i].sensorId; const float maxRange = sensorInfos[i].maxRange; Sensor sensor; sensor.SetSensorId(sensorId); + sensor.SetSensorTypeId(sensorId); + sensor.SetFirmwareVersion(firmwareVersion.c_str()); + sensor.SetHardwareVersion(hardwareVersion.c_str()); sensor.SetMaxRange(maxRange); - sensor.SetName(sensorName.c_str()); - sensor.SetVendor(vendorName.c_str()); + sensor.SetSensorName(sensorName.c_str()); + sensor.SetVendorName(vendorName.c_str()); + sensor.SetResolution(sensorInfos[i].accuracy); + sensor.SetPower(sensorInfos[i].power); sensorList.push_back(sensor); } return ERR_OK; @@ -116,13 +123,11 @@ int32_t CompatibleConnection::SetOption(int32_t sensorId, int32_t option) int32_t CompatibleConnection::SensorDataCallback(const struct SensorEvents *event) { - HiLog::Debug(LABEL, "%{public}s begin", __func__); if ((event == nullptr) || (event->dataLen == 0)) { HiLog::Error(LABEL, "%{public}s event is NULL", __func__); return ERR_INVALID_VALUE; } - - if (reportDataCb_ == nullptr) { + if (reportDataCb_ == nullptr || reportDataCallback_ == nullptr) { HiLog::Error(LABEL, "%{public}s reportDataCb_ cannot be null", __func__); return ERR_NO_INIT; } @@ -139,9 +144,9 @@ int32_t CompatibleConnection::SensorDataCallback(const struct SensorEvents *even errno_t ret = memcpy_s(sensorEvent.data, event->dataLen, event->data, event->dataLen); if (ret != EOK) { HiLog::Error(LABEL, "%{public}s copy data failed", __func__); + delete[] sensorEvent.data; return COPY_ERR; } - (void)(reportDataCallback_->*reportDataCb_)(&sensorEvent, reportDataCallback_); ISensorHdiConnection::dataCondition_.notify_one(); return ERR_OK; diff --git a/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp b/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp index f16b3f20..bc9c43cc 100644 --- a/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp +++ b/services/sensor/hdi_connection/adapter/src/hdi_connection.cpp @@ -82,13 +82,20 @@ int32_t HdiConnection::GetSensorList(std::vector& sensorList) for (int32_t i = 0; i < static_cast(sensorInfos.size()); i++) { const std::string sensorName(sensorInfos[i].sensorName); const std::string vendorName(sensorInfos[i].vendorName); + const std::string firmwareVersion(sensorInfos[i].firmwareVersion); + const std::string hardwareVersion(sensorInfos[i].hardwareVersion); const int32_t sensorId = sensorInfos[i].sensorId; const float maxRange = sensorInfos[i].maxRange; Sensor sensor; sensor.SetSensorId(sensorId); + sensor.SetSensorTypeId(sensorId); + sensor.SetFirmwareVersion(firmwareVersion.c_str()); + sensor.SetHardwareVersion(hardwareVersion.c_str()); sensor.SetMaxRange(maxRange); - sensor.SetName(sensorName.c_str()); - sensor.SetVendor(vendorName.c_str()); + sensor.SetSensorName(sensorName.c_str()); + sensor.SetVendorName(vendorName.c_str()); + sensor.SetResolution(sensorInfos[i].accuracy); + sensor.SetPower(sensorInfos[i].power); sensorList.push_back(sensor); } return ERR_OK; @@ -241,6 +248,7 @@ void HdiConnection::setSensorBasicInfoState(int32_t sensorId, SensorState state) auto it = sensorBasicInfoMap_.find(sensorId); if (it == sensorBasicInfoMap_.end()) { HiLog::Warn(LABEL, "%{public}s should set batch first", __func__); + return; } sensorBasicInfoMap_[sensorId].SetSensorState(state); } diff --git a/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp b/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp index ce7036e7..0c3d7c88 100644 --- a/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp +++ b/services/sensor/hdi_connection/adapter/src/sensor_event_callback.cpp @@ -27,7 +27,17 @@ std::unique_ptr HdiConnection_ = std::make_unique( } int32_t SensorEventCallback::OnDataEvent(const HdfSensorEvents& event) { - HiLog::Debug(LABEL, "%{public}s begin", __func__); + ZReportDataCb reportDataCb_ = HdiConnection_->getReportDataCb(); + sptr reportDataCallback_ = HdiConnection_->getReportDataCallback(); + if (reportDataCb_ == nullptr || reportDataCallback_ == nullptr) { + HiLog::Error(LABEL, "%{public}s reportDataCb_ or reportDataCallback_ cannot be null", __func__); + return ERR_NO_INIT; + } + int32_t dataSize = static_cast(event.data.size()); + if (dataSize == 0) { + HiLog::Error(LABEL, "%{public}s data is empty", __func__); + return ERR_INVALID_VALUE; + } struct SensorEvent sensorEvent = { .sensorTypeId = event.sensorId, .version = event.version, @@ -37,15 +47,9 @@ int32_t SensorEventCallback::OnDataEvent(const HdfSensorEvents& event) .dataLen = event.dataLen }; sensorEvent.data = new uint8_t[SENSOR_DATA_LENGHT]; - for (int32_t i = 0; i < static_cast(event.data.size()); i++) { + for (int32_t i = 0; i < static_cast(dataSize); i++) { sensorEvent.data[i] = event.data[i]; } - ZReportDataCb reportDataCb_ = HdiConnection_->getReportDataCb(); - sptr reportDataCallback_ = HdiConnection_->getReportDataCallback(); - if (reportDataCb_ == nullptr || reportDataCallback_ == nullptr) { - HiLog::Error(LABEL, "%{public}s reportDataCb_ cannot be null", __func__); - return ERR_NO_INIT; - } (void)(reportDataCallback_->*(reportDataCb_))(&sensorEvent, reportDataCallback_); ISensorHdiConnection::dataCondition_.notify_one(); return ERR_OK; diff --git a/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp b/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp index 2384713d..78e63162 100644 --- a/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp +++ b/services/sensor/hdi_connection/interface/src/sensor_hdi_connection.cpp @@ -138,7 +138,7 @@ int32_t SensorHdiConnection::DestroyHdiConnection() { int32_t ret = iSensorHdiConnection_->DestroyHdiConnection(); if (ret != 0) { - HiLog::Info(LABEL, "%{public}s destroy hdi connectionr failed", __func__); + HiLog::Info(LABEL, "%{public}s destroy hdi connection failed", __func__); return DEVICE_ERR; } return ret; diff --git a/services/sensor/include/client_info.h b/services/sensor/include/client_info.h index ef42b728..61fee175 100644 --- a/services/sensor/include/client_info.h +++ b/services/sensor/include/client_info.h @@ -25,9 +25,10 @@ #include "singleton.h" #include "accesstoken_kit.h" -#include "app_thread_info.h" #include "iremote_object.h" #include "nocopyable.h" + +#include "app_thread_info.h" #include "sensor_basic_data_channel.h" #include "sensor_basic_info.h" #include "sensor_channel_info.h" diff --git a/services/sensor/include/fifo_cache_data.h b/services/sensor/include/fifo_cache_data.h old mode 100755 new mode 100644 index 89e4b5eb..22d25798 --- a/services/sensor/include/fifo_cache_data.h +++ b/services/sensor/include/fifo_cache_data.h @@ -19,11 +19,11 @@ #include #include "refbase.h" +#include "nocopyable.h" + #include "sensor_agent_type.h" #include "sensor_basic_data_channel.h" -#include "nocopyable.h" - namespace OHOS { namespace Sensors { class FifoCacheData : public RefBase { diff --git a/services/sensor/include/flush_info_record.h b/services/sensor/include/flush_info_record.h index 2b074c00..eb26b745 100644 --- a/services/sensor/include/flush_info_record.h +++ b/services/sensor/include/flush_info_record.h @@ -20,14 +20,15 @@ #include #include -#include "client_info.h" +#include "nocopyable.h" #include "refbase.h" -#include "sensor_basic_data_channel.h" -#include "sensor_hdi_connection.h" -#include "sensors_errors.h" #include "singleton.h" -#include "nocopyable.h" + +#include "client_info.h" #include "sensor_agent_type.h" +#include "sensor_basic_data_channel.h" +#include "sensors_errors.h" +#include "sensor_hdi_connection.h" namespace OHOS { namespace Sensors { diff --git a/services/sensor/include/sensor_data_processer.h b/services/sensor/include/sensor_data_processer.h index a4daddff..40816c74 100644 --- a/services/sensor/include/sensor_data_processer.h +++ b/services/sensor/include/sensor_data_processer.h @@ -21,10 +21,11 @@ #include "refbase.h" +#include "nocopyable.h" + #include "client_info.h" #include "fifo_cache_data.h" #include "flush_info_record.h" -#include "nocopyable.h" #include "report_data_callback.h" #include "sensor.h" #include "sensors_log_domain.h" diff --git a/services/sensor/include/sensor_dump.h b/services/sensor/include/sensor_dump.h old mode 100755 new mode 100644 index bdce9041..310a21bf --- a/services/sensor/include/sensor_dump.h +++ b/services/sensor/include/sensor_dump.h @@ -20,9 +20,10 @@ #include "singleton.h" +#include "nocopyable.h" + #include "client_info.h" #include "sensor.h" -#include "nocopyable.h" #include "sensor_agent_type.h" namespace OHOS { diff --git a/services/sensor/include/sensor_service.h b/services/sensor/include/sensor_service.h index a6be0bd2..95b0f40a 100644 --- a/services/sensor/include/sensor_service.h +++ b/services/sensor/include/sensor_service.h @@ -20,14 +20,16 @@ #include #include + +#include "nocopyable.h" +#include "system_ability.h" + #include "client_info.h" #include "death_recipient_template.h" -#include "nocopyable.h" #include "sensor_agent_type.h" #include "sensor_hdi_connection.h" #include "sensor_manager.h" #include "sensor_service_stub.h" -#include "system_ability.h" namespace OHOS { namespace Sensors { diff --git a/services/sensor/include/sensor_service_proxy.h b/services/sensor/include/sensor_service_proxy.h old mode 100755 new mode 100644 index a694ca2d..8c69e6f4 --- a/services/sensor/include/sensor_service_proxy.h +++ b/services/sensor/include/sensor_service_proxy.h @@ -17,9 +17,10 @@ #define SENSOR_SERVICE_PROXY_H #include "errors.h" -#include "i_sensor_service.h" #include "iremote_proxy.h" #include "nocopyable.h" + +#include "i_sensor_service.h" #include "sensor_agent_type.h" namespace OHOS { diff --git a/services/sensor/src/sensor_data_processer.cpp b/services/sensor/src/sensor_data_processer.cpp index e60040d7..044b7364 100644 --- a/services/sensor/src/sensor_data_processer.cpp +++ b/services/sensor/src/sensor_data_processer.cpp @@ -373,8 +373,7 @@ int32_t SensorDataProcesser::ProcessEvents(sptr dataCallback int32_t eventNum = eventsBuf.eventNum; for (int32_t i = 0; i < eventNum; i++) { EventFilter(eventsBuf); - delete eventsBuf.circularBuf[eventsBuf.readPosition].data; - eventsBuf.circularBuf[eventsBuf.readPosition].data = nullptr; + delete[] eventsBuf.circularBuf[eventsBuf.readPosition].data; eventsBuf.readPosition++; if (eventsBuf.readPosition == CIRCULAR_BUF_LEN) { eventsBuf.readPosition = 0; diff --git a/services/sensor/src/sensor_dump.cpp b/services/sensor/src/sensor_dump.cpp old mode 100755 new mode 100644 index 1d04e2dd..6ef5503a --- a/services/sensor/src/sensor_dump.cpp +++ b/services/sensor/src/sensor_dump.cpp @@ -143,9 +143,9 @@ bool SensorDump::DumpSensorList(int32_t fd, const std::vector &sensors, for (const auto &sensor : sensors) { auto sensorId = sensor.GetSensorId(); dprintf(fd, - "sensorId:%8u | sensorType:%s | name:%s | vendor:%s | maxRange:%f | fifoMaxEventCount:%d " - "| minSamplePeriodNs:%lld | maxSamplePeriodNs:%lld\n", - sensorId, sensorMap_[sensorId].c_str(), sensor.GetName().c_str(), sensor.GetVendor().c_str(), + "sensorId:%8u | sensorType:%s | sensorName:%s | vendorName:%s | maxRange:%f" + "| fifoMaxEventCount:%d | minSamplePeriodNs:%lld | maxSamplePeriodNs:%lld\n", + sensorId, sensorMap_[sensorId].c_str(), sensor.GetSensorName().c_str(), sensor.GetVendorName().c_str(), sensor.GetMaxRange(), sensor.GetFifoMaxEventCount(), (long long) { sensor.GetMinSamplePeriodNs() }, (long long) { sensor.GetMaxSamplePeriodNs() }); } diff --git a/utils/include/app_thread_info.h b/utils/include/app_thread_info.h index 9a897de9..5a8c11fc 100644 --- a/utils/include/app_thread_info.h +++ b/utils/include/app_thread_info.h @@ -15,7 +15,9 @@ #ifndef APP_THREAD_INFO_H #define APP_THREAD_INFO_H + #include "accesstoken_kit.h" + namespace OHOS { namespace Sensors { using Security::AccessToken::AccessTokenID; diff --git a/utils/include/permission_util.h b/utils/include/permission_util.h index a68658c6..a4084597 100644 --- a/utils/include/permission_util.h +++ b/utils/include/permission_util.h @@ -18,6 +18,7 @@ #include #include + #include "accesstoken_kit.h" #include "singleton.h" diff --git a/utils/include/report_data_callback.h b/utils/include/report_data_callback.h index 2ede0bac..a1b7a297 100644 --- a/utils/include/report_data_callback.h +++ b/utils/include/report_data_callback.h @@ -19,6 +19,7 @@ #include #include "refbase.h" + #include "sensor_agent_type.h" namespace OHOS { diff --git a/utils/include/sensor.h b/utils/include/sensor.h old mode 100755 new mode 100644 index 5e86c073..7d139cf1 --- a/utils/include/sensor.h +++ b/utils/include/sensor.h @@ -29,42 +29,61 @@ public: virtual ~Sensor() = default; uint32_t GetSensorId() const; void SetSensorId(uint32_t sensorId); - std::string GetName() const; - void SetName(const std::string &name); - std::string GetVendor() const; - void SetVendor(const std::string &vendor); - uint32_t GetVersion() const; - void SetVersion(uint32_t version); + + uint32_t GetSensorTypeId() const; + void SetSensorTypeId(uint32_t sensorTypeId); + + std::string GetSensorName() const; + void SetSensorName(const std::string &sensorName); + + std::string GetVendorName() const; + void SetVendorName(const std::string &vendorName); + + std::string GetHardwareVersion() const; + void SetHardwareVersion(const std::string &hardwareVersion); + + std::string GetFirmwareVersion() const; + void SetFirmwareVersion(const std::string &firmwareVersion); + float GetMaxRange() const; void SetMaxRange(float maxRange); + float GetResolution() const; void SetResolution(float resolution); + + float GetPower() const; + void SetPower(float power); + uint32_t GetFlags() const; void SetFlags(uint32_t flags); + int32_t GetFifoMaxEventCount() const; void SetFifoMaxEventCount(int32_t fifoMaxEventCount); + int64_t GetMinSamplePeriodNs() const; void SetMinSamplePeriodNs(int64_t minSamplePeriodNs); + int64_t GetMaxSamplePeriodNs() const; void SetMaxSamplePeriodNs(int64_t maxSamplePeriodNs); - std::vector GetReserved() const; - void SetReserved(const std::vector &reserved); + bool ReadFromParcel(Parcel &parcel); static std::unique_ptr Unmarshalling(Parcel &parcel); virtual bool Marshalling(Parcel &parcel) const override; private: uint32_t sensorId_; - std::string name_; - std::string vendor_; - uint32_t version_; + uint32_t sensorTypeId_; + std::string sensorName_; + std::string vendorName_; + std::string firmwareVersion_; + std::string hardwareVersion_; float maxRange_; float resolution_; + float power_; uint32_t flags_; int32_t fifoMaxEventCount_; int64_t minSamplePeriodNs_; int64_t maxSamplePeriodNs_; - std::vector reserved_; }; } // namespace Sensors } // namespace OHOS diff --git a/utils/include/sensor_basic_data_channel.h b/utils/include/sensor_basic_data_channel.h old mode 100755 new mode 100644 index 2507a8fb..1ce789b0 --- a/utils/include/sensor_basic_data_channel.h +++ b/utils/include/sensor_basic_data_channel.h @@ -21,6 +21,7 @@ #include "message_parcel.h" #include "refbase.h" + #include "sensor_agent_type.h" namespace OHOS { @@ -28,12 +29,12 @@ namespace Sensors { constexpr int32_t INVALID_FD = -1; constexpr int32_t SENSOR_MAX_LENGTH = 64; struct TransferSensorEvents { - uint32_t sensorTypeId; /**< Sensor type ID */ - int32_t version; /**< Sensor algorithm version */ - int64_t timestamp; /**< Time when sensor data was reported */ - int32_t option; /**< Sensor data options, including the measurement range and accuracy */ - int32_t mode; /**< Sensor data reporting mode (described in {@link SensorMode}) */ - uint32_t dataLen; /**< Sensor data length */ + uint32_t sensorTypeId; + int32_t version; + int64_t timestamp; + int32_t option; + int32_t mode; + uint32_t dataLen; uint8_t data[SENSOR_MAX_LENGTH]; }; class SensorBasicDataChannel : public RefBase { diff --git a/utils/src/report_data_callback.cpp b/utils/src/report_data_callback.cpp index 513de8e9..719e76cc 100644 --- a/utils/src/report_data_callback.cpp +++ b/utils/src/report_data_callback.cpp @@ -53,8 +53,13 @@ ReportDataCallback::~ReportDataCallback() int32_t ReportDataCallback::ZReportDataCallback(const struct SensorEvent* event, sptr cb) { - if (cb == nullptr || cb->eventsBuf_.circularBuf == nullptr || event == nullptr) { + if (event == nullptr) { + HiLog::Error(LABEL, "%{public}s sensor data is null", __func__); + return ERROR; + } + if (cb == nullptr || cb->eventsBuf_.circularBuf == nullptr) { HiLog::Error(LABEL, "%{public}s callback or circularBuf or event cannot be null", __func__); + delete[] event->data; return ERROR; } int32_t leftSize = CIRCULAR_BUF_LEN - cb->eventsBuf_.eventNum; diff --git a/utils/src/sensor.cpp b/utils/src/sensor.cpp old mode 100755 new mode 100644 index 84e4129e..e5f59806 --- a/utils/src/sensor.cpp +++ b/utils/src/sensor.cpp @@ -27,9 +27,14 @@ constexpr HiLogLabel LABEL = { LOG_CORE, SensorsLogDomain::SENSOR_UTILS, "Sensor Sensor::Sensor() : sensorId_(0), - version_(0), + sensorTypeId_(0), + sensorName_(""), + vendorName_(""), + firmwareVersion_(""), + hardwareVersion_(""), maxRange_(0.0), resolution_(0.0), + power_(0.0), flags_(0), fifoMaxEventCount_(0), minSamplePeriodNs_(0), @@ -46,34 +51,54 @@ void Sensor::SetSensorId(uint32_t sensorId) sensorId_ = sensorId; } -std::string Sensor::GetName() const +uint32_t Sensor::GetSensorTypeId() const { - return name_; + return sensorTypeId_; } -void Sensor::SetName(const std::string &name) +void Sensor::SetSensorTypeId(uint32_t sensorTypeId) { - name_ = name; + sensorTypeId_ = sensorTypeId; } -std::string Sensor::GetVendor() const +std::string Sensor::GetSensorName() const { - return vendor_; + return sensorName_; } -void Sensor::SetVendor(const std::string &vendor) +void Sensor::SetSensorName(const std::string &sensorName) { - vendor_ = vendor; + sensorName_ = sensorName; } -uint32_t Sensor::GetVersion() const +std::string Sensor::GetVendorName() const { - return version_; + return vendorName_; } -void Sensor::SetVersion(uint32_t version) +void Sensor::SetVendorName(const std::string &vendorName) { - version_ = version; + vendorName_ = vendorName; +} + +std::string Sensor::GetHardwareVersion() const +{ + return hardwareVersion_; +} + +void Sensor::SetHardwareVersion(const std::string &hardwareVersion) +{ + hardwareVersion_ = hardwareVersion; +} + +std::string Sensor::GetFirmwareVersion() const +{ + return firmwareVersion_; +} + +void Sensor::SetFirmwareVersion(const std::string &firmwareVersion) +{ + firmwareVersion_ = firmwareVersion; } float Sensor::GetMaxRange() const @@ -96,7 +121,17 @@ void Sensor::SetResolution(float resolution) resolution_ = resolution; } -uint32_t Sensor::GetFlags() const +float Sensor::GetPower() const +{ + return power_; +} + +void Sensor::SetPower(float power) +{ + power_ = power; +} + +uint32_t Sensor::Sensor::GetFlags() const { return flags_; } @@ -136,66 +171,60 @@ void Sensor::SetMaxSamplePeriodNs(int64_t maxSamplePeriodNs) maxSamplePeriodNs_ = maxSamplePeriodNs; } -std::vector Sensor::GetReserved() const -{ - return reserved_; -} - -void Sensor::SetReserved(const std::vector &reserved) -{ - auto reservedCount = reserved.size(); - for (size_t i = 0; i < reservedCount; i++) { - reserved_[i] = reserved[i]; - } -} - bool Sensor::Marshalling(Parcel &parcel) const { if (!parcel.WriteUint32(sensorId_)) { HiLog::Error(LABEL, "%{public}s failed, write sensorId failed", __func__); return false; } - if (!parcel.WriteString(name_)) { - HiLog::Error(LABEL, "%{public}s failed, write name_ failed", __func__); + if (!parcel.WriteUint32(sensorTypeId_)) { + HiLog::Error(LABEL, "%{public}s failed, write sensorTypeId failed", __func__); + return false; + } + if (!parcel.WriteString(sensorName_)) { + HiLog::Error(LABEL, "%{public}s failed, write sensorName failed", __func__); return false; } - if (!parcel.WriteString(vendor_)) { - HiLog::Error(LABEL, "%{public}s failed, write vendor_ failed", __func__); + if (!parcel.WriteString(vendorName_)) { + HiLog::Error(LABEL, "%{public}s failed, write vendorName failed", __func__); return false; } - if (!parcel.WriteUint32(version_)) { - HiLog::Error(LABEL, "%{public}s failed, write version_ failed", __func__); + if (!parcel.WriteString(firmwareVersion_)) { + HiLog::Error(LABEL, "%{public}s failed, write firmwareVersion failed", __func__); + return false; + } + if (!parcel.WriteString(hardwareVersion_)) { + HiLog::Error(LABEL, "%{public}s failed, write hardwareVersion failed", __func__); return false; } if (!parcel.WriteFloat(maxRange_)) { - HiLog::Error(LABEL, "%{public}s failed, write maxRange_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write maxRange failed", __func__); return false; } if (!parcel.WriteFloat(resolution_)) { - HiLog::Error(LABEL, "%{public}s failed, write resolution_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write resolution failed", __func__); + return false; + } + if (!parcel.WriteFloat(power_)) { + HiLog::Error(LABEL, "%{public}s failed, write power failed", __func__); return false; } if (!parcel.WriteUint32(flags_)) { - HiLog::Error(LABEL, "%{public}s failed, write flags_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write flags failed", __func__); return false; } if (!parcel.WriteInt32(fifoMaxEventCount_)) { - HiLog::Error(LABEL, "%{public}s failed, write fifoMaxEventCount_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write fifoMaxEventCount failed", __func__); return false; } if (!parcel.WriteInt64(minSamplePeriodNs_)) { - HiLog::Error(LABEL, "%{public}s failed, write minSamplePeriodNs_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write minSamplePeriodNs failed", __func__); return false; } if (!parcel.WriteInt64(maxSamplePeriodNs_)) { - HiLog::Error(LABEL, "%{public}s failed, write maxSamplePeriodNs_ failed", __func__); + HiLog::Error(LABEL, "%{public}s failed, write maxSamplePeriodNs failed", __func__); return false; } - if (!parcel.WriteUInt32Vector(reserved_)) { - HiLog::Error(LABEL, "%{public}s failed, write reserved_ failed", __func__); - return false; - } - return true; } @@ -217,16 +246,19 @@ std::unique_ptr Sensor::Unmarshalling(Parcel &parcel) bool Sensor::ReadFromParcel(Parcel &parcel) { sensorId_ = parcel.ReadUint32(); - name_ = parcel.ReadString(); - vendor_ = parcel.ReadString(); - version_ = parcel.ReadUint32(); + sensorTypeId_ = parcel.ReadUint32(); + sensorName_ = parcel.ReadString(); + vendorName_ = parcel.ReadString(); + firmwareVersion_ = parcel.ReadString(); + hardwareVersion_ = parcel.ReadString(); + power_ = parcel.ReadFloat(); maxRange_ = parcel.ReadFloat(); resolution_ = parcel.ReadFloat(); flags_ = parcel.ReadUint32(); fifoMaxEventCount_ = parcel.ReadInt32(); minSamplePeriodNs_ = parcel.ReadInt64(); maxSamplePeriodNs_ = parcel.ReadInt64(); - return parcel.ReadUInt32Vector(&reserved_); + return true; } } // namespace Sensors } // namespace OHOS -- Gitee