| /* |
| * Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| * for details. All rights reserved. Use of this source code is governed by a |
| * BSD-style license that can be found in the LICENSE file. |
| */ |
| /* |
| * Portions of this test are derived from code under the following license: |
| * |
| * Web-platform-tests are covered by the dual-licensing approach described in: |
| * http://www.w3.org/Consortium/Legal/2008/04-testsuite-copyright.html |
| */ |
| /** |
| * after web-platform-tests/webstorage/event_session_newvalue.html |
| * @assertion: http://dev.w3.org/html5/webstorage/ |
| * @description newValue property test of session event |
| */ |
| import 'dart:collection'; |
| import 'dart:html'; |
| import "../Utils/expectWeb.dart"; |
| |
| void main() { |
| Queue expected = new Queue.from(['user1', 'user2', null]); |
| void onStorageEvent(event) { |
| assert_equals(event.newValue, expected.removeFirst()); |
| if (expected.isEmpty) { |
| asyncEnd(); |
| } |
| } |
| |
| window.sessionStorage.clear(); |
| window.addEventListener('storage', onStorageEvent, false); |
| var event = new StorageEvent('storage'); |
| asyncStart(); |
| var el = document.createElement("iframe"); |
| el.setAttribute('id', 'ifrm'); |
| el.setAttribute('src', '${testSuiteRoot}/webstorage/iframe/session_change_item_iframe.html'); |
| document.body.append(el); |
| } |