mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
179 lines
5.8 KiB
TypeScript
179 lines
5.8 KiB
TypeScript
var appSettings = require('@nativescript/core/application-settings');
|
|
import * as TKUnit from '../tk-unit';
|
|
|
|
var stringKey: string = 'stringKey';
|
|
var boolKey: string = 'boolKey';
|
|
var numberKey: string = 'numberKey';
|
|
var noStringKey: string = 'noStringKey';
|
|
var noBoolKey: string = 'noBoolKey';
|
|
var noNumberKey: string = 'noNumberKey';
|
|
|
|
export var testBoolean = function () {
|
|
appSettings.setBoolean(boolKey, false);
|
|
var boolValueBefore = appSettings.getBoolean(boolKey);
|
|
TKUnit.assert(false === boolValueBefore, 'Cannot set boolean to false, currently it is: ' + appSettings.getBoolean(boolKey));
|
|
|
|
appSettings.setBoolean('boolKey', true);
|
|
var boolValue = appSettings.getBoolean('boolKey', false);
|
|
|
|
TKUnit.assert(true === boolValue, 'Cannot set boolean to true');
|
|
|
|
TKUnit.assert(true === appSettings.getBoolean(boolKey), 'Cannot set boolean to true (no default)');
|
|
};
|
|
|
|
export var testString = function () {
|
|
appSettings.setString('stringKey', 'String value');
|
|
var stringValue = appSettings.getString('stringKey');
|
|
|
|
TKUnit.assert('String value' === stringValue, 'Cannot set string value');
|
|
};
|
|
|
|
export var testNumber = function () {
|
|
appSettings.setNumber('numberKey', 54.321);
|
|
var value = parseFloat(appSettings.getNumber('numberKey').toFixed(3));
|
|
|
|
TKUnit.assert(54.321 === value, 'Cannot set number value 54.321 != ' + value);
|
|
};
|
|
|
|
export var testDefaults = function () {
|
|
var defaultValue = appSettings.getString('noStringKey', 'No string value');
|
|
// will return "No string value" if there is no value for "noStringKey"
|
|
|
|
TKUnit.assert('No string value' === defaultValue, 'Bad default string value');
|
|
TKUnit.assert(true === appSettings.getBoolean(noBoolKey, true), 'Bad default boolean value');
|
|
TKUnit.assert(123.45 === appSettings.getNumber(noNumberKey, 123.45), 'Bad default number value');
|
|
};
|
|
|
|
export var testDefaultsWithNoDefaultValueProvided = function () {
|
|
var defaultValue = appSettings.getString('noStringKey');
|
|
// will return undefined if there is no value for "noStringKey"
|
|
|
|
TKUnit.assertEqual(defaultValue, undefined, 'Default string value is not undefined');
|
|
|
|
TKUnit.assertEqual(appSettings.getBoolean(noBoolKey), undefined, 'Default boolean value is not undefined');
|
|
TKUnit.assertEqual(appSettings.getNumber(noNumberKey), undefined, 'Default number value is not undefined');
|
|
};
|
|
|
|
export var testHasKey = function () {
|
|
var hasKey = appSettings.hasKey('noBoolKey');
|
|
// will return false if there is no value for "noBoolKey"
|
|
|
|
TKUnit.assert(!hasKey, 'There is a key: ' + noBoolKey);
|
|
TKUnit.assert(!appSettings.hasKey(noStringKey), 'There is a key: ' + noStringKey);
|
|
TKUnit.assert(!appSettings.hasKey(noNumberKey), 'There is a key: ' + noNumberKey);
|
|
|
|
TKUnit.assert(appSettings.hasKey(boolKey), 'There is no key: ' + boolKey);
|
|
TKUnit.assert(appSettings.hasKey(stringKey), 'There is no key: ' + stringKey);
|
|
TKUnit.assert(appSettings.hasKey(numberKey), 'There is no key: ' + numberKey);
|
|
};
|
|
|
|
export var testRemove = function () {
|
|
appSettings.remove('boolKey');
|
|
|
|
TKUnit.assert(!appSettings.hasKey(boolKey), 'Failed to remove key: ' + boolKey);
|
|
|
|
appSettings.remove(stringKey);
|
|
TKUnit.assert(!appSettings.hasKey(stringKey), 'Failed to remove key: ' + stringKey);
|
|
|
|
appSettings.remove(numberKey);
|
|
TKUnit.assert(!appSettings.hasKey(numberKey), 'Failed to remove key: ' + numberKey);
|
|
};
|
|
|
|
export var testClear = function () {
|
|
appSettings.clear();
|
|
|
|
TKUnit.assert(!appSettings.hasKey(boolKey), 'Failed to remove key: ' + boolKey);
|
|
TKUnit.assert(!appSettings.hasKey(stringKey), 'Failed to remove key: ' + stringKey);
|
|
TKUnit.assert(!appSettings.hasKey(numberKey), 'Failed to remove key: ' + numberKey);
|
|
};
|
|
|
|
export var testFlush = function () {
|
|
appSettings.setString(stringKey, 'String value');
|
|
|
|
var flushed = appSettings.flush();
|
|
// will return boolean indicating whether flush to disk was successful
|
|
|
|
TKUnit.assert(flushed, 'Flush failed: ' + flushed);
|
|
TKUnit.assert(appSettings.hasKey(stringKey), 'There is no key: ' + stringKey);
|
|
};
|
|
|
|
export var testAllKeys = function () {
|
|
appSettings.setString(stringKey, 'String value');
|
|
appSettings.setBoolean(boolKey, true);
|
|
appSettings.setNumber(numberKey, 22);
|
|
|
|
var allKeys = appSettings.getAllKeys();
|
|
TKUnit.assert(allKeys.indexOf(stringKey) !== -1, `${stringKey} is missing from .allKeys()`);
|
|
TKUnit.assert(allKeys.indexOf(boolKey) !== -1, `${boolKey} is missing from .allKeys()`);
|
|
TKUnit.assert(allKeys.indexOf(numberKey) !== -1, `${numberKey} is missing from .allKeys()`);
|
|
};
|
|
|
|
export var testInvalidKey = function () {
|
|
try {
|
|
appSettings.hasKey(undefined);
|
|
TKUnit.assert(false, 'There is a key undefined');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
try {
|
|
appSettings.hasKey(null);
|
|
TKUnit.assert(false, 'There is a key null');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
try {
|
|
appSettings.hasKey(123);
|
|
TKUnit.assert(false, 'There is a key number');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
appSettings.hasKey('string');
|
|
};
|
|
|
|
export var testInvalidValue = function () {
|
|
try {
|
|
appSettings.setBoolean(boolKey, 'str');
|
|
TKUnit.assert(false, 'There is a key undefined');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
try {
|
|
appSettings.setBoolean(boolKey, 123);
|
|
TKUnit.assert(false, 'There is a key undefined');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
try {
|
|
appSettings.setString(boolKey, true);
|
|
TKUnit.assert(false, 'There is a key undefined');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
try {
|
|
appSettings.setString(boolKey, 123);
|
|
TKUnit.assert(false, 'There is a key undefined');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
try {
|
|
appSettings.setNumber(boolKey, true);
|
|
TKUnit.assert(false, 'There is a key undefined');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
|
|
try {
|
|
appSettings.setNumber(boolKey, '123');
|
|
TKUnit.assert(false, 'There is a key undefined');
|
|
} catch (e) {
|
|
// we should receive an exception here
|
|
}
|
|
};
|