| Index: polymer_1.0.4/bower_components/iron-localstorage/test/basic.html
|
| diff --git a/polymer_1.0.4/bower_components/iron-localstorage/test/basic.html b/polymer_1.0.4/bower_components/iron-localstorage/test/basic.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..dd4b169dc55bced995106869854da68e3aae73e9
|
| --- /dev/null
|
| +++ b/polymer_1.0.4/bower_components/iron-localstorage/test/basic.html
|
| @@ -0,0 +1,120 @@
|
| +<!doctype html>
|
| +<!--
|
| +@license
|
| +Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
|
| +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
| +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
| +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
| +Code distributed by Google as part of the polymer project is also
|
| +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
| +-->
|
| +<html>
|
| +<head>
|
| + <meta charset="UTF-8">
|
| + <title>iron-localstorage-basic</title>
|
| + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
| +
|
| + <script src="../../webcomponentsjs/webcomponents.js"></script>
|
| + <script src="../../web-component-tester/browser.js"></script>
|
| + <script src="../../test-fixture/test-fixture-mocha.js"></script>
|
| +
|
| + <link rel="import" href="../../test-fixture/test-fixture.html">
|
| + <link rel="import" href="../iron-localstorage.html">
|
| +
|
| +</head>
|
| +<body>
|
| +
|
| + <test-fixture id="fixture">
|
| + <template>
|
| + <iron-localstorage id="localstorage" name="iron-localstorage-test"></iron-localstorage>
|
| + </template>
|
| + </test-fixture>
|
| +
|
| + <template id="boundTemplate" is="dom-bind">
|
| + <iron-localstorage id="boundLocal" name="iron-localstorage-test" value="{{value}}"></iron-localstorage>
|
| + </template>
|
| +
|
| + <script>
|
| + var storage;
|
| +
|
| + suite('basic', function() {
|
| +
|
| + setup(function() {
|
| + window.localStorage.setItem('iron-localstorage-test', '{"foo":"bar"}');
|
| + storage = document.getElementById('fixture').create();
|
| + storage.flushDebouncer('reload');
|
| + });
|
| +
|
| + teardown(function() {
|
| + window.localStorage.removeItem('iron-localstorage-test');
|
| + });
|
| +
|
| + test('load', function() {
|
| + assert.isNotNull(storage.value);
|
| + assert.equal(storage.value.foo, 'bar');
|
| + });
|
| +
|
| + test('save', function() {
|
| + var newValue = {'foo': 'zot'};
|
| + storage.value = newValue;
|
| + storage.flushDebouncer('save');
|
| + var v = window.localStorage.getItem(storage.name);
|
| + v = JSON.parse(v);
|
| + assert.equal(v.foo, newValue.foo);
|
| + });
|
| +
|
| + test('delete', function() {
|
| + storage.value = null;
|
| + storage.flushDebouncer('save');
|
| + var v = window.localStorage.getItem(storage.name);
|
| + assert.isNull(v);
|
| + });
|
| +
|
| + test('event iron-localstorage-load', function(done) {
|
| + var ls = document.createElement('iron-localstorage');
|
| + ls.addEventListener('iron-localstorage-load', function() {
|
| + done();
|
| + });
|
| + ls.name = 'iron-localstorage-test';
|
| + });
|
| +
|
| + test('event iron-localstorage-load-empty', function(done) {
|
| + window.localStorage.removeItem('iron-localstorage-test');
|
| +
|
| + var ls = document.createElement('iron-localstorage');
|
| + ls.addEventListener('iron-localstorage-load-empty', function() {
|
| + // testing recommended way to initialize localstorage
|
| + ls.value = "Yo";
|
| + ls.flushDebouncer('save');
|
| + assert.equal("Yo", JSON.parse( window.localStorage.getItem('iron-localstorage-test')));
|
| + done();
|
| + });
|
| + ls.name = 'iron-localstorage-test';
|
| + });
|
| +
|
| + test('auto-save sub-properties', function() {
|
| + var t = document.querySelector('#boundTemplate');
|
| + var ls = document.querySelector('#boundLocal');
|
| + var value = { foo: 'FOO', bar: 'BAR' };
|
| + t.value = value;
|
| + assert.equal('FOO', ls.value.foo); // value has propagated from template to storage
|
| +
|
| + ls.flushDebouncer('save');
|
| + t.value.foo = "Yo";
|
| + ls.flushDebouncer('save');
|
| + var item = JSON.parse( window.localStorage.getItem('iron-localstorage-test'));
|
| + assert.notEqual('Yo', item.foo); // did not propagate because did not use setters
|
| +
|
| + t.set('value.foo', 'BAZ!');
|
| + ls.flushDebouncer('save');
|
| + var item = JSON.parse( window.localStorage.getItem('iron-localstorage-test'));
|
| + assert.equal('BAZ!', item.foo); // did propagate
|
| + ls.value = null;
|
| + });
|
| +
|
| + });
|
| +
|
| + </script>
|
| +
|
| +</body>
|
| +</html>
|
|
|