Index: third_party/polymer/v0_8/components-chromium/iron-iconset-svg/test/iron-iconset-svg.html |
diff --git a/third_party/polymer/v0_8/components-chromium/iron-iconset-svg/test/iron-iconset-svg.html b/third_party/polymer/v0_8/components-chromium/iron-iconset-svg/test/iron-iconset-svg.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..69a402f4bdbd147190a4b3f6f4edbb17d23084da |
--- /dev/null |
+++ b/third_party/polymer/v0_8/components-chromium/iron-iconset-svg/test/iron-iconset-svg.html |
@@ -0,0 +1,109 @@ |
+<!doctype html> |
+<!-- |
+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> |
+ |
+ <title>iron-iconset-svg</title> |
+ <meta charset="utf-8"> |
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
+ |
+ <script src="../../webcomponentsjs/webcomponents-lite.js"></script> |
+ <script src="../../web-component-tester/browser.js"></script> |
+ <script src="../../test-fixture/test-fixture-mocha.js"></script> |
+ |
+ <link rel="import" href="../iron-iconset-svg.html"> |
+ <link rel="import" href="../../iron-meta/iron-meta.html"> |
+ <link rel="import" href="../../test-fixture/test-fixture.html"> |
+ |
+</head> |
+<body> |
+ |
+ <test-fixture id="TrivialIconsetSvg"> |
+ <template> |
+ <iron-iconset-svg name="foo"></iron-iconset-svg> |
+ <iron-meta type="iconset"></iron-meta> |
+ </template> |
+ </test-fixture> |
+ |
+ <test-fixture id="StandardIconsetSvg"> |
+ <template> |
+ <iron-iconset-svg name="my-icons" size="20"> |
+ <svg> |
+ <defs> |
+ <circle id="circle" cx="20" cy="20" r="10"></circle> |
+ <rect id="square" x="0" y="0" width="20" height="20"></rect> |
+ </defs> |
+ </svg> |
+ </iron-iconset-svg> |
+ <div></div> |
+ </template> |
+ </test-fixture> |
+ |
+ <script> |
+suite('<iron-iconset>', function () { |
+ suite('basic behavior', function () { |
+ var iconset; |
+ var meta; |
+ |
+ setup(function () { |
+ var elements = fixture('TrivialIconsetSvg'); |
+ |
+ iconset = elements[0]; |
+ meta = elements[1]; |
+ }); |
+ |
+ test('it can be accessed via iron-meta', function () { |
+ expect(meta.byKey('foo')).to.be.equal(iconset); |
+ }); |
+ }); |
+ |
+ suite('when paired with a size and SVG definition', function () { |
+ var iconset; |
+ var div; |
+ |
+ setup(function () { |
+ var elements = fixture('StandardIconsetSvg'); |
+ |
+ iconset = elements[0]; |
+ div = elements[1]; |
+ }); |
+ |
+ test('appends a child to the target element', function () { |
+ expect(div.firstElementChild).to.not.be.ok; |
+ |
+ iconset.applyIcon(div, 'circle'); |
+ |
+ expect(div.firstElementChild).to.be.ok; |
+ }); |
+ |
+ test('can be queried for all available icons', function () { |
+ expect(iconset.iconNames).to.deep.eql(['my-icons:circle', 'my-icons:square']); |
+ }); |
+ |
+ test('supports any icon defined in the svg', function () { |
+ var lastSvgIcon; |
+ |
+ iconset.iconNames.forEach(function (iconName) { |
+ // TODO(cdata): Ask Scott about why iconNames include their |
+ // iconset name. |
+ iconset.applyIcon(div, iconName.split(':').pop()); |
+ |
+ expect(div.firstElementChild).to.not.be.eql(lastSvgIcon); |
+ |
+ lastSvgIcon = div.firstElementChild; |
+ }); |
+ }); |
+ }); |
+}); |
+ </script> |
+ |
+</body> |
+</html> |