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})