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

Unified Diff: polymer_1.0.4/bower_components/iron-localstorage/test/basic.html

Issue 1205703007: Add polymer 1.0 to npm_modules (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Renamed folder to 1.0.4 Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698