diff --git a/notification/ans_standard/BUILD.gn b/notification/ans_standard/BUILD.gn
index 2e4ce0046ba111c9539477dab1b286b24cf0ee1e..550f8b32eb9c45150c0d1a9ccaef11d27f60c029 100644
--- a/notification/ans_standard/BUILD.gn
+++ b/notification/ans_standard/BUILD.gn
@@ -15,9 +15,6 @@ import("//build/ohos_var.gni")
group("ans_standard") {
testonly = true
if (is_standard_system) {
- deps = [
- "cancel_test:cancel_test",
- "publish_test:publish_test",
- ]
+ deps = [ "publishicontest:ActsAnsIconTest" ]
}
}
diff --git a/notification/ans_standard/publishicontest/BUILD.gn b/notification/ans_standard/publishicontest/BUILD.gn
new file mode 100755
index 0000000000000000000000000000000000000000..aa9b8cca70a2f6b803175aeea4833e670143a051
--- /dev/null
+++ b/notification/ans_standard/publishicontest/BUILD.gn
@@ -0,0 +1,32 @@
+# 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("//test/xts/tools/build/suite.gni")
+
+ohos_js_hap_suite("ActsAnsIconTest") {
+ hap_profile = "./entry/src/main/config.json"
+ deps = [
+ ":hjs_demo_js_assets",
+ ":hjs_demo_resources",
+ ]
+ certificate_profile = "./signature/openharmony_sx.p7b"
+ hap_name = "ActsAnsIconTest"
+}
+ohos_js_assets("hjs_demo_js_assets") {
+ source_dir = "./entry/src/main/js/default"
+}
+ohos_resources("hjs_demo_resources") {
+ sources = [ "./entry/src/main/js/resources" ]
+ hap_profile = "./entry/src/main/config.json"
+}
+
diff --git a/notification/ans_standard/publishicontest/Test.json b/notification/ans_standard/publishicontest/Test.json
new file mode 100755
index 0000000000000000000000000000000000000000..74e88a81b20faa6eb4bb7d554e9eecb82c27e2f4
--- /dev/null
+++ b/notification/ans_standard/publishicontest/Test.json
@@ -0,0 +1,19 @@
+{
+ "description": "Configuration for hjunit demo Tests",
+ "driver": {
+ "type": "JSUnitTest",
+ "test-timeout": "21600000",
+ "package": "com.example.actsansicontest",
+ "shell-timeout": "21600000"
+ },
+ "kits": [
+ {
+ "test-file-name": [
+ "ActsAnsIconTest.hap"
+ ],
+ "type": "AppInstallKit",
+ "cleanup-apps": true
+ }
+ ]
+}
+
diff --git a/notification/ans_standard/publishicontest/entry/package.json b/notification/ans_standard/publishicontest/entry/package.json
new file mode 100755
index 0000000000000000000000000000000000000000..69a88e3b65423624fe7ea8b0f8beefcc62cc3d5f
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/package.json
@@ -0,0 +1 @@
+{}
diff --git a/notification/ans_standard/publishicontest/entry/src/main/config.json b/notification/ans_standard/publishicontest/entry/src/main/config.json
new file mode 100755
index 0000000000000000000000000000000000000000..730f1958ad069e7eb57b45e126249a8fa0fa518e
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/config.json
@@ -0,0 +1,61 @@
+{
+ "app": {
+ "bundleName": "com.example.actsansicontest",
+ "vendor": "example",
+ "version": {
+ "code": 1,
+ "name": "1.0"
+ },
+ "apiVersion": {
+ "compatible": 5,
+ "target": 5,
+ "releaseType": "Beta1"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.example.actsansicontest",
+ "name": ".actsansicontest",
+ "deviceType": [
+ "phone"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry",
+ "moduleType": "entry"
+ },
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "name": "com.example.actsansicontest.MainAbility",
+ "icon": "$media:icon",
+ "description": "$string:mainability_description",
+ "label": "$string:app_name",
+ "type": "page",
+ "isVisible": "true",
+ "launchType": "standard"
+ }
+ ],
+ "js": [
+ {
+ "pages": [
+ "pages/index/index"
+ ],
+ "name": "default",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/default/app.js b/notification/ans_standard/publishicontest/entry/src/main/js/default/app.js
new file mode 100755
index 0000000000000000000000000000000000000000..2a68c1992145a976957d7dcdd69a7e9c2e8e9877
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/default/app.js
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+export default {
+ onCreate() {
+ console.info('AceApplication onCreate');
+ },
+ onDestroy() {
+ console.info('AceApplication onDestroy');
+ }
+};
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/default/i18n/en-US.json b/notification/ans_standard/publishicontest/entry/src/main/js/default/i18n/en-US.json
new file mode 100755
index 0000000000000000000000000000000000000000..e63c70d978a3a53be988388c87182f81785e170c
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/default/i18n/en-US.json
@@ -0,0 +1,6 @@
+{
+ "strings": {
+ "hello": "Hello",
+ "world": "World"
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/default/i18n/zh-CN.json b/notification/ans_standard/publishicontest/entry/src/main/js/default/i18n/zh-CN.json
new file mode 100755
index 0000000000000000000000000000000000000000..de6ee5748322f44942c1b003319d8e66c837675f
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/default/i18n/zh-CN.json
@@ -0,0 +1,6 @@
+{
+ "strings": {
+ "hello": "您好",
+ "world": "世界"
+ }
+}
\ No newline at end of file
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.css b/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.css
new file mode 100755
index 0000000000000000000000000000000000000000..6fda792753f2e15f22b529c7b90a82185b2770bf
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.css
@@ -0,0 +1,9 @@
+.container {
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+.title {
+ font-size: 100px;
+}
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.hml b/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.hml
new file mode 100755
index 0000000000000000000000000000000000000000..60c117fb35d180619185b62bee24293514f4e896
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.hml
@@ -0,0 +1,5 @@
+
+
+ icon_pixcelMap
+
+
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.js b/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.js
new file mode 100755
index 0000000000000000000000000000000000000000..c3b6a96287aa8ad4c9bf0e44ccba5d69b68ae02c
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/default/pages/index/index.js
@@ -0,0 +1,47 @@
+/*
+ * 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 file from '@system.file'
+import {Core, ExpectExtend} from 'deccjsunit/index'
+
+const injectRef = Object.getPrototypeOf(global) || global
+injectRef.regeneratorRuntime = require('@babel/runtime/regenerator')
+
+export default {
+ data: {
+ title: ""
+ },
+ onInit() {
+ this.title = this.$t('strings.world');
+ },
+ onShow() {
+ console.info('onShow finish')
+ const core = Core.getInstance()
+ const expectExtend = new ExpectExtend({
+ 'id': 'extend'
+ })
+ core.addService('expect', expectExtend)
+ core.init()
+
+ const configService = core.getDefaultService('config')
+ configService.setConfig(this)
+
+ require('../../../test/List.test')
+ core.execute()
+ },
+ onReady() {
+ console.info('onReady');
+ },
+}
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/resources/base/element/string.json b/notification/ans_standard/publishicontest/entry/src/main/js/resources/base/element/string.json
new file mode 100755
index 0000000000000000000000000000000000000000..30895093f1f793272b0638cbde300dd08dfcf1c0
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/resources/base/element/string.json
@@ -0,0 +1,12 @@
+{
+ "string": [
+ {
+ "name": "app_name",
+ "value": "Subscriber"
+ },
+ {
+ "name": "mainability_description",
+ "value": "JS_Phone_Empty Feature Ability"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/resources/base/media/icon.png b/notification/ans_standard/publishicontest/entry/src/main/js/resources/base/media/icon.png
new file mode 100755
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/notification/ans_standard/publishicontest/entry/src/main/js/resources/base/media/icon.png differ
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/test/Icon.js b/notification/ans_standard/publishicontest/entry/src/main/js/test/Icon.js
new file mode 100755
index 0000000000000000000000000000000000000000..25a952fe44431f8dd99b7c8d47bf8e7d2b1a21ad
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/test/Icon.js
@@ -0,0 +1,106 @@
+/*
+ * 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 notify from '@ohos.notification'
+import image from '@ohos.multimedia.image'
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
+
+var largeBuffer
+var smallBuffer
+var opts
+var subInfo
+var largeIcon
+var smallIcon
+
+describe('ActsAnsIconTest', function () {
+ console.info("===========ActsAnsIconTest start====================>");
+
+ //consume
+ function consumeCallback(err,data) {
+ console.debug("==========================consumeCallback data : =======================>" +err+ JSON.stringify(data));
+ data.largeIcon.getPixelBytesNumber().then((dataLarge)=>{
+ console.info("==================getPixelBytesNumber_largeIcon dataLarge==================>"+ dataLarge);
+ console.info("==================getPixelBytesNumber_largeIcon largeBuffer==================>"+ largeBuffer);
+ expect(dataLarge).assertequal(largeBuffer);
+ })
+
+ data.smallIcon.getPixelBytesNumber().then((dataSmall)=>{
+ console.info("==================getPixelBytesNumber_smallIcon dataSmall==================>"+ dataSmall);
+ console.info("==================getPixelBytesNumber_smallIcon smallBuffer==================>"+ smallBuffer);
+ expect(dataSmall).assertequal(smallBuffer);
+ })
+ }
+
+ function subscribeCallback(err) {
+ console.info("==========================subscribeCallback start=======================>");
+ console.info("================subscribeCallback err : =======================>" + JSON.stringify(err));
+ console.info("==========================subscribeCallback end=======================>");
+ }
+
+ function publishCallback(err){
+ console.info("==========================publishCallback start=======================>");
+ console.info("================publishCallback err : =======================>" + JSON.stringify(err));
+ console.info("==========================publishCallback end=======================>");
+ }
+ /*
+ * @tc.number: ActsAnsIconTest_0100
+ * @tc.name: createPixelMap()
+ * @tc.desc: verify the function of subscribe
+ */
+ it('ActsAnsIconTest_0100', 0, async function (done) {
+ console.debug("===============ActsAnsIconTest_0100 start====================>");
+ subInfo ={
+ onConsume:consumeCallback,
+ }
+ await notify.subscribe(subInfo,subscribeCallback);
+
+ largeBuffer = new ArrayBuffer(64);
+ smallBuffer = new ArrayBuffer(32);
+ opts = {alphaType: 0, editable: true, pixelFormat: 4, scaleMode: 1, size: {height: 2, width: 3}}
+ const promise_Large = image.createPixelMap(largeBuffer, opts);
+ promise_Large.then((data) => {
+ console.debug("==========================createPixelMap_promise_Large=======================>");
+ largeIcon = data;
+ console.debug("==========================createPixelMap_promise_Large largeIcon=======================>"+largeIcon);
+
+ const promise_Small = image.createPixelMap(smallBuffer, opts);
+ promise_Small.then((data) => {
+ console.debug("==========================createPixelMap_promise_Small=======================>");
+ smallIcon = data;
+ console.debug("==========================createPixelMap_promise_Small smallIcon=======================>"+smallIcon);
+
+ notify.publish({
+ id: 1,
+ content: {
+ contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT,
+ normal: {
+ title: "test1_title",
+ text: "test1_text",
+ additionalText: "test1_additionalText"
+ },
+ },
+ slotType:notify.SlotType.SOCIAL_COMMUNICATION,
+ classification:"classification1",
+ sortingKey:"sortingKey1",
+ smallIcon:smallIcon,
+ largeIcon:largeIcon,
+ },publishCallback);
+ done();
+ });
+
+ });
+
+ })
+})
+
diff --git a/notification/ans_standard/publishicontest/entry/src/main/js/test/List.test.js b/notification/ans_standard/publishicontest/entry/src/main/js/test/List.test.js
new file mode 100755
index 0000000000000000000000000000000000000000..f6a0c80457aa4bd78d0066b7ca6c3dcbcd08b773
--- /dev/null
+++ b/notification/ans_standard/publishicontest/entry/src/main/js/test/List.test.js
@@ -0,0 +1,15 @@
+/*
+ * 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.
+ */
+require('./Icon.js')
\ No newline at end of file
diff --git a/notification/ans_standard/publishicontest/hap/ActsAnsIconTest.hap b/notification/ans_standard/publishicontest/hap/ActsAnsIconTest.hap
new file mode 100755
index 0000000000000000000000000000000000000000..acd006561e5f6fc747caa6283b18d43fea191bcd
Binary files /dev/null and b/notification/ans_standard/publishicontest/hap/ActsAnsIconTest.hap differ
diff --git a/notification/ans_standard/publishicontest/signature/openharmony_sx.p7b b/notification/ans_standard/publishicontest/signature/openharmony_sx.p7b
new file mode 100755
index 0000000000000000000000000000000000000000..9be1e98fa4c0c28ca997ed660112fa16b194f0f5
Binary files /dev/null and b/notification/ans_standard/publishicontest/signature/openharmony_sx.p7b differ