easycomments 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +14 -0
  5. data/LICENSE +21 -0
  6. data/README.md +92 -0
  7. data/Rakefile +49 -0
  8. data/_config.yml +28 -0
  9. data/bin/ec +45 -0
  10. data/config.ru +12 -0
  11. data/dashboard.rb +57 -0
  12. data/easycomments.gemspec +22 -0
  13. data/ec.rb +43 -0
  14. data/lib/easycomments/ec_configuration.rb +42 -0
  15. data/lib/easycomments/ec_dashboard_model.rb +70 -0
  16. data/lib/easycomments/ec_model.rb +47 -0
  17. data/lib/easycomments.rb +14 -0
  18. data/public/bower.json +32 -0
  19. data/public/bower_components/core-a11y-keys/.bower.json +28 -0
  20. data/public/bower_components/core-a11y-keys/README.md +4 -0
  21. data/public/bower_components/core-a11y-keys/bower.json +18 -0
  22. data/public/bower_components/core-a11y-keys/core-a11y-keys.html +335 -0
  23. data/public/bower_components/core-a11y-keys/demo.html +41 -0
  24. data/public/bower_components/core-a11y-keys/index.html +22 -0
  25. data/public/bower_components/core-ajax/.bower.json +22 -0
  26. data/public/bower_components/core-ajax/README.md +4 -0
  27. data/public/bower_components/core-ajax/bower.json +11 -0
  28. data/public/bower_components/core-ajax/core-ajax.html +434 -0
  29. data/public/bower_components/core-ajax/core-xhr.html +116 -0
  30. data/public/bower_components/core-ajax/demo-progress.html +65 -0
  31. data/public/bower_components/core-ajax/demo.html +43 -0
  32. data/public/bower_components/core-ajax/index.html +22 -0
  33. data/public/bower_components/core-ajax/metadata.html +23 -0
  34. data/public/bower_components/core-ajax/test/core-ajax-progress.html +108 -0
  35. data/public/bower_components/core-ajax/test/core-ajax-race.html +81 -0
  36. data/public/bower_components/core-ajax/test/core-ajax.html +287 -0
  37. data/public/bower_components/core-ajax/test/index.html +17 -0
  38. data/public/bower_components/core-collapse/.bower.json +21 -0
  39. data/public/bower_components/core-collapse/README.md +4 -0
  40. data/public/bower_components/core-collapse/bower.json +11 -0
  41. data/public/bower_components/core-collapse/core-collapse.css +16 -0
  42. data/public/bower_components/core-collapse/core-collapse.html +298 -0
  43. data/public/bower_components/core-collapse/demo.html +75 -0
  44. data/public/bower_components/core-collapse/index.html +22 -0
  45. data/public/bower_components/core-collapse/test/basic.html +85 -0
  46. data/public/bower_components/core-collapse/test/index.html +24 -0
  47. data/public/bower_components/core-component-page/.bower.json +19 -0
  48. data/public/bower_components/core-component-page/README.md +6 -0
  49. data/public/bower_components/core-component-page/bowager-logo.png +0 -0
  50. data/public/bower_components/core-component-page/bower.json +9 -0
  51. data/public/bower_components/core-component-page/core-component-page.html +37 -0
  52. data/public/bower_components/core-component-page/demo.html +23 -0
  53. data/public/bower_components/core-component-page/index.html +22 -0
  54. data/public/bower_components/core-drawer-panel/.bower.json +19 -0
  55. data/public/bower_components/core-drawer-panel/README.md +4 -0
  56. data/public/bower_components/core-drawer-panel/bower.json +9 -0
  57. data/public/bower_components/core-drawer-panel/core-drawer-panel.css +160 -0
  58. data/public/bower_components/core-drawer-panel/core-drawer-panel.html +418 -0
  59. data/public/bower_components/core-drawer-panel/demo.html +68 -0
  60. data/public/bower_components/core-drawer-panel/index.html +22 -0
  61. data/public/bower_components/core-drawer-panel/metadata.html +37 -0
  62. data/public/bower_components/core-focusable/.bower.json +18 -0
  63. data/public/bower_components/core-focusable/README.md +6 -0
  64. data/public/bower_components/core-focusable/bower.json +8 -0
  65. data/public/bower_components/core-focusable/core-focusable.html +4 -0
  66. data/public/bower_components/core-focusable/core-focusable.js +134 -0
  67. data/public/bower_components/core-focusable/demo.html +109 -0
  68. data/public/bower_components/core-focusable/polymer-mixin.js +35 -0
  69. data/public/bower_components/core-header-panel/.bower.json +18 -0
  70. data/public/bower_components/core-header-panel/README.md +4 -0
  71. data/public/bower_components/core-header-panel/bower.json +8 -0
  72. data/public/bower_components/core-header-panel/core-header-panel.css +78 -0
  73. data/public/bower_components/core-header-panel/core-header-panel.html +277 -0
  74. data/public/bower_components/core-header-panel/demo.html +100 -0
  75. data/public/bower_components/core-header-panel/index.html +23 -0
  76. data/public/bower_components/core-header-panel/metadata.html +37 -0
  77. data/public/bower_components/core-icon/.bower.json +19 -0
  78. data/public/bower_components/core-icon/README.md +4 -0
  79. data/public/bower_components/core-icon/bower.json +9 -0
  80. data/public/bower_components/core-icon/core-icon.css +16 -0
  81. data/public/bower_components/core-icon/core-icon.html +201 -0
  82. data/public/bower_components/core-icon/demo.html +44 -0
  83. data/public/bower_components/core-icon/index.html +22 -0
  84. data/public/bower_components/core-icon/metadata.html +21 -0
  85. data/public/bower_components/core-icon-button/.bower.json +18 -0
  86. data/public/bower_components/core-icon-button/README.md +4 -0
  87. data/public/bower_components/core-icon-button/bower.json +8 -0
  88. data/public/bower_components/core-icon-button/core-icon-button.css +75 -0
  89. data/public/bower_components/core-icon-button/core-icon-button.html +81 -0
  90. data/public/bower_components/core-icon-button/demo.html +35 -0
  91. data/public/bower_components/core-icon-button/index.html +22 -0
  92. data/public/bower_components/core-icon-button/metadata.html +20 -0
  93. data/public/bower_components/core-icons/.bower.json +24 -0
  94. data/public/bower_components/core-icons/.gitignore +2 -0
  95. data/public/bower_components/core-icons/README.md +8 -0
  96. data/public/bower_components/core-icons/av-icons.html +65 -0
  97. data/public/bower_components/core-icons/bower.json +14 -0
  98. data/public/bower_components/core-icons/communication-icons.html +54 -0
  99. data/public/bower_components/core-icons/core-icons.html +278 -0
  100. data/public/bower_components/core-icons/demo.html +98 -0
  101. data/public/bower_components/core-icons/device-icons.html +90 -0
  102. data/public/bower_components/core-icons/editor-icons.html +67 -0
  103. data/public/bower_components/core-icons/hardware-icons.html +56 -0
  104. data/public/bower_components/core-icons/image-icons.html +152 -0
  105. data/public/bower_components/core-icons/index.html +22 -0
  106. data/public/bower_components/core-icons/maps-icons.html +70 -0
  107. data/public/bower_components/core-icons/notification-icons.html +49 -0
  108. data/public/bower_components/core-icons/social-icons.html +39 -0
  109. data/public/bower_components/core-iconset/.bower.json +20 -0
  110. data/public/bower_components/core-iconset/README.md +4 -0
  111. data/public/bower_components/core-iconset/bower.json +10 -0
  112. data/public/bower_components/core-iconset/core-iconset.html +241 -0
  113. data/public/bower_components/core-iconset/demo.html +62 -0
  114. data/public/bower_components/core-iconset/index.html +22 -0
  115. data/public/bower_components/core-iconset/my-icons-big.png +0 -0
  116. data/public/bower_components/core-iconset/my-icons.png +0 -0
  117. data/public/bower_components/core-iconset-svg/.bower.json +19 -0
  118. data/public/bower_components/core-iconset-svg/README.md +4 -0
  119. data/public/bower_components/core-iconset-svg/bower.json +9 -0
  120. data/public/bower_components/core-iconset-svg/core-iconset-svg.html +168 -0
  121. data/public/bower_components/core-iconset-svg/demo.html +66 -0
  122. data/public/bower_components/core-iconset-svg/index.html +22 -0
  123. data/public/bower_components/core-iconset-svg/svg-sample-icons.html +68 -0
  124. data/public/bower_components/core-input/.bower.json +20 -0
  125. data/public/bower_components/core-input/README.md +2 -0
  126. data/public/bower_components/core-input/bower.json +10 -0
  127. data/public/bower_components/core-input/core-input.css +41 -0
  128. data/public/bower_components/core-input/core-input.html +148 -0
  129. data/public/bower_components/core-input/demo.html +62 -0
  130. data/public/bower_components/core-input/index.html +22 -0
  131. data/public/bower_components/core-input/metadata.html +23 -0
  132. data/public/bower_components/core-input/test/a11y.html +55 -0
  133. data/public/bower_components/core-input/test/basic.html +60 -0
  134. data/public/bower_components/core-input/test/index.html +25 -0
  135. data/public/bower_components/core-item/.bower.json +19 -0
  136. data/public/bower_components/core-item/README.md +4 -0
  137. data/public/bower_components/core-item/bower.json +9 -0
  138. data/public/bower_components/core-item/core-item.css +45 -0
  139. data/public/bower_components/core-item/core-item.html +73 -0
  140. data/public/bower_components/core-item/demo.html +92 -0
  141. data/public/bower_components/core-item/index.html +22 -0
  142. data/public/bower_components/core-item/metadata.html +24 -0
  143. data/public/bower_components/core-media-query/.bower.json +18 -0
  144. data/public/bower_components/core-media-query/README.md +4 -0
  145. data/public/bower_components/core-media-query/bower.json +8 -0
  146. data/public/bower_components/core-media-query/core-media-query.html +87 -0
  147. data/public/bower_components/core-media-query/demo.html +44 -0
  148. data/public/bower_components/core-media-query/index.html +22 -0
  149. data/public/bower_components/core-menu/.bower.json +22 -0
  150. data/public/bower_components/core-menu/README.md +4 -0
  151. data/public/bower_components/core-menu/bower.json +11 -0
  152. data/public/bower_components/core-menu/core-menu.css +18 -0
  153. data/public/bower_components/core-menu/core-menu.html +73 -0
  154. data/public/bower_components/core-menu/core-submenu.css +43 -0
  155. data/public/bower_components/core-menu/core-submenu.html +126 -0
  156. data/public/bower_components/core-menu/demo.html +101 -0
  157. data/public/bower_components/core-menu/index.html +22 -0
  158. data/public/bower_components/core-menu/metadata.html +62 -0
  159. data/public/bower_components/core-meta/.bower.json +18 -0
  160. data/public/bower_components/core-meta/README.md +4 -0
  161. data/public/bower_components/core-meta/bower.json +8 -0
  162. data/public/bower_components/core-meta/core-meta.html +145 -0
  163. data/public/bower_components/core-meta/demo.html +58 -0
  164. data/public/bower_components/core-meta/index.html +22 -0
  165. data/public/bower_components/core-overlay/.bower.json +20 -0
  166. data/public/bower_components/core-overlay/README.md +4 -0
  167. data/public/bower_components/core-overlay/bower.json +10 -0
  168. data/public/bower_components/core-overlay/core-key-helper.html +22 -0
  169. data/public/bower_components/core-overlay/core-overlay-layer.html +116 -0
  170. data/public/bower_components/core-overlay/core-overlay.html +776 -0
  171. data/public/bower_components/core-overlay/demo.html +155 -0
  172. data/public/bower_components/core-overlay/gulpfile.js +2 -0
  173. data/public/bower_components/core-overlay/index.html +22 -0
  174. data/public/bower_components/core-overlay/tests/html/core-overlay-basic.html +127 -0
  175. data/public/bower_components/core-overlay/tests/html/core-overlay-positioning-margin.html +153 -0
  176. data/public/bower_components/core-overlay/tests/html/core-overlay-positioning.html +167 -0
  177. data/public/bower_components/core-overlay/tests/html/core-overlay-quick-close.html +45 -0
  178. data/public/bower_components/core-overlay/tests/html/core-overlay-scroll.html +130 -0
  179. data/public/bower_components/core-overlay/tests/js/htmltests.js +7 -0
  180. data/public/bower_components/core-overlay/tests/runner.html +14 -0
  181. data/public/bower_components/core-overlay/tests/tests.json +6 -0
  182. data/public/bower_components/core-pages/.bower.json +19 -0
  183. data/public/bower_components/core-pages/README.md +4 -0
  184. data/public/bower_components/core-pages/bower.json +8 -0
  185. data/public/bower_components/core-pages/core-pages.css +30 -0
  186. data/public/bower_components/core-pages/core-pages.html +44 -0
  187. data/public/bower_components/core-pages/demo.html +136 -0
  188. data/public/bower_components/core-pages/index.html +22 -0
  189. data/public/bower_components/core-pages/metadata.html +25 -0
  190. data/public/bower_components/core-resizable/.bower.json +18 -0
  191. data/public/bower_components/core-resizable/README.md +4 -0
  192. data/public/bower_components/core-resizable/bower.json +8 -0
  193. data/public/bower_components/core-resizable/core-resizable.html +248 -0
  194. data/public/bower_components/core-resizable/index.html +22 -0
  195. data/public/bower_components/core-resizable/test/basic.html +504 -0
  196. data/public/bower_components/core-resizable/test/index.html +16 -0
  197. data/public/bower_components/core-resizable/test/test-elements.html +66 -0
  198. data/public/bower_components/core-scaffold/.bower.json +22 -0
  199. data/public/bower_components/core-scaffold/README.md +4 -0
  200. data/public/bower_components/core-scaffold/bower.json +11 -0
  201. data/public/bower_components/core-scaffold/core-scaffold.html +252 -0
  202. data/public/bower_components/core-scaffold/demo.html +82 -0
  203. data/public/bower_components/core-scaffold/index.html +22 -0
  204. data/public/bower_components/core-scaffold/metadata.html +52 -0
  205. data/public/bower_components/core-selection/.bower.json +21 -0
  206. data/public/bower_components/core-selection/README.md +4 -0
  207. data/public/bower_components/core-selection/bower.json +11 -0
  208. data/public/bower_components/core-selection/core-selection.html +149 -0
  209. data/public/bower_components/core-selection/demo.html +59 -0
  210. data/public/bower_components/core-selection/index.html +22 -0
  211. data/public/bower_components/core-selection/test/basic.html +62 -0
  212. data/public/bower_components/core-selection/test/index.html +25 -0
  213. data/public/bower_components/core-selection/test/multi.html +63 -0
  214. data/public/bower_components/core-selector/.bower.json +22 -0
  215. data/public/bower_components/core-selector/.gitignore +2 -0
  216. data/public/bower_components/core-selector/README.md +4 -0
  217. data/public/bower_components/core-selector/bower.json +12 -0
  218. data/public/bower_components/core-selector/core-selector.html +548 -0
  219. data/public/bower_components/core-selector/demo.html +106 -0
  220. data/public/bower_components/core-selector/index.html +22 -0
  221. data/public/bower_components/core-selector/metadata.html +20 -0
  222. data/public/bower_components/core-selector/test/activate-event.html +63 -0
  223. data/public/bower_components/core-selector/test/basic.html +126 -0
  224. data/public/bower_components/core-selector/test/content.html +101 -0
  225. data/public/bower_components/core-selector/test/index.html +30 -0
  226. data/public/bower_components/core-selector/test/multi.html +115 -0
  227. data/public/bower_components/core-selector/test/next-previous.html +113 -0
  228. data/public/bower_components/core-selector/test/selected-attr-prop.html +62 -0
  229. data/public/bower_components/core-selector/test/template-repeat.html +63 -0
  230. data/public/bower_components/core-style/.bower.json +18 -0
  231. data/public/bower_components/core-style/README.md +4 -0
  232. data/public/bower_components/core-style/bower.json +8 -0
  233. data/public/bower_components/core-style/core-style.html +387 -0
  234. data/public/bower_components/core-style/demo.html +58 -0
  235. data/public/bower_components/core-style/elements.html +55 -0
  236. data/public/bower_components/core-style/index.html +22 -0
  237. data/public/bower_components/core-style/my-theme.html +73 -0
  238. data/public/bower_components/core-toolbar/.bower.json +19 -0
  239. data/public/bower_components/core-toolbar/README.md +4 -0
  240. data/public/bower_components/core-toolbar/bower.json +9 -0
  241. data/public/bower_components/core-toolbar/core-toolbar.css +117 -0
  242. data/public/bower_components/core-toolbar/core-toolbar.html +155 -0
  243. data/public/bower_components/core-toolbar/demo.html +119 -0
  244. data/public/bower_components/core-toolbar/index.html +22 -0
  245. data/public/bower_components/core-toolbar/metadata.html +28 -0
  246. data/public/bower_components/core-toolbar/test/basic.html +86 -0
  247. data/public/bower_components/core-toolbar/test/index.html +24 -0
  248. data/public/bower_components/core-transition/.bower.json +19 -0
  249. data/public/bower_components/core-transition/README.md +2 -0
  250. data/public/bower_components/core-transition/bower.json +9 -0
  251. data/public/bower_components/core-transition/core-transition-css.html +220 -0
  252. data/public/bower_components/core-transition/core-transition-overlay.css +46 -0
  253. data/public/bower_components/core-transition/core-transition.html +140 -0
  254. data/public/bower_components/core-transition/demo.html +87 -0
  255. data/public/bower_components/core-transition/index.html +22 -0
  256. data/public/bower_components/font-roboto/.bower.json +15 -0
  257. data/public/bower_components/font-roboto/roboto.html +9 -0
  258. data/public/bower_components/paper-button/.bower.json +27 -0
  259. data/public/bower_components/paper-button/README.md +4 -0
  260. data/public/bower_components/paper-button/bower.json +16 -0
  261. data/public/bower_components/paper-button/demo.html +157 -0
  262. data/public/bower_components/paper-button/index.html +22 -0
  263. data/public/bower_components/paper-button/metadata.html +17 -0
  264. data/public/bower_components/paper-button/paper-button-base.html +164 -0
  265. data/public/bower_components/paper-button/paper-button.html +197 -0
  266. data/public/bower_components/paper-button/test/index.html +24 -0
  267. data/public/bower_components/paper-button/test/paper-button.html +112 -0
  268. data/public/bower_components/paper-icon-button/.bower.json +25 -0
  269. data/public/bower_components/paper-icon-button/README.md +4 -0
  270. data/public/bower_components/paper-icon-button/bower.json +15 -0
  271. data/public/bower_components/paper-icon-button/demo.html +150 -0
  272. data/public/bower_components/paper-icon-button/index.html +22 -0
  273. data/public/bower_components/paper-icon-button/metadata.html +21 -0
  274. data/public/bower_components/paper-icon-button/paper-icon-button.html +154 -0
  275. data/public/bower_components/paper-icon-button/test/a11y.html +68 -0
  276. data/public/bower_components/paper-icon-button/test/basic.html +50 -0
  277. data/public/bower_components/paper-icon-button/test/index.html +25 -0
  278. data/public/bower_components/paper-input/.bower.json +26 -0
  279. data/public/bower_components/paper-input/.gitignore +1 -0
  280. data/public/bower_components/paper-input/README.md +4 -0
  281. data/public/bower_components/paper-input/bower.json +15 -0
  282. data/public/bower_components/paper-input/demo.html +236 -0
  283. data/public/bower_components/paper-input/index.html +22 -0
  284. data/public/bower_components/paper-input/metadata.html +20 -0
  285. data/public/bower_components/paper-input/paper-autogrow-textarea.html +162 -0
  286. data/public/bower_components/paper-input/paper-char-counter.html +121 -0
  287. data/public/bower_components/paper-input/paper-input-decorator.css +132 -0
  288. data/public/bower_components/paper-input/paper-input-decorator.html +547 -0
  289. data/public/bower_components/paper-input/paper-input.html +145 -0
  290. data/public/bower_components/paper-input/test/index.html +26 -0
  291. data/public/bower_components/paper-input/test/paper-autogrow-textarea.html +146 -0
  292. data/public/bower_components/paper-input/test/paper-input-decorator.html +240 -0
  293. data/public/bower_components/paper-input/test/paper-input.html +68 -0
  294. data/public/bower_components/paper-input/test/util.js +15 -0
  295. data/public/bower_components/paper-radio-button/.bower.json +22 -0
  296. data/public/bower_components/paper-radio-button/README.md +4 -0
  297. data/public/bower_components/paper-radio-button/bower.json +12 -0
  298. data/public/bower_components/paper-radio-button/demo.html +84 -0
  299. data/public/bower_components/paper-radio-button/index.html +22 -0
  300. data/public/bower_components/paper-radio-button/metadata.html +17 -0
  301. data/public/bower_components/paper-radio-button/paper-radio-button.css +108 -0
  302. data/public/bower_components/paper-radio-button/paper-radio-button.html +166 -0
  303. data/public/bower_components/paper-ripple/.bower.json +23 -0
  304. data/public/bower_components/paper-ripple/README.md +4 -0
  305. data/public/bower_components/paper-ripple/bower.json +13 -0
  306. data/public/bower_components/paper-ripple/demo.html +414 -0
  307. data/public/bower_components/paper-ripple/index.html +22 -0
  308. data/public/bower_components/paper-ripple/metadata.html +20 -0
  309. data/public/bower_components/paper-ripple/paper-ripple.html +477 -0
  310. data/public/bower_components/paper-ripple/test/index.html +24 -0
  311. data/public/bower_components/paper-ripple/test/position.html +109 -0
  312. data/public/bower_components/paper-shadow/.bower.json +22 -0
  313. data/public/bower_components/paper-shadow/README.md +4 -0
  314. data/public/bower_components/paper-shadow/bower.json +11 -0
  315. data/public/bower_components/paper-shadow/demo.html +134 -0
  316. data/public/bower_components/paper-shadow/index.html +22 -0
  317. data/public/bower_components/paper-shadow/metadata.html +17 -0
  318. data/public/bower_components/paper-shadow/paper-shadow.css +66 -0
  319. data/public/bower_components/paper-shadow/paper-shadow.html +86 -0
  320. data/public/bower_components/paper-shadow/test/basic.html +62 -0
  321. data/public/bower_components/paper-shadow/test/index.html +24 -0
  322. data/public/bower_components/paper-tabs/.bower.json +26 -0
  323. data/public/bower_components/paper-tabs/README.md +4 -0
  324. data/public/bower_components/paper-tabs/bower.json +15 -0
  325. data/public/bower_components/paper-tabs/demo.html +242 -0
  326. data/public/bower_components/paper-tabs/index.html +22 -0
  327. data/public/bower_components/paper-tabs/metadata.html +58 -0
  328. data/public/bower_components/paper-tabs/paper-tab.css +59 -0
  329. data/public/bower_components/paper-tabs/paper-tab.html +82 -0
  330. data/public/bower_components/paper-tabs/paper-tabs.css +80 -0
  331. data/public/bower_components/paper-tabs/paper-tabs.html +353 -0
  332. data/public/bower_components/paper-toast/.bower.json +22 -0
  333. data/public/bower_components/paper-toast/README.md +4 -0
  334. data/public/bower_components/paper-toast/bower.json +11 -0
  335. data/public/bower_components/paper-toast/demo.html +63 -0
  336. data/public/bower_components/paper-toast/index.html +22 -0
  337. data/public/bower_components/paper-toast/metadata.html +20 -0
  338. data/public/bower_components/paper-toast/paper-toast.css +80 -0
  339. data/public/bower_components/paper-toast/paper-toast.html +296 -0
  340. data/public/bower_components/paper-toggle-button/.bower.json +20 -0
  341. data/public/bower_components/paper-toggle-button/README.md +4 -0
  342. data/public/bower_components/paper-toggle-button/bower.json +9 -0
  343. data/public/bower_components/paper-toggle-button/demo.html +97 -0
  344. data/public/bower_components/paper-toggle-button/index.html +22 -0
  345. data/public/bower_components/paper-toggle-button/metadata.html +17 -0
  346. data/public/bower_components/paper-toggle-button/paper-toggle-button.css +95 -0
  347. data/public/bower_components/paper-toggle-button/paper-toggle-button.html +179 -0
  348. data/public/bower_components/polymer/.bower.json +32 -0
  349. data/public/bower_components/polymer/README.md +21 -0
  350. data/public/bower_components/polymer/bower.json +23 -0
  351. data/public/bower_components/polymer/build.log +26 -0
  352. data/public/bower_components/polymer/layout.html +286 -0
  353. data/public/bower_components/polymer/polymer.html +12 -0
  354. data/public/bower_components/polymer/polymer.js +11859 -0
  355. data/public/bower_components/polymer/polymer.min.js +14 -0
  356. data/public/bower_components/webcomponentsjs/.bower.json +23 -0
  357. data/public/bower_components/webcomponentsjs/CustomElements.js +634 -0
  358. data/public/bower_components/webcomponentsjs/CustomElements.min.js +11 -0
  359. data/public/bower_components/webcomponentsjs/HTMLImports.js +764 -0
  360. data/public/bower_components/webcomponentsjs/HTMLImports.min.js +11 -0
  361. data/public/bower_components/webcomponentsjs/README.md +73 -0
  362. data/public/bower_components/webcomponentsjs/ShadowDOM.js +4277 -0
  363. data/public/bower_components/webcomponentsjs/ShadowDOM.min.js +13 -0
  364. data/public/bower_components/webcomponentsjs/bower.json +14 -0
  365. data/public/bower_components/webcomponentsjs/build.log +31 -0
  366. data/public/bower_components/webcomponentsjs/package.json +31 -0
  367. data/public/bower_components/webcomponentsjs/webcomponents-lite.js +1728 -0
  368. data/public/bower_components/webcomponentsjs/webcomponents-lite.min.js +11 -0
  369. data/public/bower_components/webcomponentsjs/webcomponents.js +6114 -0
  370. data/public/bower_components/webcomponentsjs/webcomponents.min.js +14 -0
  371. data/public/css/main.css +41 -0
  372. data/public/elements/ec-dashboard/ec-dashboard.html +269 -0
  373. data/public/polymer-loader.html +24 -0
  374. data/public/polymer-loader.vulcanized.html +19 -0
  375. data/spec/ec/ec_dashboard_spec.rb +78 -0
  376. data/spec/ec/ec_spec.rb +78 -0
  377. data/spec/spec_helper.rb +27 -0
  378. data/views/index.html +88 -0
  379. metadata +464 -0
