• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// @ts-nocheck
2/*
3* Copyright (c) 2022 Huawei Device Co., Ltd.
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
17import data_preferences from '@ohos.data.preferences'
18import featureAbility from '@ohos.ability.featureAbility';
19
20const NAME = 'test_preferences';
21const KEY_TEST_STRING_ELEMENT = 'key_test_string';
22var mPreferences;
23var context;
24describe('preferencesTest', function () {
25    beforeAll(async function () {
26        console.info('beforeAll')
27        context = featureAbility.getContext()
28        mPreferences = await data_preferences.getPreferences(context, NAME);
29    })
30
31    afterAll(async function () {
32        console.info('afterAll')
33        await data_preferences.deletePreferences(context, NAME);
34    })
35
36    /**
37     * @tc.name getPreferencesSync interface test
38     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_Preferences_0010
39     * @tc.desc getPreferencesSync interface test
40     */
41    it('testGetPreferencesHelper001', 0, async function () {
42        mPreferences = await data_preferences.getPreferences(context, NAME);
43        await mPreferences.put('test', 2);
44        await mPreferences.flush();
45        var value = await mPreferences.get('test', 0);
46        expect(value).assertEqual(2);
47    })
48
49    /**
50     * @tc.name getPreferences interface test
51     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_Preferences_0020
52     * @tc.desc getPreferences interface test
53     */
54    it('testGetPreferencesHelper002', 0, async function (done) {
55        const promise = data_preferences.getPreferences(context, NAME);
56        promise.then(async (pref) => {
57            await pref.put('test', 2);
58            await pref.flush();
59            var value = await mPreferences.get('test', 0);
60            done();
61            expect(value).assertEqual(2);
62        }).catch((err) => {
63            expect(null).assertFail();
64        });
65        await promise;
66    })
67
68    /**
69     * @tc.name removePreferencesFromCache interface test
70     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_Preferences_0030
71     * @tc.desc removePreferencesFromCache interface test
72     */
73    it('testRemovePreferencesFromCache001', 0, async function (done) {
74        let perf = await data_preferences.getPreferences(context, NAME);
75        perf = null;
76        const promise = data_preferences.removePreferencesFromCache(context, NAME);
77        promise.then((pref) => {
78        }).catch((err) => {
79            expect(null).assertFail();
80        });
81        await promise;
82        done();
83    })
84
85    /**
86     * @tc.name deletePreferences interface test
87     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_Preferences_0060
88     * @tc.desc deletePreferences interface test
89     */
90    it('testDeletePreferencesHelper002', 0, async function (done) {
91        let perf = await data_preferences.getPreferences(context, NAME);
92        perf = null;
93        const promise = data_preferences.deletePreferences(context, NAME);
94        promise.then((pref) => {
95        }).catch((err) => {
96            expect(null).assertFail();
97        });
98        await promise;
99        done();
100    })
101
102    /**
103     * @tc.name put interface test
104     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_0140
105     * @tc.desc put interface test
106     */
107    it('testPreferencesRegisterObserver001', 0, async function () {
108        await mPreferences.clear();
109        var observer = function (key) {
110            console.info('testPreferencesRegisterObserver001 key' + key);
111            expect('abcd').assertEqual(key);
112        };
113        await mPreferences.on('change', observer);
114        await mPreferences.put(KEY_TEST_STRING_ELEMENT, "abcd");
115    })
116
117    /**
118     * @tc.name repeat on interface test
119     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_0150
120     * @tc.desc repeat on interface test
121     */
122    it('testPreferencesRegisterObserver002', 0, async function () {
123        await mPreferences.clear();
124        var observer = function (key) {
125            console.info('testPreferencesRegisterObserver002 key' + key);
126            expect('abc').assertEqual(key);
127        };
128        await mPreferences.on('change', observer);
129        await mPreferences.on('change', observer);
130        await mPreferences.put(KEY_TEST_STRING_ELEMENT, "abc");
131    })
132
133    /**
134     * @tc.name off interface test
135     * @tc.number SUB_DDM_AppDataFWK_JSPreferences_0160
136     * @tc.desc off interface test
137     */
138    it('testPreferencesUnRegisterObserver001', 0, async function () {
139        var observer = function (key) {
140            console.info('testPreferencesUnRegisterObserver001 key' + key);
141            expect('').assertEqual(key);
142        };
143        await mPreferences.on('change', observer);
144        await mPreferences.off('change', observer);
145        await mPreferences.put(KEY_TEST_STRING_ELEMENT, "abc");
146    })
147})