• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2* Copyright (c) 2021 Huawei Device Co., Ltd.
3* Licensed under the Apache License, Version 2.0 (the "License");
4* you may not use this file except in compliance with the License.
5* You may obtain a copy of the License at
6*
7* http://www.apache.org/licenses/LICENSE-2.0
8*
9* Unless required by applicable law or agreed to in writing, software
10* distributed under the License is distributed on an "AS IS" BASIS,
11* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12* See the License for the specific language governing permissions and
13* limitations under the License.
14*/
15import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from 'deccjsunit/index'
16import data_preferences from '@ohos.data.preferences'
17import featureAbility from '@ohos.ability.featureAbility'
18
19const NAME = 'v9_test_preferences_promise'
20const KEY_TEST_INT_ELEMENT = 'key_test_int'
21const KEY_TEST_LONG_ELEMENT = 'key_test_long'
22const KEY_TEST_FLOAT_ELEMENT = 'key_test_float'
23const KEY_TEST_BOOLEAN_ELEMENT = 'key_test_boolean'
24const KEY_TEST_STRING_ELEMENT = 'key_test_string'
25const KEY_TEST_NUMBER_ARRAY_ELEMENT = 'key_test_number_array'
26const KEY_TEST_STRING_ARRAY_ELEMENT = 'key_test_string_array'
27const KEY_TEST_BOOL_ARRAY_ELEMENT = 'key_test_bool_array'
28var mPreference
29var context
30
31describe('_preferencesTest', async function () {
32    beforeAll(async function () {
33        console.info('beforeAll')
34        context = featureAbility.getContext()
35        mPreference = await data_preferences.getPreferences(context, NAME)
36    })
37
38    afterAll(async function () {
39        console.info('afterAll')
40        await data_preferences.deletePreferences(context, NAME)
41    })
42
43    beforeEach(async function () {
44        console.info('beforeEach')
45        await mPreference.clear();
46        await mPreference.flush();
47    })
48
49    it('testPreferencesPromise001', 0, function (done) {
50        console.log("testPreferencesPromise001 begin.")
51        try{
52            if(mPreference== undefined) {
53                console.log("mPreference undefined")
54                expect(false).assertTrue()
55            }
56            mPreference.clear().then(()=>{
57                mPreference.put(KEY_TEST_STRING_ELEMENT, '123').then((ret)=>{
58                    mPreference.get(KEY_TEST_STRING_ELEMENT, "defaultvalue").then((pre)=>{
59                        expect('123').assertEqual(pre)
60                        mPreference.flush().then(()=>{
61                            data_preferences.removePreferencesFromCache(context, NAME).then(()=>{
62                                mPreference.get(KEY_TEST_STRING_ELEMENT, "defaultvalue").then((pre2)=>{
63                                    expect('123').assertEqual(pre2)
64                                    done()
65                                    console.log("testPreferencesPromise001 end.")
66                                }).catch((err) => {
67                                    console.log("get err =" + err + ", code =" + err.code +", message =" + err.message)
68                                    expect(false).assertTrue()
69                                })
70                            }).catch((err) => {
71                                console.log("removePreferencesFromCache err =" + err + ", code =" + err.code +", message =" + err.message)
72                                expect(false).assertTrue()
73                            })
74                        }).catch((err) => {
75                            console.log("flush err =" + err + ", code =" + err.code +", message =" + err.message)
76                            expect(false).assertTrue()
77                        })
78                    }).catch((err) => {
79                        console.log("get err =" + err + ", code =" + err.code +", message =" + err.message)
80                        expect(false).assertTrue()
81                    })
82                }).catch((err) => {
83                    console.log("put err =" + err + ", code =" + err.code +", message =" + err.message)
84                    expect(false).assertTrue()
85                })
86            }).catch((err) => {
87                console.log("clear err =" + err + ", code =" + err.code +", message =" + err.message)
88                expect(false).assertTrue()
89            })
90        } catch(err) {
91            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
92            expect(false).assertTrue()
93        }
94    })
95
96    //get error parsers
97    it('testPreferencesPromise002', 0, function (done) {
98        console.log("testPreferencesPromise002 begin.")
99        try{
100            mPreference.get(1233).then((ret)=>{
101                console.log("get err")
102                expect(false).assertTrue()
103            }).catch((err) => {
104                console.log("get err =" + err + ", code =" + err.code +", message =" + err.message)
105                expect(false).assertTrue()
106            })
107        } catch(err) {
108            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
109            done()
110            console.log("testPreferencesPromise002 end.")
111        }
112    })
113
114    //get OK parsers
115    it('testPreferencesPromise003', 0, async function (done) {
116        console.log("testPreferencesPromise003 begin.")
117        try{
118            await mPreference.put(KEY_TEST_STRING_ELEMENT, '123');
119            mPreference.get(KEY_TEST_STRING_ELEMENT, KEY_TEST_INT_ELEMENT).then((ret) => {
120                done()
121                expect('123').assertEqual(ret)
122                console.log("testPreferencesPromise003 end.")
123            }).catch((err) => {
124                console.log("get err =" + err + ", code =" + err.code +", message =" + err.message)
125                expect(false).assertTrue()
126            })
127        } catch(err) {
128            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
129            expect(false).assertTrue()
130        }
131    })
132
133    //getAll
134    it('testPreferencesPromise004', 0, function (done) {
135        console.log("testPreferencesPromise004 begin.")
136        try {
137            mPreference.getAll().then((ret) => {
138                done()
139                console.log("testPreferencesPromise004 end.")
140            }).catch((err) => {
141                console.log("getAll err =" + err + ", code =" + err.code + ", message =" + err.message)
142                expect(false).assertTrue()
143            })
144        } catch (err) {
145            console.log("trycatch err =" + err + ", code =" + err.code + ", message =" + err.message)
146            expect(false).assertTrue()
147        }
148    })
149
150    //has error parsers
151    it('testPreferencesPromise005', 0, function (done) {
152        console.log("testPreferencesPromise005 begin.")
153        try{
154            mPreference.has(123).then((val)=>{
155                console.log("has err")
156                expect(false).assertTrue()
157            }).catch((err) => {
158                console.log("has err =" + err + ", code =" + err.code +", message =" + err.message)
159                expect(false).assertTrue()
160            })
161        } catch(err) {
162            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
163            done()
164            console.log("testPreferencesPromise005 end.")
165        }
166    })
167
168    //has OK parsers
169    it('testPreferencesPromise006', 0, function (done) {
170        console.log("testPreferencesPromise006 begin.")
171        try{
172            mPreference.has(KEY_TEST_STRING_ELEMENT).then((val)=>{
173                done()
174                console.log("testPreferencesPromise006 end.")
175            }).catch((err) => {
176                console.log("has err =" + err + ", code =" + err.code +", message =" + err.message)
177                expect(false).assertTrue()
178            })
179        } catch(err) {
180            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
181            expect(false).assertTrue()
182        }
183    })
184
185    //put error parsers
186    it('testPreferencesPromise007', 0, function (done) {
187        console.log("testPreferencesPromise007 begin.")
188        try{
189            mPreference.put(1233).then(()=>{
190                console.log("put err")
191                expect(false).assertTrue()
192            }).catch((err) => {
193                console.log("put err =" + err + ", code =" + err.code +", message =" + err.message)
194                expect(false).assertTrue()
195            })
196        } catch(err) {
197            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
198            done()
199            console.log("testPreferencesPromise007 end.")
200        }
201    })
202
203    //put OK parsers
204    it('testPreferencesPromise008', 0, function (done) {
205        console.log("testPreferencesPromise008 begin.")
206        try{
207            mPreference.put(KEY_TEST_STRING_ELEMENT, KEY_TEST_INT_ELEMENT).then(()=>{
208                done()
209                console.log("testPreferencesPromise008 end.")
210            }).catch((err) => {
211                console.log("put err =" + err + ", code =" + err.code +", message =" + err.message)
212                expect(false).assertTrue()
213            })
214        } catch(err) {
215            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
216            expect(false).assertTrue()
217        }
218    })
219
220    //delete error parsers
221    it('testPreferencesPromise009', 0, function (done) {
222        console.log("testPreferencesPromise009 begin.")
223        try{
224            mPreference.delete(1233).then(()=>{
225                console.log("delete err")
226                expect(false).assertTrue()
227            }).catch((err) => {
228                console.log("delete err =" + err + ", code =" + err.code +", message =" + err.message)
229                expect(false).assertTrue()
230            })
231        } catch(err) {
232            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
233            done()
234            console.log("testPreferencesPromise009 end.")
235        }
236    })
237
238    //delete OK parsers
239    it('testPreferencesPromise010', 0, function (done) {
240        console.log("testPreferencesPromise010 begin.")
241        try{
242            mPreference.delete(KEY_TEST_STRING_ELEMENT).then(()=>{
243                done()
244                console.log("testPreferencesPromise005 end.")
245            }).catch((err) => {
246                console.log("delete err =" + err + ", code =" + err.code +", message =" + err.message)
247                expect(false).assertTrue()
248            })
249        } catch(err) {
250            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
251            expect(false).assertTrue()
252        }
253    })
254
255    //clear
256    it('testPreferencesPromise011', 0, function (done) {
257        console.log("testPreferencesPromise011 begin.")
258        try{
259            mPreference.clear().then(()=>{
260                done()
261                console.log("testPreferencesPromise011 end.")
262            }).catch((err) => {
263                console.log("clear err =" + err + ", code =" + err.code +", message =" + err.message)
264                expect(false).assertTrue()
265            })
266        } catch(err) {
267            console.log("trycatch err =" + err + ", code =" + err.code +", message =" + err.message)
268            expect(false).assertTrue()
269        }
270    })
271
272    //flush OK parsers
273    it('testPreferencesPromise012', 0, function (done) {
274        console.log("testPreferencesPromise012 begin.")
275        try {
276            mPreference.flush().then(() => {
277                done()
278                console.log("testPreferencesPromise012 end.")
279            }).catch((err) => {
280                console.log("flush err =" + err + ", code =" + err.code + ", message =" + err.message)
281                expect(false).assertTrue()
282            })
283        } catch (err) {
284            console.log("trycatch err =" + err + ", code =" + err.code + ", message =" + err.message)
285            expect(false).assertTrue()
286        }
287    })
288
289    //on OK parsers
290    it('testPreferencesPromise014', 0, async function (done) {
291        console.log("testPreferencesPromise014 begin.")
292        await mPreference.clear();
293        try {
294            var observer = function (key) {
295                console.info('testPreferencesPromise014 key' + key);
296                done();
297                expect(KEY_TEST_STRING_ELEMENT).assertEqual(key);
298            };
299            mPreference.on('change', observer);
300            await mPreference.put(KEY_TEST_STRING_ELEMENT, "abc");
301            await mPreference.flush();
302        } catch (err) {
303            console.log("trycatch err =" + err + ", code =" + err.code + ", message =" + err.message)
304            expect(false).assertTrue()
305        } finally {
306            mPreference.off('change', observer);
307        }
308    })
309
310    //on err parsers
311    it('testPreferencesPromise015', 0, async function (done) {
312        console.log("testPreferencesPromise015 begin.")
313        await mPreference.clear();
314        try {
315            var observer = function (key) {
316                console.info('testPreferencesPromise015 key' + key);
317                expect(KEY_TEST_STRING_ELEMENT).assertEqual(key);
318            };
319            mPreference.on('sschange', observer);
320            expect(false).assertTrue()
321        } catch (err) {
322            console.log("trycatch err =" + err + ", code =" + err.code + ", message =" + err.message)
323            done();
324        }
325    })
326
327    //off OK parsers
328    it('testPreferencesPromise016', 0, async function (done) {
329        console.log("testPreferencesPromise016 begin.")
330        try {
331            var observer = function (key) {
332                console.info('testPreferencesPromise016 key' + key);
333                expect(false).assertTrue()
334            };
335            mPreference.on('change', observer);
336            mPreference.off('change', observer);
337            await mPreference.put(KEY_TEST_STRING_ELEMENT, "abb");
338            await mPreference.flush();
339        } catch (err) {
340            console.log("trycatch err =" + err + ", code =" + err.code + ", message =" + err.message)
341            expect(false).assertTrue()
342        }
343        done();
344    })
345
346    //off err parsers
347    it('testPreferencesPromise017', 0, async function (done) {
348        console.log("testPreferencesPromise017 begin.")
349        try {
350            var observer = function (key) {
351                console.info('testPreferencesPromise017 key' + key);
352                expect(KEY_TEST_STRING_ELEMENT).assertEqual(key);
353            };
354            mPreference.on('change', observer);
355            mPreference.off('sschange', observer);
356            expect(false).assertTrue()
357        } catch (err) {
358            console.log("trycatch err =" + err + ", code =" + err.code + ", message =" + err.message)
359            done();
360        }
361    })
362})