diff --git a/ace/ace_standard/src/main/js/default/pages/animate/index.hml b/ace/ace_standard/src/main/js/default/pages/animate/index.hml
index 0d576981906507af7bbadd5acb4dc07852a933ae..590a28a1fc50a39bfc1f57783e659cc53741542d 100644
--- a/ace/ace_standard/src/main/js/default/pages/animate/index.hml
+++ b/ace/ace_standard/src/main/js/default/pages/animate/index.hml
@@ -1,92 +1,27 @@
+
-
-
-
- 动画效果1
-
-
-
-
-
- 动画效果2
-
-
-
-
-
-
-
- 动画效果3
-
-
-
-
-
- 动画效果4
-
-
-
-
-
-
-
- 动画效果5
-
-
-
-
-
- 动画效果6
-
-
-
-
-
+
+
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/animateMotion/index.css b/ace/ace_standard/src/main/js/default/pages/animateMotion/index.css
index b3ea8f221476bb85a19ce719a83536d8213f7c4b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/ace/ace_standard/src/main/js/default/pages/animateMotion/index.css
+++ b/ace/ace_standard/src/main/js/default/pages/animateMotion/index.css
@@ -1,17 +0,0 @@
-.container {
- width: 100%;
- flex-direction: column;
- align-items: center;
-}
-.title{
- font-size: 18px;
- color: grey;
- padding: 5px;
- text-align: center;
-}
-.svg-style{
- border: 1px solid #000000;
-}
-.outerBox{
- flex-direction: column;
-}
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/animateMotion/index.hml b/ace/ace_standard/src/main/js/default/pages/animateMotion/index.hml
index b1e5bb38bc19efae87daa3e9ed34a24af6ad9631..0d9ddc7fbcbc4e2e9f390b69ca08429d4745505e 100644
--- a/ace/ace_standard/src/main/js/default/pages/animateMotion/index.hml
+++ b/ace/ace_standard/src/main/js/default/pages/animateMotion/index.hml
@@ -1,54 +1,19 @@
+
-
-
-
- 动画效果1
-
-
-
-
-
- 动画效果2
-
-
-
-
-
-
-
- 动画效果3
-
-
-
-
-
- 动画效果4
-
-
-
-
-
+
+
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/animateTransform/index.css b/ace/ace_standard/src/main/js/default/pages/animateTransform/index.css
index 617e564019f571a3c634ac479ea323abae867917..c559fb041924e682782f7d7afbc9e0591dbda708 100644
--- a/ace/ace_standard/src/main/js/default/pages/animateTransform/index.css
+++ b/ace/ace_standard/src/main/js/default/pages/animateTransform/index.css
@@ -1,18 +1,14 @@
+/* xxx.css */
.container {
- width: 100%;
flex-direction: column;
- align-items: center;
- padding-bottom: 40px;
-}
-.title{
- font-size: 18px;
- color: grey;
- padding: 5px;
- text-align: center;
-}
-.svg-style{
- border: 1px solid #000000;
-}
-.outerBox{
- flex-direction: column;
-}
+ justify-content: flex-start;
+ align-items: flex-start;
+ background-color: #f8f8ff;
+}
+.back_container {
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: flex-start;
+ height: 1000px;
+ width: 1080px;
+}
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/pages/animateTransform/index.hml b/ace/ace_standard/src/main/js/default/pages/animateTransform/index.hml
index 1d46ebcc56f6cc76357738c4b4b98440db38e0a9..3c27430c1df4d393d65c31c26509e504a6df8199 100644
--- a/ace/ace_standard/src/main/js/default/pages/animateTransform/index.hml
+++ b/ace/ace_standard/src/main/js/default/pages/animateTransform/index.hml
@@ -1,184 +1,31 @@
+
-
-
-
- 动画效果1
-
-
-
-
-
- 动画效果2
-
-
-
+
+
-
-
-
- 动画效果3
-
-
-
-
-
- 动画效果4
-
-
-
-
-
-
-
- 动画效果5
-
-
-
-
-
- 动画效果6
-
-
-
-
-
-
-
- 动画效果7
-
-
-
-
-
- 动画效果8
-
-
-
-
-
-
-
- 动画效果9
-
-
-
-
-
- 动画效果10
-
-
-
-
-
-
-
- 动画效果11
-
-
-
-
-
- 动画效果12
-
-
-
-
-
-
-
- 动画效果13
-
-
-
-
-
+
\ No newline at end of file
diff --git a/ace/ace_standard/src/main/js/default/test/List.test.js b/ace/ace_standard/src/main/js/default/test/List.test.js
index d5e71c7839c88d2eaf7866801933e5df4e26ddc8..6cb0b55366438f99955b612c0e6b3e3a9d822ffa 100755
--- a/ace/ace_standard/src/main/js/default/test/List.test.js
+++ b/ace/ace_standard/src/main/js/default/test/List.test.js
@@ -15,5 +15,7 @@
require('./basicabilityapi.test.js')
require('./mediaquery.test.js')
-require('./commonComponentJsApi.test.js')
-require('./divProps.test.js')
+//require('./commonComponentJsApi.test.js')
+//require('./divProps.test.js')
+require('./componentJsApi.test.js')
+
diff --git a/ace/ace_standard/src/main/js/default/test/componentJsApi.test.js b/ace/ace_standard/src/main/js/default/test/componentJsApi.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab68aa587242e981e4a8837b57e9d3232e7cc38f
--- /dev/null
+++ b/ace/ace_standard/src/main/js/default/test/componentJsApi.test.js
@@ -0,0 +1,174 @@
+/*
+ * 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 router from '@system.router';
+import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index';
+
+
+describe('aceJsTest', function () {
+
+ async function sleep(time) {
+ return new Promise((resolve, reject) => {
+ setTimeout(() => {
+ resolve()
+ }, time)
+ }).then(() => {
+ console.info(`sleep ${time} over...`)
+ })
+ }
+ async function backToIndex() {
+ let backToIndexPromise = new Promise((resolve, reject) => {
+ setTimeout(() => {
+ router.back({
+ uri: 'pages/index/index'
+ });
+ resolve();
+ }, 500);
+ });
+ let clearPromise = new Promise((resolve, reject) => {
+ setTimeout(() => {
+ router.clear();
+ resolve();
+ }, 500);
+ });
+ await backToIndexPromise.then(() => {
+ return clearPromise;
+ });
+ }
+
+ /**
+ * run after testcase
+ */
+ afterEach(async function () {
+ console.info('[aceJsTest] after each called')
+ await backToIndex();
+ await sleep(5000)
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testAnimateComponent
+ * @tc.desc ACE
+ */
+ it('testAnimateComponent', 0, async function (done) {
+ let result;
+ let options = {
+ uri: 'pages/animate/index'
+ }
+ try {
+ result = router.push(options)
+ console.info("push animate page success " + JSON.stringify(result));
+ } catch (err) {
+ console.error("push animate page error " + JSON.stringify(result));
+ }
+ await sleep(5000)
+ let pages = router.getState();
+ console.info("[router.animate] getState" + JSON.stringify(pages));
+ expect("pages/animate/").assertEqual(pages.path);
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testAnimateMotionComponent
+ * @tc.desc ACE
+ */
+ it('testAnimateMotionComponent', 0, async function (done) {
+ let result;
+ let options = {
+ uri: 'pages/animateMotion/index'
+ }
+ try {
+ result = router.push(options)
+ console.info("push animateMotion page success " + JSON.stringify(result));
+ } catch (err) {
+ console.error("push animateMotion page error " + JSON.stringify(result));
+ }
+ await sleep(5000)
+ let pages = router.getState();
+ console.info("[router.animateMotion] getState" + JSON.stringify(pages));
+ expect("pages/animateMotion/").assertEqual(pages.path);
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testAnimateTransformComponent
+ * @tc.desc ACE
+ */
+ it('testAnimateTransformComponent', 0, async function (done) {
+ let result;
+ let options = {
+ uri: 'pages/animateTransform/index'
+ }
+ try {
+ result = router.push(options)
+ console.info("push animateTransform page success " + JSON.stringify(result));
+ } catch (err) {
+ console.error("push animateTransform page error " + JSON.stringify(result));
+ }
+ await sleep(5000)
+ let pages = router.getState();
+ console.info("[router.animateTransform] getState" + JSON.stringify(pages));
+ expect("pages/animateTransform/").assertEqual(pages.path);
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testTextPathComponent
+ * @tc.desc ACE
+ */
+ it('testTextPathComponent', 0, async function (done) {
+ let result;
+ let options = {
+ uri: 'pages/textPath/index'
+ }
+ try {
+ result = router.push(options)
+ console.info("push textPath page success " + JSON.stringify(result));
+ } catch (err) {
+ console.error("push textPath page error " + JSON.stringify(result));
+ }
+ await sleep(5000)
+ let pages = router.getState();
+ console.info("[router.textPath] getState" + JSON.stringify(pages));
+ expect("pages/textPath/").assertEqual(pages.path);
+ done();
+ });
+
+ /**
+ * @tc.number SUB_ACE_BASIC_COMPONENT_JS_API_0100
+ * @tc.name testTspanComponent
+ * @tc.desc ACE
+ */
+ it('testTspanComponent', 0, async function (done) {
+ let result;
+ let options = {
+ uri: 'pages/tspan/index'
+ }
+ try {
+ result = router.push(options)
+ console.info("push tspan page success " + JSON.stringify(result));
+ } catch (err) {
+ console.error("push tspan page error " + JSON.stringify(result));
+ }
+ await sleep(5000)
+ let pages = router.getState();
+ console.info("[router.tspan] getState" + JSON.stringify(pages));
+ expect("pages/tspan/").assertEqual(pages.path);
+ done();
+ });
+});