Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: test/codegen/lib/html/localstorage_test.dart

Issue 1930043002: Add all dart:html tests from the sdk to test/codegen. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library LocalStorageTest;
6 import 'package:unittest/unittest.dart';
7 import 'package:unittest/html_config.dart';
8 import 'dart:html';
9
10 main() {
11 useHtmlConfiguration();
12
13 void testWithLocalStorage(String name, fn()) {
14 test(name, () {
15 window.localStorage['key1'] = 'val1';
16 window.localStorage['key2'] = 'val2';
17 window.localStorage['key3'] = 'val3';
18
19 try {
20 fn();
21 } finally {
22 window.localStorage.clear();
23 }
24 });
25 }
26
27 testWithLocalStorage('containsValue', () {
28 expect(window.localStorage.containsValue('does not exist'), isFalse);
29 expect(window.localStorage.containsValue('key1'), isFalse);
30 expect(window.localStorage.containsValue('val1'), isTrue);
31 expect(window.localStorage.containsValue('val3'), isTrue);
32 });
33
34 testWithLocalStorage('containsKey', () {
35 expect(window.localStorage.containsKey('does not exist'), isFalse);
36 expect(window.localStorage.containsKey('val1'), isFalse);
37 expect(window.localStorage.containsKey('key1'), isTrue);
38 expect(window.localStorage.containsKey('key3'), isTrue);
39 });
40
41 testWithLocalStorage('[]', () {
42 expect(window.localStorage['does not exist'], isNull);
43 expect(window.localStorage['key1'], 'val1');
44 expect(window.localStorage['key3'], 'val3');
45 });
46
47 testWithLocalStorage('[]=', () {
48 expect(window.localStorage['key4'], isNull);
49 window.localStorage['key4'] = 'val4';
50 expect(window.localStorage['key4'], 'val4');
51
52 expect(window.localStorage['key3'], 'val3');
53 window.localStorage['key3'] = 'val3-new';
54 expect(window.localStorage['key3'], 'val3-new');
55 });
56
57 testWithLocalStorage('putIfAbsent', () {
58 expect(window.localStorage['key4'], isNull);
59 expect(window.localStorage.putIfAbsent('key4', () => 'val4'), 'val4');
60 expect(window.localStorage['key4'], 'val4');
61
62 expect(window.localStorage['key3'], 'val3');
63 expect(window.localStorage.putIfAbsent('key3',
64 () => expect(false, isTrue, reason: 'should not be called')), 'val3');
65 expect(window.localStorage['key3'], 'val3');
66 });
67
68 testWithLocalStorage('remove', () {
69 expect(window.localStorage.remove('does not exist'), isNull);
70 expect(window.localStorage.remove('key3'), 'val3');
71 expect(window.localStorage, equals({'key1': 'val1', 'key2': 'val2'}));
72 });
73
74 testWithLocalStorage('clear', () {
75 window.localStorage.clear();
76 expect(window.localStorage, equals({}));
77 });
78
79 testWithLocalStorage('forEach', () {
80 Map<String, String> results = {};
81 window.localStorage.forEach((k, v) {
82 results[k] = v;
83 });
84 expect(results, equals({'key1': 'val1', 'key2': 'val2', 'key3': 'val3'}));
85 });
86
87 testWithLocalStorage('getKeys', () {
88 expect(window.localStorage.keys.toList(),
89 unorderedEquals(['key1', 'key2', 'key3']));
90 });
91
92 testWithLocalStorage('getVals', () {
93 expect(window.localStorage.values.toList(),
94 unorderedEquals(['val1', 'val2', 'val3']));
95 });
96
97 testWithLocalStorage('length', () {
98 expect(window.localStorage.length, 3);
99 window.localStorage.clear();
100 expect(window.localStorage.length, 0);
101 });
102
103 testWithLocalStorage('isEmpty', () {
104 expect(window.localStorage.isEmpty, isFalse);
105 window.localStorage.clear();
106 expect(window.localStorage.isEmpty, isTrue);
107 });
108 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698