@@ -0,0 +1,63 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <title>core-selector-activate-event</title>
14
+
15
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
16
+ <script src="../../web-component-tester/browser.js"></script>
17
+
18
+ <link rel="import" href="../core-selector.html">
19
+
20
+ <style>
21
+ .core-selected {
22
+ background: #ccc;
23
+ }
24
+ </style>
25
+
26
+ </head>
27
+ <body>
28
+
29
+ <core-selector id="selector" selected="0">
30
+ <div>Item 1</div>
31
+ <div>Item 2</div>
32
+ <div>Item 3</div>
33
+ <div>Item 4</div>
34
+ <div>Item 5</div>
35
+ </core-selector>
36
+
37
+ <script>
38
+
39
+ var s = document.querySelector('#selector');
40
+
41
+ suite('activate event', function() {
42
+
43
+ test('activates on tap', function(done) {
44
+ assert.equal(s.selected, '0');
45
+
46
+ async.nextTick(function() {
47
+ // select Item 2
48
+ s.children[1].dispatchEvent(new CustomEvent('tap', {bubbles: true}));
49
+ });
50
+
51
+ s.addEventListener("core-activate", function(event) {
52
+ assert.equal(event.detail.item, s.children[1]);
53
+ assert.equal(s.selected, 1);
54
+ done();
55
+ });
56
+ });
57
+
58
+ });
59
+
60
+ </script>
61
+
62
+ </body>
63
+ </html>
@@ -0,0 +1,126 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <title>core-selector-basic</title>
14
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
15
+
16
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
17
+ <script src="../../web-component-tester/browser.js"></script>
18
+
19
+ <link rel="import" href="../core-selector.html">
20
+
21
+ <style>
22
+ .core-selected {
23
+ background: #ccc;
24
+ }
25
+
26
+ .my-selected {
27
+ background: red;
28
+ }
29
+ </style>
30
+
31
+ </head>
32
+ <body>
33
+
34
+ <core-selector id="selector1">
35
+ <div>Item 1</div>
36
+ <div>Item 2</div>
37
+ <div>Item 3</div>
38
+ <div>Item 4</div>
39
+ <div>Item 5</div>
40
+ </core-selector>
41
+
42
+ <br><br>
43
+
44
+ <core-selector id="selector2" selected="item3" selectedClass="my-selected" valueattr="id">
45
+ <div id="item1">Item 1</div>
46
+ <div id="item2">Item 2</div>
47
+ <div id="item3">Item 3</div>
48
+ <div id="item4">Item 4</div>
49
+ <div id="item5">Item 5</div>
50
+ </core-selector>
51
+
52
+ <script>
53
+
54
+ var s1 = document.querySelector('#selector1');
55
+ var s2 = document.querySelector('#selector2');
56
+
57
+ suite('basic', function() {
58
+
59
+ suite('defaults', function() {
60
+ test('to nothing selected', function() {
61
+ assert.equal(s1.selected, null);
62
+ });
63
+
64
+ test('to core-selected as selectedClass', function() {
65
+ assert.equal(s1.selectedClass, 'core-selected');
66
+ });
67
+
68
+ test('to a single-select', function() {
69
+ assert.isFalse(s1.multi);
70
+ });
71
+
72
+ test('to name as valueattr', function() {
73
+ assert.equal(s1.valueattr, 'name');
74
+ });
75
+
76
+ test('as many items as children', function() {
77
+ assert.equal(s1.items.length, 5);
78
+ });
79
+ });
80
+
81
+ test('honors the selected attribute', function() {
82
+ assert.equal(s2.selected, 'item3');
83
+ assert.equal(s2.selectedIndex, 2);
84
+ assert.equal(s2.selectedItem, document.querySelector('#item3'));
85
+ });
86
+
87
+ test('honors the selectedClass attribute', function() {
88
+ assert.equal(s2.selectedClass, 'my-selected');
89
+ assert.isTrue(document.querySelector('#item3').classList.contains('my-selected'));
90
+ });
91
+
92
+ test('allows assignment to selected', function(done) {
93
+ // setup listener for core-select event
94
+ var selectEventCounter = 0;
95
+ s2.addEventListener('core-select', function(e) {
96
+ if (e.detail.isSelected) {
97
+ selectEventCounter++;
98
+ // selectedItem and detail.item should be the same
99
+ assert.equal(e.detail.item, s2.selectedItem);
100
+ }
101
+ });
102
+ // set selected
103
+ s2.selected = 'item5';
104
+ asyncPlatformFlush(function() {
105
+ // check core-select event
106
+ assert.equal(selectEventCounter, 1);
107
+ // check selected class
108
+ assert.isTrue(s2.children[4].classList.contains('my-selected'));
109
+ // check selectedItem
110
+ assert.equal(s2.selectedItem, s2.children[4]);
111
+ // selecting the same value shouldn't fire core-select
112
+ selectEventCounter = 0;
113
+ s2.selected = 'item5';
114
+ flush(function() {
115
+ assert.equal(selectEventCounter, 0);
116
+ done();
117
+ });
118
+ });
119
+ });
120
+
121
+ });
122
+
123
+ </script>
124
+
125
+ </body>
126
+ </html>
@@ -0,0 +1,101 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <title>core-selector-content</title>
14
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
15
+
16
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
17
+ <script src="../../web-component-tester/browser.js"></script>
18
+
19
+ <link rel="import" href="../core-selector.html">
20
+
21
+ <style>
22
+ .core-selected {
23
+ background: #ccc;
24
+ }
25
+ </style>
26
+
27
+ </head>
28
+ <body>
29
+
30
+ <polymer-element name="test-core-selector" noscript attributes="selected">
31
+ <template>
32
+ <core-selector id="selector" selected="{{selected}}" valueattr="id">
33
+ <content></content>
34
+ </core-selector>
35
+ </template>
36
+ </polymer-element>
37
+
38
+ <test-core-selector selected="item0">
39
+ <div id="item0">item0</div>
40
+ <div id="item1">item1</div>
41
+ <div id="item2">item2</div>
42
+ <div id="item3">item3</div>
43
+ </test-core-selector>
44
+
45
+ <script>
46
+
47
+ var s = document.querySelector('test-core-selector');
48
+
49
+ suite('content', function() {
50
+
51
+ test('get selected', function(done) {
52
+ asyncPlatformFlush(function() {
53
+ // check selected class
54
+ assert.isTrue(s.children[0].classList.contains('core-selected'));
55
+ done();
56
+ });
57
+ });
58
+
59
+ test('set selected', function(done) {
60
+ // set selected
61
+ s.selected = 'item1';
62
+ asyncPlatformFlush(function() {
63
+ // check selected class
64
+ assert.isTrue(s.children[1].classList.contains('core-selected'));
65
+ done();
66
+ });
67
+ });
68
+
69
+ test('get items', function() {
70
+ assert.equal(s.$.selector.items.length, s.children.length);
71
+ });
72
+
73
+ test('activate event', function(done) {
74
+ s.children[2].dispatchEvent(new CustomEvent('tap', {bubbles: true}));
75
+ asyncPlatformFlush(function() {
76
+ // check selected class
77
+ assert.isTrue(s.children[2].classList.contains('core-selected'));
78
+ done();
79
+ });
80
+ });
81
+
82
+ test('add item dynamically', function(done) {
83
+ var item = document.createElement('div');
84
+ item.id = 'item4';
85
+ item.textContent = 'item4';
86
+ s.appendChild(item);
87
+ // set selected
88
+ s.selected = 'item4';
89
+ asyncPlatformFlush(function() {
90
+ // check selected class
91
+ assert.isTrue(s.children[4].classList.contains('core-selected'));
92
+ done();
93
+ });
94
+ });
95
+
96
+ });
97
+
98
+ </script>
99
+
100
+ </body>
101
+ </html>
@@ -0,0 +1,30 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
14
+ <title>Tests</title>
15
+ <script src="../../web-component-tester/browser.js"></script>
16
+ </head>
17
+ <body>
18
+ <script>
19
+ WCT.loadSuites([
20
+ 'activate-event.html',
21
+ 'basic.html',
22
+ 'multi.html',
23
+ 'next-previous.html',
24
+ 'selected-attr-prop.html',
25
+ 'template-repeat.html',
26
+ 'content.html'
27
+ ]);
28
+ </script>
29
+ </body>
30
+ </html>
@@ -0,0 +1,115 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <title>core-selector-multi</title>
14
+
15
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
16
+ <script src="../../web-component-tester/browser.js"></script>
17
+
18
+ <link rel="import" href="../core-selector.html">
19
+
20
+ <style>
21
+ .core-selected {
22
+ background: #ccc;
23
+ }
24
+ </style>
25
+
26
+ </head>
27
+ <body>
28
+
29
+ <core-selector id="selector" multi>
30
+ <div>Item 1</div>
31
+ <div>Item 2</div>
32
+ <div>Item 3</div>
33
+ <div>Item 4</div>
34
+ <div>Item 5</div>
35
+ </core-selector>
36
+
37
+ <script>
38
+
39
+ var s = document.querySelector('#selector');
40
+
41
+ suite('multi', function() {
42
+
43
+ test('honors the multi attribute', function() {
44
+ assert.isTrue(s.multi);
45
+ });
46
+
47
+ test('has sane defaults', function() {
48
+ assert.equal(s.selected, null);
49
+ assert.equal(s.selectedClass, 'core-selected');
50
+ assert.equal(s.valueattr, 'name');
51
+ assert.equal(s.items.length, 5);
52
+ });
53
+
54
+ test('allows multi-selection', function(done) {
55
+ // setup listener for core-select event
56
+ var selectEventCounter = 0;
57
+ s.addEventListener('core-select', function(e) {
58
+ if (e.detail.isSelected) {
59
+ selectEventCounter++;
60
+ } else {
61
+ selectEventCounter--;
62
+ }
63
+ });
64
+ // set selected
65
+ s.selected = [0, 2];
66
+ asyncPlatformFlush(function() {
67
+ // check core-select event
68
+ assert.equal(selectEventCounter, 2);
69
+ // check selected class
70
+ assert.isTrue(s.children[0].classList.contains('core-selected'));
71
+ assert.isTrue(s.children[2].classList.contains('core-selected'));
72
+ // check selectedItem
73
+ assert.equal(s.selectedItem.length, 2);
74
+ assert.equal(s.selectedItem[0], s.children[0]);
75
+ assert.equal(s.selectedItem[1], s.children[2]);
76
+ // tap on already selected element should unselect it
77
+ s.children[0].dispatchEvent(new CustomEvent('tap', {bubbles: true}));
78
+ // check selected
79
+ assert.equal(s.selected.length, 1);
80
+ asyncPlatformFlush(function() {
81
+ assert.equal(selectEventCounter, 1);
82
+ assert.isFalse(s.children[0].classList.contains('core-selected'));
83
+ // add selected
84
+ s.selected.push(3);
85
+ s.selected.push(4);
86
+ // check core-select event
87
+ asyncPlatformFlush(function() {
88
+ assert.equal(selectEventCounter, 3);
89
+ done();
90
+ });
91
+ });
92
+ });
93
+ });
94
+
95
+ test('toggle multi to false', function(done) {
96
+ // set selected
97
+ s.selected = [0, 2];
98
+ var first = s.selected[0];
99
+ // set mutli to false, so to make it single-selection
100
+ s.multi = false;
101
+ asyncPlatformFlush(function() {
102
+ // selected should not be an array
103
+ assert.isNotArray(s.selected);
104
+ // selected should be the first value in the old array
105
+ assert.equal(s.selected, first);
106
+ done();
107
+ });
108
+ });
109
+
110
+ });
111
+
112
+ </script>
113
+
114
+ </body>
115
+ </html>
@@ -0,0 +1,113 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <title>core-selector-next-previous-wrap</title>
14
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
15
+
16
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
17
+ <script src="../../web-component-tester/browser.js"></script>
18
+
19
+ <link rel="import" href="../core-selector.html">
20
+
21
+ <style>
22
+ .core-selected {
23
+ background: #ccc;
24
+ }
25
+ </style>
26
+
27
+ </head>
28
+ <body unresolved>
29
+
30
+ <core-selector id="selector" selected="0">
31
+ <div>Item 1</div>
32
+ <div>Item 2</div>
33
+ <div>Item 3</div>
34
+ </core-selector>
35
+
36
+ <script>
37
+
38
+ var s = document.querySelector('#selector');
39
+
40
+ function assertAndSelect(method, expectedIndex, wrap) {
41
+ return function(done) {
42
+ assert.equal(s.selected, expectedIndex);
43
+ s[method](wrap);
44
+ flush(done);
45
+ }
46
+ }
47
+
48
+ suite('next/previous', function() {
49
+
50
+ test('selectNext(true) wraps', function(done) {
51
+ assert.equal(s.selected, 0);
52
+
53
+ async.series([
54
+ assertAndSelect('selectNext', 0, true),
55
+ assertAndSelect('selectNext', 1, true),
56
+ assertAndSelect('selectNext', 2, true),
57
+ function(done) {
58
+ assert.equal(s.selected, 0);
59
+ done();
60
+ }
61
+ ], done);
62
+ });
63
+
64
+ test('selectPrevious(true) wraps', function(done) {
65
+ assert.equal(s.selected, 0);
66
+
67
+ async.series([
68
+ assertAndSelect('selectPrevious', 0, true),
69
+ assertAndSelect('selectPrevious', 2, true),
70
+ assertAndSelect('selectPrevious', 1, true),
71
+ function(done) {
72
+ assert.equal(s.selected, 0);
73
+ done();
74
+ }
75
+ ], done);
76
+ });
77
+
78
+ test('selectNext() does not wrap', function(done) {
79
+ assert.equal(s.selected, 0);
80
+
81
+ async.series([
82
+ assertAndSelect('selectNext', 0),
83
+ assertAndSelect('selectNext', 1),
84
+ assertAndSelect('selectNext', 2),
85
+ assertAndSelect('selectNext', 2),
86
+ assertAndSelect('selectNext', 2),
87
+ function(done) {
88
+ s.selected = 0;
89
+ asyncPlatformFlush(done);
90
+ }
91
+ ], done);
92
+ });
93
+
94
+ test('selectPrevious() does not wrap', function(done) {
95
+ assert.equal(s.selected, 0);
96
+ s.selected = 2;
97
+
98
+ async.series([
99
+ asyncPlatformFlush,
100
+ assertAndSelect('selectPrevious', 2),
101
+ assertAndSelect('selectPrevious', 1),
102
+ assertAndSelect('selectPrevious', 0),
103
+ assertAndSelect('selectPrevious', 0),
104
+ assertAndSelect('selectPrevious', 0),
105
+ ], done);
106
+ });
107
+
108
+ });
109
+
110
+ </script>
111
+
112
+ </body>
113
+ </html>
@@ -0,0 +1,62 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <title>core-selector-selected-attr-prop</title>
14
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
15
+
16
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
17
+ <script src="../../web-component-tester/browser.js"></script>
18
+
19
+ <link rel="import" href="../core-selector.html">
20
+
21
+ <style>
22
+ .core-selected {
23
+ background: #ccc;
24
+ }
25
+ </style>
26
+
27
+ </head>
28
+ <body>
29
+
30
+ <core-selector id="selector" selected="2" selectedProperty="myprop">
31
+ <div>Item 1</div>
32
+ <div>Item 2</div>
33
+ <div>Item 3</div>
34
+ <div>Item 4</div>
35
+ <div>Item 5</div>
36
+ </core-selector>
37
+
38
+ <script>
39
+
40
+ var s = document.querySelector('#selector');
41
+
42
+ suite('selected attributes', function() {
43
+
44
+ test('custom selectedProperty', function(done) {
45
+ s.selected = 4;
46
+ asyncPlatformFlush(function() {
47
+ // check Item2's attribute and property (should be unselect)
48
+ assert.isFalse(s.children[2].hasAttribute('active'));
49
+ assert.notEqual(s.children[2].myprop, true);
50
+ // check Item4's attribute and property
51
+ assert.isTrue(s.children[4].hasAttribute('active'));
52
+ assert.isTrue(s.children[4].myprop);
53
+ done();
54
+ });
55
+ });
56
+
57
+ });
58
+
59
+ </script>
60
+
61
+ </body>
62
+ </html>
@@ -0,0 +1,63 @@
1
+ <!doctype html>
2
+ <!--
3
+ Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4
+ This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5
+ The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6
+ The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7
+ Code distributed by Google as part of the polymer project is also
8
+ subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
+ -->
10
+ <html>
11
+ <head>
12
+ <meta charset="UTF-8">
13
+ <title>core-selector-template-repeat</title>
14
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
15
+
16
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
17
+ <script src="../../web-component-tester/browser.js"></script>
18
+
19
+ <link rel="import" href="../core-selector.html">
20
+
21
+ <style>
22
+ .core-selected {
23
+ background: #ccc;
24
+ }
25
+ </style>
26
+
27
+ </head>
28
+ <body>
29
+
30
+ <core-selector id="selector" selected="1">
31
+ <template id="itemsTemplate" repeat="{{items}}">
32
+ <div name="{{}}">{{}}</div>
33
+ </template>
34
+ </core-selector>
35
+
36
+ <script>
37
+
38
+ var s = document.querySelector('#selector');
39
+ var t = document.querySelector('#itemsTemplate');
40
+
41
+ suite('<template repeat...>', function() {
42
+
43
+ test('supports repeated children', function(done) {
44
+ t.model = {items: ['Item1', 'Item2', 'Item3', "Item4"]};
45
+ asyncPlatformFlush(function() {
46
+ // check items
47
+ assert.equal(s.items.length, 4);
48
+ assert.equal(s.selected, 1);
49
+ // check selectedItem
50
+ var item = s.selectedItem;
51
+ assert.equal(s.items[1], item);
52
+ // check selected class
53
+ assert.isTrue(item.classList.contains('core-selected'));
54
+ done();
55
+ });
56
+ });
57
+
58
+ });
59
+
60
+ </script>
61
+
62
+ </body>
63
+ </html>
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "core-style",
3
+ "private": true,
4
+ "dependencies": {
5
+ "polymer": "Polymer/polymer#^0.5"
6
+ },
7
+ "version": "0.5.5",
8
+ "homepage": "https://github.com/Polymer/core-style",
9
+ "_release": "0.5.5",
10
+ "_resolution": {
11
+ "type": "version",
12
+ "tag": "0.5.5",
13
+ "commit": "f4ecd52d5def71f9368b43b77f3b98a36ad1d893"
14
+ },
15
+ "_source": "git://github.com/Polymer/core-style.git",
16
+ "_target": "^0.5",
17
+ "_originalSource": "Polymer/core-style"
18
+ }