Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
239913a8
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
1 年多 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
239913a8
编写于
1月 31, 2023
作者:
O
openharmony_ci
提交者:
Gitee
1月 31, 2023
浏览文件
操作
浏览文件
下载
差异文件
!7201 添加 imageSvg测试
Merge pull request !7201 from caochuan/imageSvg
上级
13d4e6b0
51ccaf87
变更
22
隐藏空白更改
内联
并排
Showing
22 changed file
with
1086 addition
and
0 deletion
+1086
-0
multimedia/BUILD.gn
multimedia/BUILD.gn
+1
-0
multimedia/image/image_js_standard/imageSvg/BUILD.gn
multimedia/image/image_js_standard/imageSvg/BUILD.gn
+35
-0
multimedia/image/image_js_standard/imageSvg/Test.json
multimedia/image/image_js_standard/imageSvg/Test.json
+44
-0
multimedia/image/image_js_standard/imageSvg/signature/openharmony_sx.p7b
...e/image_js_standard/imageSvg/signature/openharmony_sx.p7b
+0
-0
multimedia/image/image_js_standard/imageSvg/src/main/config.json
...dia/image/image_js_standard/imageSvg/src/main/config.json
+134
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/app.js
...image_js_standard/imageSvg/src/main/js/MainAbility/app.js
+23
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/i18n/en-US.json
...standard/imageSvg/src/main/js/MainAbility/i18n/en-US.json
+6
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/i18n/zh-CN.json
...standard/imageSvg/src/main/js/MainAbility/i18n/zh-CN.json
+6
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/pages/index/index.css
...rd/imageSvg/src/main/js/MainAbility/pages/index/index.css
+46
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/pages/index/index.hml
...rd/imageSvg/src/main/js/MainAbility/pages/index/index.hml
+5
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/pages/index/index.js
...ard/imageSvg/src/main/js/MainAbility/pages/index/index.js
+29
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/app.js
...image_js_standard/imageSvg/src/main/js/TestAbility/app.js
+31
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/i18n/en-US.json
...standard/imageSvg/src/main/js/TestAbility/i18n/en-US.json
+8
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/i18n/zh-CN.json
...standard/imageSvg/src/main/js/TestAbility/i18n/zh-CN.json
+8
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/pages/index/index.css
...rd/imageSvg/src/main/js/TestAbility/pages/index/index.css
+30
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/pages/index/index.hml
...rd/imageSvg/src/main/js/TestAbility/pages/index/index.hml
+5
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/pages/index/index.js
...ard/imageSvg/src/main/js/TestAbility/pages/index/index.js
+26
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/TestRunner/OpenHarmonyTestRunner.js
.../imageSvg/src/main/js/TestRunner/OpenHarmonyTestRunner.js
+58
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/test/List.test.js
.../image_js_standard/imageSvg/src/main/js/test/List.test.js
+18
-0
multimedia/image/image_js_standard/imageSvg/src/main/js/test/svg.test.js
...e/image_js_standard/imageSvg/src/main/js/test/svg.test.js
+545
-0
multimedia/image/image_js_standard/imageSvg/src/main/resources/base/element/string.json
...dard/imageSvg/src/main/resources/base/element/string.json
+28
-0
multimedia/image/image_js_standard/imageSvg/src/main/resources/base/media/icon.png
..._standard/imageSvg/src/main/resources/base/media/icon.png
+0
-0
未找到文件。
multimedia/BUILD.gn
浏览文件 @
239913a8
...
...
@@ -39,6 +39,7 @@ group("multimedia") {
"image/image_js_standard/imageRGBA:image_rgba_js_hap",
"image/image_js_standard/imageRaw:image_raw_js_hap",
"image/image_js_standard/imageReceiver:image_receiver_js_hap",
"image/image_js_standard/imageSvg:image_svg_js_hap",
"image/image_js_standard/imageWebp:image_webp_js_hap",
"image/image_js_standard/imageYUV:image_yuv_js_hap",
"image/image_js_standard/image_ndk_test:image_pixelmap_ndk_hap",
...
...
multimedia/image/image_js_standard/imageSvg/BUILD.gn
0 → 100644
浏览文件 @
239913a8
# Copyright (C) 2023 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("image_svg_js_hap") {
hap_profile = "./src/main/config.json"
deps = [
":image_js_assets",
":image_resources",
]
certificate_profile = "./signature/openharmony_sx.p7b"
hap_name = "ActsImageSvgJsTest"
subsystem_name = "multimedia"
part_name = "multimedia_image_framework"
}
ohos_js_assets("image_js_assets") {
js2abc = true
hap_profile = "./src/main/config.json"
source_dir = "./src/main/js"
}
ohos_resources("image_resources") {
sources = [ "./src/main/resources" ]
hap_profile = "./src/main/config.json"
}
multimedia/image/image_js_standard/imageSvg/Test.json
0 → 100644
浏览文件 @
239913a8
{
"description"
:
"Configuration for Image Tests"
,
"driver"
:
{
"type"
:
"OHJSUnitTest"
,
"test-timeout"
:
"300000"
,
"shell-timeout"
:
"120000"
,
"bundle-name"
:
"ohos.acts.multimedia.image"
,
"package-name"
:
"ohos.acts.multimedia.image"
},
"kits"
:
[
{
"test-file-name"
:
[
"ActsImageSvgJsTest.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
},
{
"type"
:
"ShellKit"
,
"run-command"
:
[
"mkdir -p /data/app/el2/100/base/ohos.acts.multimedia.image/haps/entry/files/"
,
"chmod -R 666 /data/app/el2/100/base/ohos.acts.multimedia.image/haps/entry/files/*"
],
"teardown-command"
:
[]
},
{
"type"
:
"PushKit"
,
"pre-push"
:
[],
"push"
:
[
"./resource/image/test_large.svg ->/data/app/el2/100/base/ohos.acts.multimedia.image/haps/entry/files"
]
},
{
"type"
:
"ShellKit"
,
"run-command"
:
[
"hilog -Q pidoff"
,
"chmod 777 /data/app/el2/100/base/ohos.acts.multimedia.image/haps/entry/files/*"
],
"teardown-command"
:
[
"rm -rf /data/app/el2/100/base/ohos.acts.multimedia.image/*"
]
}
]
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/signature/openharmony_sx.p7b
0 → 100644
浏览文件 @
239913a8
文件已添加
multimedia/image/image_js_standard/imageSvg/src/main/config.json
0 → 100644
浏览文件 @
239913a8
{
"app"
:
{
"apiVersion"
:
{
"compatible"
:
9
,
"releaseType"
:
"Beta1"
,
"target"
:
9
},
"vendor"
:
"acts"
,
"bundleName"
:
"ohos.acts.multimedia.image"
,
"version"
:
{
"code"
:
1000000
,
"name"
:
"1.0.0"
}
},
"deviceConfig"
:
{
"default"
:
{
"debug"
:
true
}
},
"module"
:
{
"abilities"
:
[
{
"skills"
:
[
{
"entities"
:
[
"entity.system.home"
],
"actions"
:
[
"action.system.home"
]
}
],
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".MainAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"MainAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:MainAbility_desc"
,
"label"
:
"$string:MainAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
},
{
"orientation"
:
"unspecified"
,
"formsEnabled"
:
false
,
"name"
:
".TestAbility"
,
"srcLanguage"
:
"js"
,
"srcPath"
:
"TestAbility"
,
"icon"
:
"$media:icon"
,
"description"
:
"$string:TestAbility_desc"
,
"label"
:
"$string:TestAbility_label"
,
"type"
:
"page"
,
"visible"
:
true
,
"launchType"
:
"standard"
}
],
"deviceType"
:
[
"tablet"
,
"default"
,
"phone"
,
"tablet"
,
"tv"
,
"wearable"
],
"mainAbility"
:
".MainAbility"
,
"distro"
:
{
"moduleType"
:
"entry"
,
"installationFree"
:
false
,
"deliveryWithInstall"
:
true
,
"moduleName"
:
"entry"
},
"reqPermissions"
:
[
{
"name"
:
"ohos.permission.GET_BUNDLE_INFO"
,
"reason"
:
"use ohos.permission.GET_BUNDLE_INFO"
},
{
"name"
:
"ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
,
"reason"
:
"use ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
},
{
"name"
:
"ohos.permission.GRANT_SENSITIVE_PERMISSIONS"
,
"reason"
:
"use ohos.permission.GRANT_SENSITIVE_PERMISSIONS"
},
{
"name"
:
"ohos.permission.REVOKE_SENSITIVE_PERMISSIONS"
,
"reason"
:
"use ohos.permission.REVOKE_SENSITIVE_PERMISSIONS"
},
{
"name"
:
"ohos.permission.MEDIA_LOCATION"
,
"reason"
:
"use ohos.permission.MEDIA_LOCATION"
},
{
"name"
:
"ohos.permission.READ_MEDIA"
,
"reason"
:
"use ohos.permission.READ_MEDIA"
},
{
"name"
:
"ohos.permission.WRITE_MEDIA"
,
"reason"
:
"use ohos.permission.WRITE_MEDIA"
}
],
"package"
:
"ohos.acts.multimedia.image"
,
"name"
:
".entry"
,
"js"
:
[
{
"pages"
:
[
"pages/index/index"
],
"name"
:
"default"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
true
}
},
{
"pages"
:
[
"pages/index/index"
],
"name"
:
".TestAbility"
,
"window"
:
{
"designWidth"
:
720
,
"autoDesignWidth"
:
false
}
}
],
"testRunner"
:
{
"name"
:
"OpenHarmonyTestRunner"
,
"srcPath"
:
"TestRunner"
},
"srcPath"
:
""
}
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/app.js
0 → 100644
浏览文件 @
239913a8
/*
* Copyright (C) 2023 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
'
);
}
};
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/i18n/en-US.json
0 → 100644
浏览文件 @
239913a8
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
}
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/i18n/zh-CN.json
0 → 100644
浏览文件 @
239913a8
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
}
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/pages/index/index.css
0 → 100644
浏览文件 @
239913a8
.container
{
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
40px
;
color
:
#000000
;
opacity
:
0.9
;
}
@media
screen
and
(
device-type
:
tablet
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
100px
;
}
}
@media
screen
and
(
device-type
:
wearable
)
{
.title
{
font-size
:
28px
;
color
:
#FFFFFF
;
}
}
@media
screen
and
(
device-type
:
tv
)
{
.container
{
background-image
:
url("/common/images/Wallpaper.png")
;
background-size
:
cover
;
background-repeat
:
no-repeat
;
background-position
:
center
;
}
.title
{
font-size
:
100px
;
color
:
#FFFFFF
;
}
}
@media
screen
and
(
device-type
:
phone
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
60px
;
}
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/pages/index/index.hml
0 → 100644
浏览文件 @
239913a8
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/MainAbility/pages/index/index.js
0 → 100644
浏览文件 @
239913a8
/*
* Copyright (C) 2023 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
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
},
onShow
()
{
console
.
info
(
'
onShow finish
'
)
},
onReady
()
{
},
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/app.js
0 → 100644
浏览文件 @
239913a8
/*
* Copyright (c) 2023 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
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
import
{
Hypium
}
from
'
@ohos/hypium
'
import
testsuite
from
'
../test/List.test
'
export
default
{
onCreate
()
{
console
.
info
(
'
TestApplication onCreate
'
)
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
console
.
info
(
'
start run testcase!!!
'
)
Hypium
.
hypiumTest
(
abilityDelegator
,
abilityDelegatorArguments
,
testsuite
)
},
onDestroy
()
{
console
.
info
(
"
TestApplication onDestroy
"
);
}
};
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/i18n/en-US.json
0 → 100644
浏览文件 @
239913a8
{
"strings"
:
{
"hello"
:
"Hello"
,
"world"
:
"World"
},
"Files"
:
{
}
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/i18n/zh-CN.json
0 → 100644
浏览文件 @
239913a8
{
"strings"
:
{
"hello"
:
"您好"
,
"world"
:
"世界"
},
"Files"
:
{
}
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/pages/index/index.css
0 → 100644
浏览文件 @
239913a8
.container
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
left
:
0px
;
top
:
0px
;
width
:
100%
;
height
:
100%
;
}
.title
{
font-size
:
60px
;
text-align
:
center
;
width
:
100%
;
height
:
40%
;
margin
:
10px
;
}
@media
screen
and
(
device-type
:
phone
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
60px
;
}
}
@media
screen
and
(
device-type
:
tablet
)
and
(
orientation
:
landscape
)
{
.title
{
font-size
:
100px
;
}
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/pages/index/index.hml
0 → 100644
浏览文件 @
239913a8
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>
</div>
multimedia/image/image_js_standard/imageSvg/src/main/js/TestAbility/pages/index/index.js
0 → 100644
浏览文件 @
239913a8
/*
* Copyright (c) 2023 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
{
data
:
{
title
:
""
},
onInit
()
{
this
.
title
=
this
.
$t
(
'
strings.world
'
);
}
}
multimedia/image/image_js_standard/imageSvg/src/main/js/TestRunner/OpenHarmonyTestRunner.js
0 → 100644
浏览文件 @
239913a8
/*
* Copyright (c) 2023 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
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
function
translateParamsToString
(
parameters
)
{
const
keySet
=
new
Set
([
'
-s class
'
,
'
-s notClass
'
,
'
-s suite
'
,
'
-s itName
'
,
'
-s level
'
,
'
-s testType
'
,
'
-s size
'
,
'
-s timeout
'
,
'
-s package
'
,
'
-s dryRun
'
])
let
targetParams
=
''
;
for
(
const
key
in
parameters
)
{
if
(
keySet
.
has
(
key
))
{
targetParams
+=
'
'
+
key
+
'
'
+
parameters
[
key
]
}
}
return
targetParams
.
trim
()
}
export
default
{
onPrepare
()
{
console
.
info
(
'
OpenHarmonyTestRunner OnPrepare
'
)
},
onRun
()
{
console
.
log
(
'
OpenHarmonyTestRunner onRun run
'
)
var
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
var
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
testAbilityName
=
abilityDelegatorArguments
.
parameters
[
'
-p
'
]
+
'
.TestAbility
'
var
cmd
=
'
aa start -d 0 -a
'
+
testAbilityName
+
'
-b
'
+
abilityDelegatorArguments
.
bundleName
cmd
+=
'
'
+
translateParamsToString
(
abilityDelegatorArguments
.
parameters
)
var
debug
=
abilityDelegatorArguments
.
parameters
[
"
-D
"
]
console
.
info
(
'
debug value :
'
+
debug
)
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
}
console
.
info
(
'
cmd :
'
+
cmd
)
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
,
data
)
=>
{
console
.
info
(
'
executeShellCommand : err :
'
+
JSON
.
stringify
(
err
));
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
stdResult
);
console
.
info
(
'
executeShellCommand : data :
'
+
data
.
exitCode
);
})
}
};
multimedia/image/image_js_standard/imageSvg/src/main/js/test/List.test.js
0 → 100644
浏览文件 @
239913a8
/*
* Copyright (C) 2023 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
imageSvg
from
"
./svg.test.js
"
;
export
default
function
testsuite
()
{
imageSvg
();
}
multimedia/image/image_js_standard/imageSvg/src/main/js/test/svg.test.js
0 → 100644
浏览文件 @
239913a8
/*
* Copyright (C) 2023 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
image
from
"
@ohos.multimedia.image
"
;
import
fileio
from
"
@ohos.fileio
"
;
import
{
describe
,
beforeAll
,
beforeEach
,
afterEach
,
afterAll
,
it
,
expect
}
from
"
@ohos/hypium
"
;
import
featureAbility
from
"
@ohos.ability.featureAbility
"
;
export
default
function
imageSvg
()
{
describe
(
"
imageSvg
"
,
function
()
{
const
RGBA_8888
=
image
.
PixelMapFormat
.
RGBA_8888
;
let
filePath
;
let
fdNumber
;
async
function
getFd
(
fileName
)
{
let
context
=
await
featureAbility
.
getContext
();
await
context
.
getFilesDir
().
then
((
data
)
=>
{
filePath
=
data
+
"
/
"
+
fileName
;
console
.
info
(
"
image case filePath is
"
+
filePath
);
});
await
fileio
.
open
(
filePath
,
0o2
,
0o777
)
.
then
(
(
data
)
=>
{
fdNumber
=
data
;
console
.
info
(
"
image case open fd success
"
+
fdNumber
);
},
(
err
)
=>
{
console
.
info
(
"
image cese open fd fail
"
+
err
);
}
)
.
catch
((
err
)
=>
{
console
.
info
(
"
image case open fd err
"
+
err
);
});
}
beforeAll
(
async
function
()
{
console
.
info
(
"
beforeAll case
"
);
});
beforeEach
(
function
()
{
console
.
info
(
"
beforeEach case
"
);
});
afterEach
(
async
function
()
{
console
.
info
(
"
afterEach case
"
);
});
afterAll
(
async
function
()
{
console
.
info
(
"
afterAll case
"
);
});
async
function
packingPromise
(
done
,
testNum
,
pixelmap
,
packOpts
)
{
try
{
const
imagePackerApi
=
image
.
createImagePacker
();
if
(
imagePackerApi
==
undefined
)
{
console
.
info
(
`
${
testNum
}
packingPromise create image packer failed`
);
expect
(
false
).
assertTrue
();
done
();
}
else
{
let
packOptsFormat
=
`format:`
+
packOpts
.
format
;
let
packOptsQuality
=
`quality:`
+
packOpts
.
quality
;
console
.
info
(
`
${
testNum
}
packingPromise packOpts={
${
packOptsFormat
}
,
${
packOptsQuality
}
}`
);
let
data
=
await
imagePackerApi
.
packing
(
pixelmap
,
packOpts
);
console
.
info
(
`
${
testNum
}
packing finished`
);
if
(
data
!=
undefined
)
{
console
.
info
(
`
${
testNum
}
packing success`
);
var
dataArr
=
new
Uint8Array
(
data
);
console
.
info
(
`
${
testNum
}
packing show begin(length:
${
dataArr
.
length
}
)`
);
var
line
=
0
;
for
(
var
i
=
0
;
i
<
dataArr
.
length
;
i
++
)
{
var
str
=
`dataArr[
${
i
}
]=`
;
for
(
var
j
=
0
;
j
<
20
&&
i
<
dataArr
.
length
;
j
++
,
i
++
)
{
str
=
str
+
"
,
"
+
dataArr
[
i
];
}
console
.
info
(
`
${
testNum
}
packing `
+
str
);
i
--
;
line
++
;
}
console
.
info
(
`
${
testNum
}
packing show end(line:
${
line
}
)`
);
expect
(
true
).
assertTrue
();
done
();
}
else
{
console
.
info
(
`
${
testNum
}
packing failed`
);
expect
(
false
).
assertTrue
();
done
();
}
}
}
catch
(
error
)
{
console
.
info
(
`
${
testNum
}
packingPromise error: `
+
error
);
expect
(
false
).
assertTrue
();
done
();
}
}
async
function
createPixelMapPromise
(
done
,
testNum
,
picName
,
decodeOpts
,
packFunc
,
packOpts
)
{
let
imageSourceApi
;
try
{
await
getFd
(
picName
);
imageSourceApi
=
image
.
createImageSource
(
fdNumber
);
if
(
imageSourceApi
==
undefined
)
{
console
.
info
(
`
${
testNum
}
create imagesource failed`
);
expect
(
false
).
assertTrue
();
done
();
}
else
{
console
.
info
(
`
${
testNum
}
create imagesource success`
);
let
pixelmap
=
await
imageSourceApi
.
createPixelMap
(
decodeOpts
);
if
(
pixelmap
!=
undefined
)
{
console
.
info
(
`
${
testNum
}
create pixelmap success`
);
let
imageInfo
=
await
pixelmap
.
getImageInfo
();
expect
(
imageInfo
.
size
.
width
).
assertEqual
(
32
);
expect
(
imageInfo
.
size
.
height
).
assertEqual
(
16
);
packFunc
(
done
,
testNum
,
pixelmap
,
packOpts
);
}
else
{
console
.
info
(
`
${
testNum
}
create pixelmap failed`
);
expect
(
false
).
assertTrue
();
done
();
}
}
}
catch
(
error
)
{
console
.
info
(
`
${
testNum
}
error: `
+
error
);
expect
(
false
).
assertTrue
();
done
();
}
}
async
function
createPixelMapCallBack
(
done
,
testNum
,
picName
,
decodeOpts
,
packFunc
,
packOpts
)
{
let
imageSourceApi
;
await
getFd
(
picName
);
imageSourceApi
=
image
.
createImageSource
(
fdNumber
);
if
(
imageSourceApi
==
undefined
)
{
console
.
info
(
`
${
testNum
}
create imagesource failed`
);
expect
(
false
).
assertTrue
();
done
();
}
else
{
console
.
info
(
`
${
testNum
}
create imagesource success`
);
imageSourceApi
.
createPixelMap
(
decodeOpts
,
async
(
err
,
pixelmap
)
=>
{
if
(
err
!=
undefined
)
{
console
.
info
(
`
${
testNum
}
createPixelMap create pixelmap failed err:
${
err
}
`
);
expect
(
false
).
assertTrue
();
done
();
return
;
}
console
.
info
(
`
${
testNum
}
createPixelMap success`
);
expect
(
pixelmap
!=
undefined
).
assertTrue
();
let
imageInfo
=
await
pixelmap
.
getImageInfo
();
expect
(
imageInfo
.
size
.
width
).
assertEqual
(
4
);
expect
(
imageInfo
.
size
.
height
).
assertEqual
(
2
);
packFunc
(
done
,
testNum
,
pixelmap
,
packOpts
);
});
}
}
async
function
createPixelMapCallBackErr
(
done
,
testNum
,
picName
,
decodeOpts
)
{
let
imageSourceApi
;
await
getFd
(
picName
);
imageSourceApi
=
image
.
createImageSource
(
fdNumber
);
if
(
imageSourceApi
==
undefined
)
{
console
.
info
(
`
${
testNum
}
createPixelMapPromise create imagesource failed`
);
expect
(
false
).
assertTrue
();
done
();
}
else
{
console
.
info
(
`
${
testNum
}
createPixelMapPromise create imagesource success`
);
imageSourceApi
.
createPixelMap
(
decodeOpts
,
(
err
,
pixelmap
)
=>
{
expect
(
err
!=
undefined
).
assertTrue
();
console
.
info
(
`
${
testNum
}
success: `
+
err
);
done
();
});
}
}
async
function
createPixelMapPromiseErr
(
done
,
testNum
,
picName
,
decodeOpts
)
{
let
imageSourceApi
;
await
getFd
(
picName
);
imageSourceApi
=
image
.
createImageSource
(
fdNumber
);
if
(
imageSourceApi
==
undefined
)
{
console
.
info
(
`
${
testNum
}
createPixelMapPromise create imagesource failed`
);
expect
(
false
).
assertTrue
();
done
();
}
else
{
console
.
info
(
`
${
testNum
}
createPixelMapPromise create imagesource success`
);
try
{
await
imageSourceApi
.
createPixelMap
(
decodeOpts
);
expect
(
false
).
assertTrue
();
done
();
}
catch
(
error
)
{
expect
(
true
).
assertTrue
();
console
.
info
(
`
${
testNum
}
error: `
+
error
);
done
();
}
}
}
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_PROMISE_0100
* @tc.name : createPixelMap - promise
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* 4.packing
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 0
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_0100
"
,
0
,
async
function
(
done
)
{
let
decodeOpts
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
32
,
height
:
16
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
index
:
0
,
};
let
packOpts
=
{
format
:
[
"
image/webp
"
],
quality
:
100
};
createPixelMapPromise
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_0100
"
,
"
test_large.svg
"
,
decodeOpts
,
packingPromise
,
packOpts
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_CALLBACK_0100
* @tc.name : createPixelMap - callback
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* 4.packing
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 0
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_0100
"
,
0
,
async
function
(
done
)
{
let
decodeOpts
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
4
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
index
:
0
,
};
let
packOpts
=
{
format
:
[
"
image/webp
"
],
quality
:
100
};
createPixelMapCallBack
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_0100
"
,
"
test_large.svg
"
,
decodeOpts
,
packingPromise
,
packOpts
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0100
* @tc.name : createPixelMap - callback-sampleSize: -1
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0100
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
-
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
0
,
};
await
createPixelMapCallBackErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0100
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0200
* @tc.name : createPixelMap - callback-index: -1
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0200
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
-
1
,
};
await
createPixelMapCallBackErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0200
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0300
* @tc.name : createPixelMap - callback-rotate: 500
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0300
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
500
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
0
,
};
await
createPixelMapCallBackErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0300
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0400
* @tc.name : createPixelMap - callback-desiredPixelFormat: 33
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0400
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
false
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
33
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
0
,
};
await
createPixelMapCallBackErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0400
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0500
* @tc.name : createPixelMap - callback-{x: 10000, y: 0 }
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0500
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
10000
,
y
:
0
},
index
:
0
,
};
await
createPixelMapCallBackErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0500
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0600
* @tc.name : createPixelMap - callback-{x: 0, y: 10000 }
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0600
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
10000
},
index
:
0
,
};
await
createPixelMapCallBackErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_CALLBACK_ERR_0600
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0100
* @tc.name : createPixelMap - promise-sampleSize: -1
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0100
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
-
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
0
,
};
await
createPixelMapPromiseErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0100
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0200
* @tc.name : createPixelMap - promise-index: -1
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0200
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
-
1
,
};
await
createPixelMapPromiseErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0200
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0300
* @tc.name : createPixelMap - promise-rotate: 500
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0300
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
500
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
0
,
};
await
createPixelMapPromiseErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0300
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0400
* @tc.name : createPixelMap - promise-desiredPixelFormat: 33
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0400
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
false
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
33
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
0
},
index
:
0
,
};
await
createPixelMapPromiseErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0400
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0500
* @tc.name : createPixelMap - promise-{x: 10000, y: 0}
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0500
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
10000
,
y
:
0
},
index
:
0
,
};
await
createPixelMapPromiseErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0500
"
,
"
test_large.svg
"
,
decodingOption
);
});
/**
* @tc.number : SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0600
* @tc.name : createPixelMap - promise-{x: 0, y: 10000}
* @tc.desc : 1.create imagesource
* 2.set DecodeOptions
* 3.create PixelMap
* @tc.size : MEDIUM
* @tc.type : Functional
* @tc.level : Level 3
*/
it
(
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0600
"
,
0
,
async
function
(
done
)
{
let
decodingOption
=
{
sampleSize
:
1
,
editable
:
true
,
desiredSize
:
{
width
:
1
,
height
:
2
},
rotate
:
0
,
desiredPixelFormat
:
RGBA_8888
,
desiredRegion
:
{
size
:
{
height
:
1
,
width
:
2
},
x
:
0
,
y
:
10000
},
index
:
0
,
};
await
createPixelMapPromiseErr
(
done
,
"
SUB_GRAPHIC_IMAGE_SVG_PROMISE_ERR_0600
"
,
"
test_large.svg
"
,
decodingOption
);
});
});
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/resources/base/element/string.json
0 → 100644
浏览文件 @
239913a8
{
"string"
:
[
{
"name"
:
"entry_MainAbility"
,
"value"
:
"ImageJSTestMain"
},
{
"name"
:
"mainability_description"
,
"value"
:
"ImageJSTestMain Ability"
},
{
"name"
:
"MainAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"MainAbility_label"
,
"value"
:
"label"
},
{
"name"
:
"TestAbility_desc"
,
"value"
:
"description"
},
{
"name"
:
"TestAbility_label"
,
"value"
:
"label"
}
]
}
\ No newline at end of file
multimedia/image/image_js_standard/imageSvg/src/main/resources/base/media/icon.png
0 → 100644
浏览文件 @
239913a8
6.6 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录