85 lines
2.3 KiB
Dart
85 lines
2.3 KiB
Dart
// Copyright 2021 Sony Group Corporation. All rights reserved.
|
|
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
import 'package:file/memory.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:path/path.dart' as path;
|
|
import 'package:path_provider_elinux/path_provider_elinux.dart';
|
|
import 'package:shared_preferences_elinux/shared_preferences_elinux.dart';
|
|
import 'package:shared_preferences_platform_interface/shared_preferences_platform_interface.dart';
|
|
|
|
void main() {
|
|
late MemoryFileSystem fs;
|
|
|
|
SharedPreferencesELinux.registerWith();
|
|
|
|
setUp(() {
|
|
fs = MemoryFileSystem.test();
|
|
});
|
|
|
|
Future<String> _getFilePath() async {
|
|
final pathProvider = PathProviderLinux();
|
|
final directory = await pathProvider.getApplicationSupportPath();
|
|
return path.join(directory!, 'shared_preferences.json');
|
|
}
|
|
|
|
_writeTestFile(String value) async {
|
|
fs.file(await _getFilePath())
|
|
..createSync(recursive: true)
|
|
..writeAsStringSync(value);
|
|
}
|
|
|
|
Future<String> _readTestFile() async {
|
|
return fs.file(await _getFilePath()).readAsStringSync();
|
|
}
|
|
|
|
SharedPreferencesLinux _getPreferences() {
|
|
var prefs = SharedPreferencesLinux();
|
|
prefs.fs = fs;
|
|
return prefs;
|
|
}
|
|
|
|
test('registered instance', () {
|
|
expect(
|
|
SharedPreferencesStorePlatform.instance, isA<SharedPreferencesLinux>());
|
|
});
|
|
|
|
test('getAll', () async {
|
|
await _writeTestFile('{"key1": "one", "key2": 2}');
|
|
var prefs = _getPreferences();
|
|
|
|
var values = await prefs.getAll();
|
|
expect(values, hasLength(2));
|
|
expect(values['key1'], 'one');
|
|
expect(values['key2'], 2);
|
|
});
|
|
|
|
test('remove', () async {
|
|
await _writeTestFile('{"key1":"one","key2":2}');
|
|
var prefs = _getPreferences();
|
|
|
|
await prefs.remove('key2');
|
|
|
|
expect(await _readTestFile(), '{"key1":"one"}');
|
|
});
|
|
|
|
test('setValue', () async {
|
|
await _writeTestFile('{}');
|
|
var prefs = _getPreferences();
|
|
|
|
await prefs.setValue('', 'key1', 'one');
|
|
await prefs.setValue('', 'key2', 2);
|
|
|
|
expect(await _readTestFile(), '{"key1":"one","key2":2}');
|
|
});
|
|
|
|
test('clear', () async {
|
|
await _writeTestFile('{"key1":"one","key2":2}');
|
|
var prefs = _getPreferences();
|
|
|
|
await prefs.clear();
|
|
expect(await _readTestFile(), '{}');
|
|
});
|
|
}
|