| OLD | NEW |
| 1 library HistoryTest; | 1 library HistoryTest; |
| 2 |
| 2 import 'package:unittest/unittest.dart'; | 3 import 'package:unittest/unittest.dart'; |
| 3 import 'package:unittest/html_individual_config.dart'; | 4 import 'package:unittest/html_individual_config.dart'; |
| 4 import 'dart:html'; | 5 import 'dart:html'; |
| 5 import 'dart:async'; | 6 import 'dart:async'; |
| 6 | 7 |
| 7 main() { | 8 main() { |
| 8 useHtmlIndividualConfiguration(); | 9 useHtmlIndividualConfiguration(); |
| 9 | 10 |
| 10 group('supported_state', () { | 11 group('supported_state', () { |
| 11 test('supportsState', () { | 12 test('supportsState', () { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 23 | 24 |
| 24 group('history', () { | 25 group('history', () { |
| 25 test('pushState', () { | 26 test('pushState', () { |
| 26 expect(() { | 27 expect(() { |
| 27 window.history.pushState(null, document.title, '?dummy'); | 28 window.history.pushState(null, document.title, '?dummy'); |
| 28 var length = window.history.length; | 29 var length = window.history.length; |
| 29 | 30 |
| 30 window.history.pushState(null, document.title, '?foo=bar'); | 31 window.history.pushState(null, document.title, '?foo=bar'); |
| 31 | 32 |
| 32 expect(window.location.href.endsWith('foo=bar'), isTrue); | 33 expect(window.location.href.endsWith('foo=bar'), isTrue); |
| 33 | |
| 34 }, expectation); | 34 }, expectation); |
| 35 }); | 35 }); |
| 36 | 36 |
| 37 test('pushState with data', () { | 37 test('pushState with data', () { |
| 38 expect(() { | 38 expect(() { |
| 39 window.history.pushState({'one' : 1}, document.title, '?dummy'); | 39 window.history.pushState({'one': 1}, document.title, '?dummy'); |
| 40 expect(window.history.state, equals({'one' : 1})); | 40 expect(window.history.state, equals({'one': 1})); |
| 41 window.history.pushState(null, document.title, '?foo=bar'); | 41 window.history.pushState(null, document.title, '?foo=bar'); |
| 42 | 42 |
| 43 expect(window.location.href.endsWith('foo=bar'), isTrue); | 43 expect(window.location.href.endsWith('foo=bar'), isTrue); |
| 44 | |
| 45 }, expectation); | 44 }, expectation); |
| 46 }); | 45 }); |
| 47 | 46 |
| 48 test('back', () { | 47 test('back', () { |
| 49 expect(() { | 48 expect(() { |
| 50 window.history.pushState(null, document.title, '?dummy1'); | 49 window.history.pushState(null, document.title, '?dummy1'); |
| 51 window.history.pushState(null, document.title, '?dummy2'); | 50 window.history.pushState(null, document.title, '?dummy2'); |
| 52 var length = window.history.length; | 51 var length = window.history.length; |
| 53 | 52 |
| 54 expect(window.location.href.endsWith('dummy2'), isTrue); | 53 expect(window.location.href.endsWith('dummy2'), isTrue); |
| 55 | 54 |
| 56 // Need to wait a frame or two to let the pushState events occur. | 55 // Need to wait a frame or two to let the pushState events occur. |
| 57 new Timer(const Duration(milliseconds: 100), expectAsync(() { | 56 new Timer(const Duration(milliseconds: 100), expectAsync(() { |
| 58 window.onPopState.first.then(expectAsync((_){ | 57 window.onPopState.first.then(expectAsync((_) { |
| 59 expect(window.history.length, length); | 58 expect(window.history.length, length); |
| 60 expect(window.location.href.endsWith('dummy1'), isTrue); | 59 expect(window.location.href.endsWith('dummy1'), isTrue); |
| 61 })); | 60 })); |
| 62 | 61 |
| 63 window.history.back(); | 62 window.history.back(); |
| 64 })); | 63 })); |
| 65 }, expectation); | 64 }, expectation); |
| 66 }); | 65 }); |
| 67 | 66 |
| 68 test('replaceState', () { | 67 test('replaceState', () { |
| 69 expect(() { | 68 expect(() { |
| 70 var length = window.history.length; | 69 var length = window.history.length; |
| 71 | 70 |
| 72 window.history.replaceState(null, document.title, '?foo=baz'); | 71 window.history.replaceState(null, document.title, '?foo=baz'); |
| 73 expect(window.history.length, length); | 72 expect(window.history.length, length); |
| 74 expect(window.location.href.endsWith('foo=baz'), isTrue); | 73 expect(window.location.href.endsWith('foo=baz'), isTrue); |
| 75 }, expectation); | 74 }, expectation); |
| 76 }); | 75 }); |
| 77 | 76 |
| 78 test('popstatevent', () { | 77 test('popstatevent', () { |
| 79 expect(() { | 78 expect(() { |
| 80 var event = new Event.eventType('PopStateEvent', 'popstate'); | 79 var event = new Event.eventType('PopStateEvent', 'popstate'); |
| 81 expect(event is PopStateEvent, true); | 80 expect(event is PopStateEvent, true); |
| 82 }, expectation); | 81 }, expectation); |
| 83 }); | 82 }); |
| 84 | 83 |
| 85 test('hashchangeevent', () { | 84 test('hashchangeevent', () { |
| 86 var expectation = HashChangeEvent.supported ? returnsNormally : throws; | 85 var expectation = HashChangeEvent.supported ? returnsNormally : throws; |
| 87 expect(() { | 86 expect(() { |
| 88 var event = new HashChangeEvent('change', oldUrl:'old', newUrl: 'new'); | 87 var event = new HashChangeEvent('change', oldUrl: 'old', newUrl: 'new'); |
| 89 expect(event is HashChangeEvent, true); | 88 expect(event is HashChangeEvent, true); |
| 90 expect(event.oldUrl, 'old'); | 89 expect(event.oldUrl, 'old'); |
| 91 expect(event.newUrl, 'new'); | 90 expect(event.newUrl, 'new'); |
| 92 }, expectation); | 91 }, expectation); |
| 93 }); | 92 }); |
| 94 }); | 93 }); |
| 95 } | 94 } |
| OLD | NEW |