diff --git a/key_value_store_web/lib/key_value_store_web.dart b/key_value_store_web/lib/key_value_store_web.dart index 9f73892..fd2e657 100644 --- a/key_value_store_web/lib/key_value_store_web.dart +++ b/key_value_store_web/lib/key_value_store_web.dart @@ -19,7 +19,7 @@ class WebKeyValueStore implements KeyValueStore { final Storage _storage; @override - Set getKeys() => _storage.keys; + Set getKeys() => _storage.keys.toSet(); @override bool getBool(String key) => _storage[key] == 'true'; diff --git a/key_value_store_web/test/key_value_store_web_test.dart b/key_value_store_web/test/key_value_store_web_test.dart index 894b34c..f798cea 100644 --- a/key_value_store_web/test/key_value_store_web_test.dart +++ b/key_value_store_web/test/key_value_store_web_test.dart @@ -24,6 +24,12 @@ void main() { expect(localStorage.getKeys(), ['key #1', 'key #2']); }); + test('getKeys type', () { + when(mockStorage.keys).thenReturn(List()); + + expect(localStorage.getKeys().runtimeType, Set().runtimeType); + }); + test('getBool', () { when(mockStorage['myTrueBool']).thenReturn(json.encode(true)); when(mockStorage['myFalseBool']).thenReturn(json.encode(false));