Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
7d0094d6
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看板
未验证
提交
7d0094d6
编写于
12月 27, 2022
作者:
O
openharmony_ci
提交者:
Gitee
12月 27, 2022
浏览文件
操作
浏览文件
下载
差异文件
!7012 add redaction xts test
Merge pull request !7012 from caochuan/nweRedaction
上级
0fcf6be4
78a89ea3
变更
37
隐藏空白更改
内联
并排
Showing
37 changed file
with
1255 addition
and
0 deletion
+1255
-0
multimedia/BUILD.gn
multimedia/BUILD.gn
+2
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/AppScope/app.json
...alibrary/mediaLibrary_getExifNoLocation/AppScope/app.json
+21
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/AppScope/resources/base/element/string.json
...xifNoLocation/AppScope/resources/base/element/string.json
+8
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/AppScope/resources/base/media/app_icon.png
...ExifNoLocation/AppScope/resources/base/media/app_icon.png
+0
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/BUILD.gn
...edia/medialibrary/mediaLibrary_getExifNoLocation/BUILD.gn
+41
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/Test.json
...dia/medialibrary/mediaLibrary_getExifNoLocation/Test.json
+60
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/Application/AbilityStage.ts
...NoLocation/entry/src/main/ets/Application/AbilityStage.ts
+9
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/MainAbility/MainAbility.ts
...fNoLocation/entry/src/main/ets/MainAbility/MainAbility.ts
+36
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/MainAbility/pages/index/index.ets
...tion/entry/src/main/ets/MainAbility/pages/index/index.ets
+56
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/TestAbility/TestAbility.ts
...fNoLocation/entry/src/main/ets/TestAbility/TestAbility.ts
+50
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/TestAbility/pages/index.ets
...NoLocation/entry/src/main/ets/TestAbility/pages/index.ets
+48
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
...on/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
+78
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/test/List.test.ets
...y_getExifNoLocation/entry/src/main/ets/test/List.test.ets
+18
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/test/getExifNoLocation.test.ets
...cation/entry/src/main/ets/test/getExifNoLocation.test.ets
+100
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/module.json
...mediaLibrary_getExifNoLocation/entry/src/main/module.json
+61
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/resources/base/element/string.json
...ocation/entry/src/main/resources/base/element/string.json
+32
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/resources/base/media/icon.png
...ifNoLocation/entry/src/main/resources/base/media/icon.png
+0
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/resources/base/profile/main_pages.json
...ion/entry/src/main/resources/base/profile/main_pages.json
+5
-0
multimedia/medialibrary/mediaLibrary_getExifNoLocation/signature/openharmony_sx.p7b
...diaLibrary_getExifNoLocation/signature/openharmony_sx.p7b
+0
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/AppScope/app.json
...dialibrary/mediaLibrary_getExiflocation/AppScope/app.json
+21
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/AppScope/resources/base/element/string.json
...tExiflocation/AppScope/resources/base/element/string.json
+8
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/AppScope/resources/base/media/app_icon.png
...etExiflocation/AppScope/resources/base/media/app_icon.png
+0
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/BUILD.gn
...imedia/medialibrary/mediaLibrary_getExiflocation/BUILD.gn
+41
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/Test.json
...media/medialibrary/mediaLibrary_getExiflocation/Test.json
+60
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/Application/AbilityStage.ts
...iflocation/entry/src/main/ets/Application/AbilityStage.ts
+9
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/MainAbility/MainAbility.ts
...xiflocation/entry/src/main/ets/MainAbility/MainAbility.ts
+36
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/MainAbility/pages/index/index.ets
...tion/entry/src/main/ets/MainAbility/pages/index/index.ets
+56
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/TestAbility/TestAbility.ts
...xiflocation/entry/src/main/ets/TestAbility/TestAbility.ts
+50
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/TestAbility/pages/index.ets
...iflocation/entry/src/main/ets/TestAbility/pages/index.ets
+48
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
...on/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
+78
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/test/List.test.ets
...ary_getExiflocation/entry/src/main/ets/test/List.test.ets
+18
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/test/getExifLocation.test.ets
...location/entry/src/main/ets/test/getExifLocation.test.ets
+103
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/module.json
...y/mediaLibrary_getExiflocation/entry/src/main/module.json
+65
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/resources/base/element/string.json
...ocation/entry/src/main/resources/base/element/string.json
+32
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/resources/base/media/icon.png
...Exiflocation/entry/src/main/resources/base/media/icon.png
+0
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/resources/base/profile/main_pages.json
...ion/entry/src/main/resources/base/profile/main_pages.json
+5
-0
multimedia/medialibrary/mediaLibrary_getExiflocation/signature/openharmony_sx.p7b
...mediaLibrary_getExiflocation/signature/openharmony_sx.p7b
+0
-0
未找到文件。
multimedia/BUILD.gn
浏览文件 @
7d0094d6
...
@@ -56,6 +56,8 @@ group("multimedia") {
...
@@ -56,6 +56,8 @@ group("multimedia") {
"medialibrary/mediaLibrary_fileAsset:mediaLibrary_fileAsset_hap",
"medialibrary/mediaLibrary_fileAsset:mediaLibrary_fileAsset_hap",
"medialibrary/mediaLibrary_fileKey:mediaLibrary_fileKey_hap",
"medialibrary/mediaLibrary_fileKey:mediaLibrary_fileKey_hap",
"medialibrary/mediaLibrary_fileResult:mediaLibrary_fileResult_hap",
"medialibrary/mediaLibrary_fileResult:mediaLibrary_fileResult_hap",
"medialibrary/mediaLibrary_getExifNoLocation:mediaLibrary_getExifNolocation_hap",
"medialibrary/mediaLibrary_getExiflocation:mediaLibrary_getExifLocation_hap",
"medialibrary/mediaLibrary_getThumbnail:mediaLibrary_getThumbnail_hap",
"medialibrary/mediaLibrary_getThumbnail:mediaLibrary_getThumbnail_hap",
"medialibrary/mediaLibrary_mediafetchoptions:mediaLibrary_mediafetchoptions_hap",
"medialibrary/mediaLibrary_mediafetchoptions:mediaLibrary_mediafetchoptions_hap",
"medialibrary/mediaLibrary_trash:mediaLibrary_trash_js_hap",
"medialibrary/mediaLibrary_trash:mediaLibrary_trash_js_hap",
...
...
multimedia/medialibrary/mediaLibrary_getExifNoLocation/AppScope/app.json
0 → 100644
浏览文件 @
7d0094d6
{
"app"
:
{
"bundleName"
:
"ohos.acts.multimedia.mediaLibrary"
,
"vendor"
:
"huawei"
,
"versionCode"
:
1000000
,
"versionName"
:
"1.0.0"
,
"debug"
:
false
,
"icon"
:
"$media:icon"
,
"label"
:
"$string:app_name"
,
"description"
:
"$string:description_application"
,
"distributedNotificationEnabled"
:
true
,
"keepAlive"
:
true
,
"singleUser"
:
true
,
"minAPIVersion"
:
9
,
"targetAPIVersion"
:
9
,
"car"
:
{
"apiCompatibleVersion"
:
9
,
"singleUser"
:
false
}
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/AppScope/resources/base/element/string.json
0 → 100644
浏览文件 @
7d0094d6
{
"string"
:[
{
"name"
:
"app_name"
,
"value"
:
"ohosProject"
}
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/AppScope/resources/base/media/app_icon.png
0 → 100644
浏览文件 @
7d0094d6
6.6 KB
multimedia/medialibrary/mediaLibrary_getExifNoLocation/BUILD.gn
0 → 100644
浏览文件 @
7d0094d6
# 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("mediaLibrary_getExifNolocation_hap") {
hap_profile = "entry/src/main/module.json"
js_build_mode = "debug"
deps = [
":mediaLibrary_js_assets",
":mediaLibrary_resources",
]
ets2abc = true
certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsMediaLibraryGetExifNolocationTest"
}
ohos_app_scope("medialibrary_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("mediaLibrary_js_assets") {
source_dir = "entry/src/main/ets"
}
ohos_resources("mediaLibrary_resources") {
sources = [ "entry/src/main/resources" ]
deps = [ ":medialibrary_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
multimedia/medialibrary/mediaLibrary_getExifNoLocation/Test.json
0 → 100644
浏览文件 @
7d0094d6
{
"description"
:
"Configuration for mediaLibrary Tests"
,
"driver"
:
{
"type"
:
"OHJSUnitTest"
,
"test-timeout"
:
"180000"
,
"bundle-name"
:
"ohos.acts.multimedia.mediaLibrary"
,
"module-name"
:
"phone"
,
"shell-timeout"
:
"600000"
,
"testcase-timeout"
:
70000
},
"kits"
:
[
{
"type"
:
"ShellKit"
,
"pre-push"
:
[],
"run-command"
:
[
"rm -rf /storage/media/100/local/files/*"
,
"rm -rf /data/app/el2/100/database/com.ohos.medialibrary.MediaLibraryDataA/*"
,
"mkdir -pv /storage/media/100/local/files/{Pictures,Videos,Audios,Documents}"
,
"mkdir -p /storage/media/100/local/temp"
,
"param set persist.ace.testmode.enabled 1"
,
"power-shell wakeup"
,
"uinput -T -d 300 600 -m 300 600 300 100 -u 300 100"
,
"power-shell setmode 602"
]
},
{
"type"
:
"PushKit"
,
"pre-push"
:
[],
"push"
:
[
"./resource/medialibrary/test_exif.jpg ->/storage/media/100/local/temp"
]
},
{
"type"
:
"ShellKit"
,
"run-command"
:
[
"mkdir -pv /storage/media/100/local/files/Pictures/Images"
,
"cp /storage/media/100/local/temp/test_exif.jpg /storage/media/100/local/files/Pictures/Images/test_exif.jpg"
,
"chmod -R 777 /storage/media/100/local/files/*"
,
"chmod -R 777 /data/service/el2/100/hmdfs/account/files/*"
,
"hilog -Q pidoff"
,
"hilog -p off"
,
"hilog -b I"
,
"hilog -b D -D 0xD002B70"
,
"scanner"
,
"sleep 10"
],
"teardown-command"
:
[
"hilog -b X -D 0xD002B70"
,
"power-shell setmode 600"
]
},
{
"test-file-name"
:
[
"ActsMediaLibraryGetExifNolocationTest.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/Application/AbilityStage.ts
0 → 100644
浏览文件 @
7d0094d6
import
AbilityStage
from
"
@ohos.app.ability.AbilityStage
"
export
default
class
MyAbilityStage
extends
AbilityStage
{
onCreate
()
{
console
.
log
(
"
[Demo] MyAbilityStage onCreate
"
)
globalThis
.
stageOnCreateRun
=
1
;
globalThis
.
stageContext
=
this
.
context
;
}
}
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/MainAbility/MainAbility.ts
0 → 100644
浏览文件 @
7d0094d6
import
Ability
from
'
@ohos.app.ability.UIAbility
'
export
default
class
MainAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
// Ability is creating, initialize resources for this ability
console
.
log
(
"
[Demo] MainAbility onCreate
"
)
globalThis
.
abilityWant
=
want
;
}
onDestroy
()
{
// Ability is destroying, release resources for this ability
console
.
log
(
"
[Demo] MainAbility onDestroy
"
)
}
async
onWindowStageCreate
(
windowStage
)
{
console
.
log
(
"
[Demo] MainAbility onWindowStageCreate windowStage=
"
+
windowStage
)
globalThis
.
windowStage
=
windowStage
globalThis
.
abilityContext
=
this
.
context
windowStage
.
setUIContent
(
this
.
context
,
"
MainAbility/pages/index/index
"
,
null
)
}
onWindowStageDestroy
()
{
//Main window is destroyed, release UI related resources
console
.
log
(
"
[Demo] MainAbility onWindowStageDestroy
"
)
}
onForeground
()
{
// Ability has brought to foreground
console
.
log
(
"
[Demo] MainAbility onForeground
"
)
}
onBackground
()
{
// Ability has back to background
console
.
log
(
"
[Demo] MainAbility onBackground
"
)
}
};
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/MainAbility/pages/index/index.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* 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 '@ohos.router';
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from '@ohos/hypium'
import testsuite from '../../../test/List.test'
@Entry
@Component
struct Index {
aboutToAppear(){
console.info("start run testcase!!!!")
var abilityDelegator: any
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var abilityDelegatorArguments: any
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
console.info('start run testcase!!!')
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
}
build() {
Flex({ direction:FlexDirection.Column, alignItems:ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Hello World')
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.onClick(() => {
})
}
.width('100%')
.height('100%')
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/TestAbility/TestAbility.ts
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (c) 2022 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
Ability
from
'
@ohos.app.ability.UIAbility
'
export
default
class
TestAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
console
.
log
(
'
TestAbility onCreate
'
)
}
onDestroy
()
{
console
.
log
(
'
TestAbility onDestroy
'
)
}
onWindowStageCreate
(
windowStage
)
{
console
.
log
(
'
TestAbility onWindowStageCreate
'
)
windowStage
.
loadContent
(
"
TestAbility/pages/index
"
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content. Data:
'
+
JSON
.
stringify
(
data
))
});
globalThis
.
abilityContext
=
this
.
context
;
}
onWindowStageDestroy
()
{
console
.
log
(
'
TestAbility onWindowStageDestroy
'
)
}
onForeground
()
{
console
.
log
(
'
TestAbility onForeground
'
)
}
onBackground
()
{
console
.
log
(
'
TestAbility onBackground
'
)
}
};
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/TestAbility/pages/index.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (c) 2022 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 '@ohos.router';
@Entry
@Component
struct Index {
aboutToAppear() {
console.info('TestAbility index aboutToAppear')
}
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(20)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.width('35%')
.height('5%')
.onClick(()=>{
})
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (c) 2022 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
TestRunner
from
'
@ohos.application.testRunner
'
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
var
abilityDelegator
=
undefined
var
abilityDelegatorArguments
=
undefined
function
translateParamsToString
(
parameters
)
{
const
keySet
=
new
Set
([
'
-s class
'
,
'
-s notClass
'
,
'
-s suite
'
,
'
-s it
'
,
'
-s level
'
,
'
-s testType
'
,
'
-s size
'
,
'
-s timeout
'
,
'
-s dryRun
'
])
let
targetParams
=
''
;
for
(
const
key
in
parameters
)
{
if
(
keySet
.
has
(
key
))
{
targetParams
=
`
${
targetParams
}
${
key
}
${
parameters
[
key
]}
`
}
}
return
targetParams
.
trim
()
}
async
function
onAbilityCreateCallback
()
{
console
.
log
(
"
onAbilityCreateCallback
"
);
}
async
function
addAbilityMonitorCallback
(
err
:
any
)
{
console
.
info
(
"
addAbilityMonitorCallback :
"
+
JSON
.
stringify
(
err
))
}
export
default
class
OpenHarmonyTestRunner
implements
TestRunner
{
constructor
()
{
}
onPrepare
()
{
console
.
info
(
"
OpenHarmonyTestRunner OnPrepare
"
)
}
async
onRun
()
{
console
.
log
(
'
OpenHarmonyTestRunner onRun run
'
)
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
testAbilityName
=
abilityDelegatorArguments
.
bundleName
+
'
.MainAbility
'
let
lMonitor
=
{
abilityName
:
testAbilityName
,
onAbilityCreate
:
onAbilityCreateCallback
,
};
abilityDelegator
.
addAbilityMonitor
(
lMonitor
,
addAbilityMonitorCallback
)
var
cmd
=
'
aa start -d 0 -a com.example.myapplication.MainAbility
'
+
'
-b
'
+
abilityDelegatorArguments
.
bundleName
cmd
+=
'
'
+
translateParamsToString
(
abilityDelegatorArguments
.
parameters
)
var
debug
=
abilityDelegatorArguments
.
parameters
[
"
-D
"
]
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
}
console
.
info
(
'
cmd :
'
+
cmd
)
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
:
any
,
d
:
any
)
=>
{
console
.
info
(
'
executeShellCommand : err :
'
+
JSON
.
stringify
(
err
));
console
.
info
(
'
executeShellCommand : data :
'
+
d
.
stdResult
);
console
.
info
(
'
executeShellCommand : data :
'
+
d
.
exitCode
);
})
console
.
info
(
'
OpenHarmonyTestRunner onRun end
'
)
}
};
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/test/List.test.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* 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 getExifNoLocationTest from "./getExifNoLocation.test.ets";
export default function testsuite() {
getExifNoLocationTest(globalThis.abilityContext);
}
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/ets/test/getExifNoLocation.test.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (C) 2022 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 mediaLibrary from "@ohos.multimedia.mediaLibrary";
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index";
import abilityAccessCtrl from "@ohos.abilityAccessCtrl";
import bundle from "@ohos.bundle";
import uitest from "@ohos.uitest";
import { sleep } from "../../../../../../common";
export default function getExifNoLocation(abilityContext) {
describe("getExifNoLocation", function () {
beforeAll(async function () {
console.info("beforeAll case");
let permissions = ["ohos.permission.READ_MEDIA"];
abilityContext.requestPermissionsFromUser(permissions, (data) => {
console.info(`getPermission requestPermissionsFromUser ${JSON.stringify(data)}`);
});
await sleep(200);
let driver = uitest.Driver.create();
await sleep(200);
let button = await driver.findComponent(uitest.ON.text("允许"));
await button.click();
let appInfo = await bundle.getApplicationInfo("ohos.acts.multimedia.mediaLibrary", 0, 100);
let tokenID = appInfo.accessTokenId;
let atManager = abilityAccessCtrl.createAtManager();
let isGranted = await atManager.verifyAccessToken(tokenID, "ohos.permission.READ_MEDIA");
if (isGranted != 0) {
console.info("getpermission failed");
}
});
beforeEach(function () {
console.info("beforeEach case");
});
afterEach(async function () {
console.info("afterEach case");
});
afterAll(function () {
console.info("afterAll case");
});
let redactionGpsValue = "0/0, 0/0, 0/0, 0/0, 0/0, 0/0, 0/0, 0/0";
let redactionRefValue = "";
var media = mediaLibrary.getMediaLibrary(abilityContext);
const fileKeyObj = mediaLibrary.FileKey;
let imageType = mediaLibrary.MediaType.IMAGE;
/**
* @tc.number : SUB_MEDIA_MEDIALIBRARY_GETEXIFNOLOCATION_001
* @tc.name : getImageProperty
* @tc.desc : open("r")
* @tc.size : MEDIUM
* @tc.type : Function
* @tc.level : Level 0
*/
it("SUB_MEDIA_MEDIALIBRARY_GETEXIFNOLOCATION_001", 0, async function (done) {
try {
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFNOLOCATION_001 start1");
let fetchOp = {
selections: fileKeyObj.RELATIVE_PATH + "= ? AND " + fileKeyObj.MEDIA_TYPE + "= ?",
selectionArgs: ["Pictures/Images/", imageType.toString()],
};
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFNOLOCATION_001 start2");
let fetchFileResult = await media.getFileAssets(fetchOp);
const asset = await fetchFileResult.getFirstObject();
let fd = await asset.open("r");
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFNOLOCATION_001 fd: " + fd);
const imageSource = image.createImageSource(fd);
let value1 = await imageSource.getImageProperty("GPSLatitude");
let value2 = await imageSource.getImageProperty("GPSLongitude");
let value3 = await imageSource.getImageProperty("GPSLatitudeRef");
let value4 = await imageSource.getImageProperty("GPSLongitudeRef");
expect(value1).assertEqual(redactionGpsValue);
expect(value2).assertEqual(redactionGpsValue);
expect(value3).assertEqual(redactionRefValue);
expect(value4).assertEqual(redactionRefValue);
done();
} catch (error) {
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFNOLOCATION_001 error: " + error);
expect(false).assertTrue();
done();
}
});
});
}
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/module.json
0 → 100644
浏览文件 @
7d0094d6
{
"module"
:
{
"name"
:
"phone"
,
"type"
:
"entry"
,
"srcEntrance"
:
"./ets/Application/AbilityStage.ts"
,
"description"
:
"$string:phone_entry_dsc"
,
"mainElement"
:
"MainAbility"
,
"deviceTypes"
:
[
"tablet"
,
"default"
,
"phone"
],
"deliveryWithInstall"
:
true
,
"installationFree"
:
false
,
"uiSyntax"
:
"ets"
,
"pages"
:
"$profile:main_pages"
,
"abilities"
:
[
{
"name"
:
"com.example.myapplication.MainAbility"
,
"srcEntrance"
:
"./ets/MainAbility/MainAbility.ts"
,
"description"
:
"$string:phone_entry_main"
,
"icon"
:
"$media:icon"
,
"label"
:
"$string:entry_label"
,
"visible"
:
true
,
"orientation"
:
"portrait"
,
"skills"
:
[
{
"actions"
:
[
"action.system.home"
],
"entities"
:
[
"entity.system.home"
]
}
]
}
],
"requestPermissions"
:
[
{
"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.READ_MEDIA"
,
"reason"
:
"use ohos.permission.READ_MEDIA"
}
]
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/resources/base/element/string.json
0 → 100644
浏览文件 @
7d0094d6
{
"string"
:
[
{
"name"
:
"phone_entry_dsc"
,
"value"
:
"i am an entry for phone"
},
{
"name"
:
"phone_entry_main"
,
"value"
:
"the phone entry ability"
},
{
"name"
:
"entry_label"
,
"value"
:
"ActsMediaLibraryTest"
},
{
"name"
:
"form_description"
,
"value"
:
"mediaLibrary"
},
{
"name"
:
"serviceability_description"
,
"value"
:
"mediaLibrary"
},
{
"name"
:
"description_application"
,
"value"
:
"mediaLibrary test"
},
{
"name"
:
"app_name"
,
"value"
:
"ActsMediaLibraryTest"
}
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/resources/base/media/icon.png
0 → 100644
浏览文件 @
7d0094d6
6.6 KB
multimedia/medialibrary/mediaLibrary_getExifNoLocation/entry/src/main/resources/base/profile/main_pages.json
0 → 100644
浏览文件 @
7d0094d6
{
"src"
:
[
"MainAbility/pages/index/index"
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExifNoLocation/signature/openharmony_sx.p7b
0 → 100644
浏览文件 @
7d0094d6
文件已添加
multimedia/medialibrary/mediaLibrary_getExiflocation/AppScope/app.json
0 → 100644
浏览文件 @
7d0094d6
{
"app"
:
{
"bundleName"
:
"ohos.acts.multimedia.mediaLibrary"
,
"vendor"
:
"huawei"
,
"versionCode"
:
1000000
,
"versionName"
:
"1.0.0"
,
"debug"
:
false
,
"icon"
:
"$media:icon"
,
"label"
:
"$string:app_name"
,
"description"
:
"$string:description_application"
,
"distributedNotificationEnabled"
:
true
,
"keepAlive"
:
true
,
"singleUser"
:
true
,
"minAPIVersion"
:
9
,
"targetAPIVersion"
:
9
,
"car"
:
{
"apiCompatibleVersion"
:
9
,
"singleUser"
:
false
}
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/AppScope/resources/base/element/string.json
0 → 100644
浏览文件 @
7d0094d6
{
"string"
:[
{
"name"
:
"app_name"
,
"value"
:
"ohosProject"
}
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/AppScope/resources/base/media/app_icon.png
0 → 100644
浏览文件 @
7d0094d6
6.6 KB
multimedia/medialibrary/mediaLibrary_getExiflocation/BUILD.gn
0 → 100644
浏览文件 @
7d0094d6
# 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("mediaLibrary_getExifLocation_hap") {
hap_profile = "entry/src/main/module.json"
js_build_mode = "debug"
deps = [
":mediaLibrary_js_assets",
":mediaLibrary_resources",
]
ets2abc = true
certificate_profile = "signature/openharmony_sx.p7b"
hap_name = "ActsMediaLibraryGetExifLocationTest"
}
ohos_app_scope("medialibrary_app_profile") {
app_profile = "AppScope/app.json"
sources = [ "AppScope/resources" ]
}
ohos_js_assets("mediaLibrary_js_assets") {
source_dir = "entry/src/main/ets"
}
ohos_resources("mediaLibrary_resources") {
sources = [ "entry/src/main/resources" ]
deps = [ ":medialibrary_app_profile" ]
hap_profile = "entry/src/main/module.json"
}
multimedia/medialibrary/mediaLibrary_getExiflocation/Test.json
0 → 100644
浏览文件 @
7d0094d6
{
"description"
:
"Configuration for mediaLibrary Tests"
,
"driver"
:
{
"type"
:
"OHJSUnitTest"
,
"test-timeout"
:
"180000"
,
"bundle-name"
:
"ohos.acts.multimedia.mediaLibrary"
,
"module-name"
:
"phone"
,
"shell-timeout"
:
"600000"
,
"testcase-timeout"
:
70000
},
"kits"
:
[
{
"type"
:
"ShellKit"
,
"pre-push"
:
[],
"run-command"
:
[
"rm -rf /storage/media/100/local/files/*"
,
"rm -rf /data/app/el2/100/database/com.ohos.medialibrary.MediaLibraryDataA/*"
,
"mkdir -pv /storage/media/100/local/files/{Pictures,Videos,Audios,Documents}"
,
"mkdir -p /storage/media/100/local/temp"
,
"param set persist.ace.testmode.enabled 1"
,
"power-shell wakeup"
,
"uinput -T -d 300 600 -m 300 600 300 100 -u 300 100"
,
"power-shell setmode 602"
]
},
{
"type"
:
"PushKit"
,
"pre-push"
:
[],
"push"
:
[
"./resource/medialibrary/test_exif.jpg ->/storage/media/100/local/temp"
]
},
{
"type"
:
"ShellKit"
,
"run-command"
:
[
"mkdir -pv /storage/media/100/local/files/Pictures/Images"
,
"cp /storage/media/100/local/temp/test_exif.jpg /storage/media/100/local/files/Pictures/Images/test_exif.jpg"
,
"chmod -R 777 /storage/media/100/local/files/*"
,
"chmod -R 777 /data/service/el2/100/hmdfs/account/files/*"
,
"hilog -Q pidoff"
,
"hilog -p off"
,
"hilog -b I"
,
"hilog -b D -D 0xD002B70"
,
"scanner"
,
"sleep 10"
],
"teardown-command"
:
[
"hilog -b X -D 0xD002B70"
,
"power-shell setmode 600"
]
},
{
"test-file-name"
:
[
"ActsMediaLibraryGetExifLocationTest.hap"
],
"type"
:
"AppInstallKit"
,
"cleanup-apps"
:
true
}
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/Application/AbilityStage.ts
0 → 100644
浏览文件 @
7d0094d6
import
AbilityStage
from
"
@ohos.app.ability.AbilityStage
"
export
default
class
MyAbilityStage
extends
AbilityStage
{
onCreate
()
{
console
.
log
(
"
[Demo] MyAbilityStage onCreate
"
)
globalThis
.
stageOnCreateRun
=
1
;
globalThis
.
stageContext
=
this
.
context
;
}
}
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/MainAbility/MainAbility.ts
0 → 100644
浏览文件 @
7d0094d6
import
Ability
from
'
@ohos.app.ability.UIAbility
'
export
default
class
MainAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
// Ability is creating, initialize resources for this ability
console
.
log
(
"
[Demo] MainAbility onCreate
"
)
globalThis
.
abilityWant
=
want
;
}
onDestroy
()
{
// Ability is destroying, release resources for this ability
console
.
log
(
"
[Demo] MainAbility onDestroy
"
)
}
async
onWindowStageCreate
(
windowStage
)
{
console
.
log
(
"
[Demo] MainAbility onWindowStageCreate windowStage=
"
+
windowStage
)
globalThis
.
windowStage
=
windowStage
globalThis
.
abilityContext
=
this
.
context
windowStage
.
setUIContent
(
this
.
context
,
"
MainAbility/pages/index/index
"
,
null
)
}
onWindowStageDestroy
()
{
//Main window is destroyed, release UI related resources
console
.
log
(
"
[Demo] MainAbility onWindowStageDestroy
"
)
}
onForeground
()
{
// Ability has brought to foreground
console
.
log
(
"
[Demo] MainAbility onForeground
"
)
}
onBackground
()
{
// Ability has back to background
console
.
log
(
"
[Demo] MainAbility onBackground
"
)
}
};
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/MainAbility/pages/index/index.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* 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 '@ohos.router';
import AbilityDelegatorRegistry from '@ohos.application.abilityDelegatorRegistry'
import { Hypium } from '@ohos/hypium'
import testsuite from '../../../test/List.test'
@Entry
@Component
struct Index {
aboutToAppear(){
console.info("start run testcase!!!!")
var abilityDelegator: any
abilityDelegator = AbilityDelegatorRegistry.getAbilityDelegator()
var abilityDelegatorArguments: any
abilityDelegatorArguments = AbilityDelegatorRegistry.getArguments()
console.info('start run testcase!!!')
Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite)
}
build() {
Flex({ direction:FlexDirection.Column, alignItems:ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('Hello World')
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.onClick(() => {
})
}
.width('100%')
.height('100%')
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/TestAbility/TestAbility.ts
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (c) 2022 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
Ability
from
'
@ohos.app.ability.UIAbility
'
export
default
class
TestAbility
extends
Ability
{
onCreate
(
want
,
launchParam
)
{
console
.
log
(
'
TestAbility onCreate
'
)
}
onDestroy
()
{
console
.
log
(
'
TestAbility onDestroy
'
)
}
onWindowStageCreate
(
windowStage
)
{
console
.
log
(
'
TestAbility onWindowStageCreate
'
)
windowStage
.
loadContent
(
"
TestAbility/pages/index
"
,
(
err
,
data
)
=>
{
if
(
err
.
code
)
{
console
.
error
(
'
Failed to load the content. Cause:
'
+
JSON
.
stringify
(
err
));
return
;
}
console
.
info
(
'
Succeeded in loading the content. Data:
'
+
JSON
.
stringify
(
data
))
});
globalThis
.
abilityContext
=
this
.
context
;
}
onWindowStageDestroy
()
{
console
.
log
(
'
TestAbility onWindowStageDestroy
'
)
}
onForeground
()
{
console
.
log
(
'
TestAbility onForeground
'
)
}
onBackground
()
{
console
.
log
(
'
TestAbility onBackground
'
)
}
};
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/TestAbility/pages/index.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (c) 2022 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 '@ohos.router';
@Entry
@Component
struct Index {
aboutToAppear() {
console.info('TestAbility index aboutToAppear')
}
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button() {
Text('next page')
.fontSize(20)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.width('35%')
.height('5%')
.onClick(()=>{
})
}
.width('100%')
}
.height('100%')
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/TestRunner/OpenHarmonyTestRunner.ts
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (c) 2022 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
TestRunner
from
'
@ohos.application.testRunner
'
import
AbilityDelegatorRegistry
from
'
@ohos.application.abilityDelegatorRegistry
'
var
abilityDelegator
=
undefined
var
abilityDelegatorArguments
=
undefined
function
translateParamsToString
(
parameters
)
{
const
keySet
=
new
Set
([
'
-s class
'
,
'
-s notClass
'
,
'
-s suite
'
,
'
-s it
'
,
'
-s level
'
,
'
-s testType
'
,
'
-s size
'
,
'
-s timeout
'
,
'
-s dryRun
'
])
let
targetParams
=
''
;
for
(
const
key
in
parameters
)
{
if
(
keySet
.
has
(
key
))
{
targetParams
=
`
${
targetParams
}
${
key
}
${
parameters
[
key
]}
`
}
}
return
targetParams
.
trim
()
}
async
function
onAbilityCreateCallback
()
{
console
.
log
(
"
onAbilityCreateCallback
"
);
}
async
function
addAbilityMonitorCallback
(
err
:
any
)
{
console
.
info
(
"
addAbilityMonitorCallback :
"
+
JSON
.
stringify
(
err
))
}
export
default
class
OpenHarmonyTestRunner
implements
TestRunner
{
constructor
()
{
}
onPrepare
()
{
console
.
info
(
"
OpenHarmonyTestRunner OnPrepare
"
)
}
async
onRun
()
{
console
.
log
(
'
OpenHarmonyTestRunner onRun run
'
)
abilityDelegatorArguments
=
AbilityDelegatorRegistry
.
getArguments
()
abilityDelegator
=
AbilityDelegatorRegistry
.
getAbilityDelegator
()
var
testAbilityName
=
abilityDelegatorArguments
.
bundleName
+
'
.MainAbility
'
let
lMonitor
=
{
abilityName
:
testAbilityName
,
onAbilityCreate
:
onAbilityCreateCallback
,
};
abilityDelegator
.
addAbilityMonitor
(
lMonitor
,
addAbilityMonitorCallback
)
var
cmd
=
'
aa start -d 0 -a com.example.myapplication.MainAbility
'
+
'
-b
'
+
abilityDelegatorArguments
.
bundleName
cmd
+=
'
'
+
translateParamsToString
(
abilityDelegatorArguments
.
parameters
)
var
debug
=
abilityDelegatorArguments
.
parameters
[
"
-D
"
]
if
(
debug
==
'
true
'
)
{
cmd
+=
'
-D
'
}
console
.
info
(
'
cmd :
'
+
cmd
)
abilityDelegator
.
executeShellCommand
(
cmd
,
(
err
:
any
,
d
:
any
)
=>
{
console
.
info
(
'
executeShellCommand : err :
'
+
JSON
.
stringify
(
err
));
console
.
info
(
'
executeShellCommand : data :
'
+
d
.
stdResult
);
console
.
info
(
'
executeShellCommand : data :
'
+
d
.
exitCode
);
})
console
.
info
(
'
OpenHarmonyTestRunner onRun end
'
)
}
};
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/test/List.test.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* 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 getExifLocationTest from "./getExifLocation.test.ets";
export default function testsuite() {
getExifLocationTest(globalThis.abilityContext);
}
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/ets/test/getExifLocation.test.ets
0 → 100644
浏览文件 @
7d0094d6
/*
* Copyright (C) 2022 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 mediaLibrary from "@ohos.multimedia.mediaLibrary";
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from "deccjsunit/index";
import abilityAccessCtrl from "@ohos.abilityAccessCtrl";
import bundle from "@ohos.bundle";
import uitest from "@ohos.uitest";
import { sleep } from "../../../../../../common";
export default function getExifLocation(abilityContext) {
describe("getExifLocation", function () {
beforeAll(async function () {
console.info("beforeAll case");
let permissions = ["ohos.permission.MEDIA_LOCATION", "ohos.permission.READ_MEDIA"];
abilityContext.requestPermissionsFromUser(permissions, (data) => {
console.info(`getPermission requestPermissionsFromUser ${JSON.stringify(data)}`);
});
await sleep(200);
let driver = uitest.Driver.create();
await sleep(200);
let button = await driver.findComponent(uitest.ON.text("允许"));
await button.click();
let appInfo = await bundle.getApplicationInfo("ohos.acts.multimedia.mediaLibrary", 0, 100);
let tokenID = appInfo.accessTokenId;
let atManager = abilityAccessCtrl.createAtManager();
let isGranted1 = await atManager.verifyAccessToken(tokenID, "ohos.permission.MEDIA_LOCATION");
let isGranted2 = await atManager.verifyAccessToken(tokenID, "ohos.permission.READ_MEDIA");
if (!(isGranted1 == 0 && isGranted2 == 0)) {
console.info("getpermission failed");
}
});
beforeEach(function () {
console.info("beforeEach case");
});
afterEach(async function () {
console.info("afterEach case");
});
afterAll(function () {
console.info("afterAll case");
});
var media = mediaLibrary.getMediaLibrary(abilityContext);
const fileKeyObj = mediaLibrary.FileKey;
let imageType = mediaLibrary.MediaType.IMAGE;
/**
* @tc.number : SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001
* @tc.name : getImageProperty
* @tc.desc : open('r')
* @tc.size : MEDIUM
* @tc.type : Function
* @tc.level : Level 0
*/
it("SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001", 0, async function (done) {
try {
let fetchOp = {
selections: fileKeyObj.RELATIVE_PATH + "= ? AND " + fileKeyObj.MEDIA_TYPE + "= ?",
selectionArgs: ["Pictures/Images/", imageType.toString()],
};
let fetchFileResult = await media.getFileAssets(fetchOp);
const asset = await fetchFileResult.getFirstObject();
let fd = await asset.open("r");
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001 fd: " + fd);
const imageSource = image.createImageSource(fd);
let value1 = await imageSource.getImageProperty("GPSLatitude");
let value2 = await imageSource.getImageProperty("GPSLongitude");
let value3 = await imageSource.getImageProperty("GPSLatitudeRef");
let value4 = await imageSource.getImageProperty("GPSLongitudeRef");
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001 value1: " + value1);
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001 value2: " + value2);
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001 value3: " + value3);
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001 value4: " + value4);
expect(value1.search("38") != -1).assertTrue();
expect(value2.search("9") != -1).assertTrue();
expect(value3).assertEqual("N");
expect(value4).assertEqual("W");
done();
} catch (error) {
console.info("SUB_MEDIA_MEDIALIBRARY_GETEXIFLOCATION_001 error: " + error);
expect(false).assertTrue();
done();
}
});
});
}
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/module.json
0 → 100644
浏览文件 @
7d0094d6
{
"module"
:
{
"name"
:
"phone"
,
"type"
:
"entry"
,
"srcEntrance"
:
"./ets/Application/AbilityStage.ts"
,
"description"
:
"$string:phone_entry_dsc"
,
"mainElement"
:
"MainAbility"
,
"deviceTypes"
:
[
"tablet"
,
"default"
,
"phone"
],
"deliveryWithInstall"
:
true
,
"installationFree"
:
false
,
"uiSyntax"
:
"ets"
,
"pages"
:
"$profile:main_pages"
,
"abilities"
:
[
{
"name"
:
"com.example.myapplication.MainAbility"
,
"srcEntrance"
:
"./ets/MainAbility/MainAbility.ts"
,
"description"
:
"$string:phone_entry_main"
,
"icon"
:
"$media:icon"
,
"label"
:
"$string:entry_label"
,
"visible"
:
true
,
"orientation"
:
"portrait"
,
"skills"
:
[
{
"actions"
:
[
"action.system.home"
],
"entities"
:
[
"entity.system.home"
]
}
]
}
],
"requestPermissions"
:
[
{
"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"
}
]
}
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/resources/base/element/string.json
0 → 100644
浏览文件 @
7d0094d6
{
"string"
:
[
{
"name"
:
"phone_entry_dsc"
,
"value"
:
"i am an entry for phone"
},
{
"name"
:
"phone_entry_main"
,
"value"
:
"the phone entry ability"
},
{
"name"
:
"entry_label"
,
"value"
:
"ActsMediaLibraryTest"
},
{
"name"
:
"form_description"
,
"value"
:
"mediaLibrary"
},
{
"name"
:
"serviceability_description"
,
"value"
:
"mediaLibrary"
},
{
"name"
:
"description_application"
,
"value"
:
"mediaLibrary test"
},
{
"name"
:
"app_name"
,
"value"
:
"ActsMediaLibraryTest"
}
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/resources/base/media/icon.png
0 → 100644
浏览文件 @
7d0094d6
6.6 KB
multimedia/medialibrary/mediaLibrary_getExiflocation/entry/src/main/resources/base/profile/main_pages.json
0 → 100644
浏览文件 @
7d0094d6
{
"src"
:
[
"MainAbility/pages/index/index"
]
}
\ No newline at end of file
multimedia/medialibrary/mediaLibrary_getExiflocation/signature/openharmony_sx.p7b
0 → 100644
浏览文件 @
7d0094d6
文件已添加
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录