polymer-core-rails 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/components/context-free-parser/README.md +4 -0
- data/app/assets/components/context-free-parser/bower.json +5 -0
- data/app/assets/components/context-free-parser/context-free-parser.html +49 -0
- data/app/assets/components/context-free-parser/context-free-parser.js +130 -0
- data/app/assets/components/context-free-parser/demo.html +34 -0
- data/app/assets/components/context-free-parser/index.html +22 -0
- data/app/assets/components/core-ajax/README.md +4 -0
- data/app/assets/components/core-ajax/bower.json +7 -0
- data/app/assets/components/core-ajax/{core-ajax.html.erb → core-ajax.html} +29 -23
- data/app/assets/components/core-ajax/{core-xhr.html.erb → core-xhr.html} +6 -3
- data/app/assets/components/core-ajax/demo.html +43 -0
- data/app/assets/components/core-ajax/index.html +22 -0
- data/app/assets/components/core-ajax/metadata.html +23 -0
- data/app/assets/components/core-animated-pages/README.md +4 -0
- data/app/assets/components/core-animated-pages/bower.json +10 -0
- data/app/assets/components/core-animated-pages/core-animated-pages.css +10 -0
- data/app/assets/components/core-animated-pages/{core-animated-pages.html.erb → core-animated-pages.html} +32 -9
- data/app/assets/components/core-animated-pages/demo.html +23 -0
- data/app/assets/components/core-animated-pages/demos/grid.html +113 -0
- data/app/assets/components/core-animated-pages/demos/list.html +126 -0
- data/app/assets/components/core-animated-pages/demos/music.html +182 -0
- data/app/assets/components/core-animated-pages/demos/nested-animated-pages.html +113 -0
- data/app/assets/components/core-animated-pages/demos/nested.html +112 -0
- data/app/assets/components/core-animated-pages/demos/news.html +255 -0
- data/app/assets/components/core-animated-pages/demos/quiz1-intro.png +0 -0
- data/app/assets/components/core-animated-pages/demos/quiz1.html +263 -0
- data/app/assets/components/core-animated-pages/demos/shadow.html +142 -0
- data/app/assets/components/core-animated-pages/demos/simple.html +98 -0
- data/app/assets/components/core-animated-pages/index.html +22 -0
- data/app/assets/components/core-animated-pages/metadata.html +38 -0
- data/app/assets/components/core-animated-pages/transitions/{core-transition-pages.html.erb → core-transition-pages.html} +5 -3
- data/app/assets/components/core-animated-pages/transitions/{cross-fade.html.erb → cross-fade.html} +1 -1
- data/app/assets/components/core-animated-pages/transitions/hero-transition.css +10 -0
- data/app/assets/components/core-animated-pages/transitions/{hero-transition.html.erb → hero-transition.html} +7 -7
- data/app/assets/components/core-animated-pages/transitions/slide-from-bottom.html +8 -1
- data/app/assets/components/core-animated-pages/transitions/slide-from-right.html +8 -0
- data/app/assets/components/core-animation/README.md +4 -0
- data/app/assets/components/core-animation/bower.json +8 -0
- data/app/assets/components/core-animation/{core-animation-group.html.erb → core-animation-group.html} +2 -1
- data/app/assets/components/core-animation/{core-animation.html.erb → core-animation.html} +4 -3
- data/app/assets/components/core-animation/demo.html +149 -0
- data/app/assets/components/core-animation/index.html +22 -0
- data/app/assets/components/core-animation/web-animations.html +10 -0
- data/app/assets/components/core-collapse/README.md +4 -0
- data/app/assets/components/core-collapse/bower.json +7 -0
- data/app/assets/components/core-collapse/{core-collapse.html.erb → core-collapse.html} +24 -9
- data/app/assets/components/core-collapse/demo.html +93 -0
- data/app/assets/components/core-collapse/index.html +22 -0
- data/app/assets/components/core-component-page/README.md +6 -0
- data/app/assets/components/core-component-page/bowager-logo.png +0 -0
- data/app/assets/components/core-component-page/bower.json +8 -0
- data/app/assets/components/core-component-page/core-component-page.html +37 -0
- data/app/assets/components/core-component-page/demo.html +23 -0
- data/app/assets/components/core-component-page/index.html +22 -0
- data/app/assets/components/core-doc-viewer/README.md +4 -0
- data/app/assets/components/core-doc-viewer/bower.json +16 -0
- data/app/assets/components/core-doc-viewer/core-doc-viewer.html +186 -0
- data/app/assets/components/core-doc-viewer/demo.html +46 -0
- data/app/assets/components/core-doc-viewer/elements/core-doc-page.css +139 -0
- data/app/assets/components/core-doc-viewer/elements/core-doc-page.html +175 -0
- data/app/assets/components/core-doc-viewer/elements/core-doc-toc.css +27 -0
- data/app/assets/components/core-doc-viewer/elements/core-doc-toc.html +67 -0
- data/app/assets/components/core-doc-viewer/index.html +22 -0
- data/app/assets/components/core-docs/README.md +4 -0
- data/app/assets/components/core-docs/bower.json +7 -0
- data/app/assets/components/core-docs/index.html +71 -0
- data/app/assets/components/core-drag-drop/core-drag-drop.html +12 -7
- data/app/assets/components/core-drag-drop/demo.html +102 -0
- data/app/assets/components/core-drag-drop/index.html +22 -0
- data/app/assets/components/core-drawer-panel/README.md +4 -0
- data/app/assets/components/core-drawer-panel/bower.json +8 -0
- data/app/assets/components/core-drawer-panel/core-drawer-panel.css +18 -33
- data/app/assets/components/core-drawer-panel/core-drawer-panel.html +339 -0
- data/app/assets/components/core-drawer-panel/demo.html +73 -0
- data/app/assets/components/core-drawer-panel/index.html +22 -0
- data/app/assets/components/core-drawer-panel/metadata.html +37 -0
- data/app/assets/components/core-dropdown/README.md +6 -0
- data/app/assets/components/core-dropdown/bower.json +11 -0
- data/app/assets/components/core-dropdown/core-dropdown.css +35 -0
- data/app/assets/components/core-dropdown/core-dropdown.html +182 -0
- data/app/assets/components/core-dropdown/demo.html +349 -0
- data/app/assets/components/core-dropdown/index.html +22 -0
- data/app/assets/components/core-elements/README.md +4 -0
- data/app/assets/components/core-elements/bower.json +47 -0
- data/app/assets/components/core-elements/core-elements.html +56 -0
- data/app/assets/components/core-elements/demo.html +107 -0
- data/app/assets/components/core-elements/index.html +22 -0
- data/app/assets/components/core-elements/metadata.html +30 -0
- data/app/assets/components/core-field/README.md +4 -0
- data/app/assets/components/core-field/bower.json +7 -0
- data/app/assets/components/core-field/{core-field.html.erb → core-field.html} +5 -2
- data/app/assets/components/core-field/demo.html +67 -0
- data/app/assets/components/core-field/index.html +22 -0
- data/app/assets/components/core-field/metadata.html +26 -0
- data/app/assets/components/core-header-panel/README.md +4 -0
- data/app/assets/components/core-header-panel/bower.json +7 -0
- data/app/assets/components/core-header-panel/{core-header-panel.html.erb → core-header-panel.html} +54 -25
- data/app/assets/components/core-header-panel/demo.html +100 -0
- data/app/assets/components/core-header-panel/index.html +23 -0
- data/app/assets/components/core-header-panel/metadata.html +37 -0
- data/app/assets/components/core-icon/README.md +4 -0
- data/app/assets/components/core-icon/bower.json +8 -0
- data/app/assets/components/core-icon/core-icon.css +3 -12
- data/app/assets/components/core-icon/core-icon.html +189 -0
- data/app/assets/components/core-icon/demo.html +44 -0
- data/app/assets/components/core-icon/index.html +22 -0
- data/app/assets/components/core-icon/metadata.html +21 -0
- data/app/assets/components/core-icon-button/README.md +4 -0
- data/app/assets/components/core-icon-button/bower.json +7 -0
- data/app/assets/components/core-icon-button/core-icon-button.css +8 -3
- data/app/assets/components/core-icon-button/{core-icon-button.html.erb → core-icon-button.html} +6 -8
- data/app/assets/components/core-icon-button/demo.html +35 -0
- data/app/assets/components/core-icon-button/index.html +22 -0
- data/app/assets/components/core-icon-button/metadata.html +20 -0
- data/app/assets/components/core-icons/README.md +4 -0
- data/app/assets/components/core-icons/av-icons.html +46 -0
- data/app/assets/components/core-icons/bower.json +9 -0
- data/app/assets/components/core-icons/communication-icons.html +59 -0
- data/app/assets/components/core-icons/core-icons.html +270 -6
- data/app/assets/components/core-icons/demo.html +96 -0
- data/app/assets/components/core-icons/device-icons.html +59 -0
- data/app/assets/components/core-icons/editor-icons.html +67 -0
- data/app/assets/components/core-icons/hardware-icons.html +58 -0
- data/app/assets/components/core-icons/iconsets/av-icons.html +45 -0
- data/app/assets/components/core-icons/iconsets/communication-icons.html +38 -0
- data/app/assets/components/core-icons/iconsets/device-icons.html +54 -0
- data/app/assets/components/core-icons/iconsets/hardware-icons.html +45 -0
- data/app/assets/components/core-icons/iconsets/icons.html +192 -0
- data/app/assets/components/core-icons/iconsets/image-icons.html +51 -0
- data/app/assets/components/core-icons/iconsets/maps-icons.html +33 -0
- data/app/assets/components/core-icons/iconsets/notification-icons.html +53 -0
- data/app/assets/components/core-icons/iconsets/png-icons.html +18 -0
- data/app/assets/components/core-icons/iconsets/social-icons.html +50 -0
- data/app/assets/components/core-icons/image-icons.html +146 -0
- data/app/assets/components/core-icons/index.html +22 -0
- data/app/assets/components/core-icons/maps-icons.html +69 -0
- data/app/assets/components/core-icons/notification-icons.html +50 -0
- data/app/assets/components/core-icons/png-icons.html +19 -0
- data/app/assets/components/core-icons/social-icons.html +52 -0
- data/app/assets/components/core-iconset/README.md +4 -0
- data/app/assets/components/core-iconset/bower.json +9 -0
- data/app/assets/components/core-iconset/{core-iconset.html.erb → core-iconset.html} +29 -24
- data/app/assets/components/core-iconset/demo.html +62 -0
- data/app/assets/components/core-iconset/index.html +22 -0
- data/app/assets/components/core-iconset/my-icons-big.png +0 -0
- data/app/assets/components/core-iconset/my-icons.png +0 -0
- data/app/assets/components/core-iconset-svg/README.md +4 -0
- data/app/assets/components/core-iconset-svg/bower.json +8 -0
- data/app/assets/components/core-iconset-svg/core-iconset-svg.html +14 -16
- data/app/assets/components/core-iconset-svg/demo.html +66 -0
- data/app/assets/components/core-iconset-svg/index.html +22 -0
- data/app/assets/components/core-iconset-svg/svg-sample-icons.html +68 -0
- data/app/assets/components/core-input/README.md +2 -0
- data/app/assets/components/core-input/bower.json +6 -0
- data/app/assets/components/core-input/core-input.css +10 -0
- data/app/assets/components/core-input/core-input.html +454 -0
- data/app/assets/components/core-input/demo.html +142 -0
- data/app/assets/components/core-input/index.html +22 -0
- data/app/assets/components/core-input/metadata.html +20 -0
- data/app/assets/components/core-item/README.md +4 -0
- data/app/assets/components/core-item/bower.json +8 -0
- data/app/assets/components/core-item/core-item.css +13 -0
- data/app/assets/components/core-item/{core-item.html.erb → core-item.html} +10 -16
- data/app/assets/components/core-item/demo.html +92 -0
- data/app/assets/components/core-item/index.html +22 -0
- data/app/assets/components/core-item/metadata.html +24 -0
- data/app/assets/components/core-layout-grid/README.md +4 -0
- data/app/assets/components/core-layout-grid/bower.json +7 -0
- data/app/assets/components/core-layout-grid/core-layout-grid.html +350 -0
- data/app/assets/components/core-layout-grid/demo.html +116 -0
- data/app/assets/components/core-layout-grid/index.html +22 -0
- data/app/assets/components/core-layout-grid/metadata.html +22 -0
- data/app/assets/components/core-layout-trbl/README.md +4 -0
- data/app/assets/components/core-layout-trbl/bower.json +7 -0
- data/app/assets/components/core-layout-trbl/core-layout-trbl.html +269 -0
- data/app/assets/components/core-layout-trbl/core-slide.html +181 -0
- data/app/assets/components/core-layout-trbl/demo.html +58 -0
- data/app/assets/components/core-layout-trbl/index.html +22 -0
- data/app/assets/components/core-list/README.md +4 -0
- data/app/assets/components/core-list/bower.json +8 -0
- data/app/assets/components/core-list/core-list.css +18 -4
- data/app/assets/components/core-list/{core-list.html.erb → core-list.html} +27 -27
- data/app/assets/components/core-list/demo-divider.html +178 -0
- data/app/assets/components/core-list/demo.html +154 -0
- data/app/assets/components/core-list/images/0.png +0 -0
- data/app/assets/components/core-list/images/1.png +0 -0
- data/app/assets/components/core-list/images/2.png +0 -0
- data/app/assets/components/core-list/images/3.png +0 -0
- data/app/assets/components/core-list/index.html +22 -0
- data/app/assets/components/core-localstorage/README.md +4 -0
- data/app/assets/components/core-localstorage/bower.json +7 -0
- data/app/assets/components/core-localstorage/core-localstorage.html +13 -11
- data/app/assets/components/core-localstorage/demo.html +50 -0
- data/app/assets/components/core-localstorage/index.html +22 -0
- data/app/assets/components/core-media-query/README.md +4 -0
- data/app/assets/components/core-media-query/bower.json +7 -0
- data/app/assets/components/core-media-query/core-media-query.html +1 -0
- data/app/assets/components/core-media-query/demo.html +44 -0
- data/app/assets/components/core-media-query/index.html +22 -0
- data/app/assets/components/core-menu/README.md +4 -0
- data/app/assets/components/core-menu/bower.json +9 -0
- data/app/assets/components/core-menu/{core-menu.html.erb → core-menu.html} +3 -3
- data/app/assets/components/core-menu/{core-submenu.html.erb → core-submenu.html} +10 -10
- data/app/assets/components/core-menu/demo.html +101 -0
- data/app/assets/components/core-menu/index.html +22 -0
- data/app/assets/components/core-menu/metadata.html +62 -0
- data/app/assets/components/core-menu-button/README.md +2 -0
- data/app/assets/components/core-menu-button/bower.json +11 -0
- data/app/assets/components/core-menu-button/core-menu-button.html +118 -0
- data/app/assets/components/core-menu-button/demo.html +98 -0
- data/app/assets/components/core-menu-button/index.html +22 -0
- data/app/assets/components/core-menu-button/metadata.html +26 -0
- data/app/assets/components/core-meta/README.md +4 -0
- data/app/assets/components/core-meta/bower.json +7 -0
- data/app/assets/components/core-meta/core-meta.html +24 -22
- data/app/assets/components/core-meta/demo.html +58 -0
- data/app/assets/components/core-meta/index.html +22 -0
- data/app/assets/components/core-overlay/README.md +4 -0
- data/app/assets/components/core-overlay/bower.json +8 -0
- data/app/assets/components/core-overlay/core-key-helper.html +2 -0
- data/app/assets/components/core-overlay/{core-overlay.html.erb → core-overlay.html} +77 -51
- data/app/assets/components/core-overlay/demo.html +155 -0
- data/app/assets/components/core-overlay/index.html +22 -0
- data/app/assets/components/core-pages/README.md +4 -0
- data/app/assets/components/core-pages/bower.json +7 -0
- data/app/assets/components/core-pages/{core-pages.html.erb → core-pages.html} +5 -4
- data/app/assets/components/core-pages/demo.html +136 -0
- data/app/assets/components/core-pages/index.html +22 -0
- data/app/assets/components/core-pages/metadata.html +25 -0
- data/app/assets/components/core-popup-menu/README.md +6 -0
- data/app/assets/components/core-popup-menu/bower.json +13 -0
- data/app/assets/components/core-popup-menu/core-popup-menu.css +28 -0
- data/app/assets/components/core-popup-menu/core-popup-menu.html +198 -0
- data/app/assets/components/core-popup-menu/core-popup-overlay.html +111 -0
- data/app/assets/components/core-popup-menu/demo.html +542 -0
- data/app/assets/components/core-popup-menu/index.html +22 -0
- data/app/assets/components/core-popup-menu/metadata.html +62 -0
- data/app/assets/components/core-range/README.md +2 -0
- data/app/assets/components/core-range/bower.json +7 -0
- data/app/assets/components/core-range/core-range.html +16 -15
- data/app/assets/components/core-range/demo.html +64 -0
- data/app/assets/components/core-range/index.html +22 -0
- data/app/assets/components/core-scaffold/README.md +4 -0
- data/app/assets/components/core-scaffold/bower.json +10 -0
- data/app/assets/components/core-scaffold/{core-scaffold.html.erb → core-scaffold.html} +35 -25
- data/app/assets/components/core-scaffold/demo.html +82 -0
- data/app/assets/components/core-scaffold/index.html +22 -0
- data/app/assets/components/core-scaffold/metadata.html +52 -0
- data/app/assets/components/core-scroll-header-panel/README.md +4 -0
- data/app/assets/components/core-scroll-header-panel/bower.json +11 -0
- data/app/assets/components/core-scroll-header-panel/core-scroll-header-panel.css +1 -0
- data/app/assets/components/core-scroll-header-panel/{core-scroll-header-panel.html.erb → core-scroll-header-panel.html} +132 -76
- data/app/assets/components/core-scroll-header-panel/demo.html +111 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo1.html +80 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo2.html +82 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo3.html +81 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo4.html +109 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo5.html +109 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo6.html +113 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo7.html +120 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo8.html +122 -0
- data/app/assets/components/core-scroll-header-panel/demos/demo9.html +100 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg2.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg3.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg5.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg6.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/images/bg9.jpg +0 -0
- data/app/assets/components/core-scroll-header-panel/demos/lorem-ipsum.html +42 -0
- data/app/assets/components/core-scroll-header-panel/index.html +22 -0
- data/app/assets/components/core-scroll-header-panel/metadata.html +41 -0
- data/app/assets/components/core-selection/README.md +4 -0
- data/app/assets/components/core-selection/bower.json +7 -0
- data/app/assets/components/core-selection/core-selection.html +6 -5
- data/app/assets/components/core-selection/demo.html +59 -0
- data/app/assets/components/core-selection/index.html +22 -0
- data/app/assets/components/core-selector/README.md +4 -0
- data/app/assets/components/core-selector/bower.json +8 -0
- data/app/assets/components/core-selector/{core-selector.html.erb → core-selector.html} +53 -16
- data/app/assets/components/core-selector/demo.html +106 -0
- data/app/assets/components/core-selector/index.html +22 -0
- data/app/assets/components/core-selector/metadata.html +20 -0
- data/app/assets/components/core-shared-lib/README.md +4 -0
- data/app/assets/components/core-shared-lib/bower.json +7 -0
- data/app/assets/components/core-shared-lib/core-shared-lib.html +21 -20
- data/app/assets/components/core-shared-lib/demo.html +33 -0
- data/app/assets/components/core-shared-lib/index.html +22 -0
- data/app/assets/components/core-signals/README.md +4 -0
- data/app/assets/components/core-signals/bower.json +7 -0
- data/app/assets/components/core-signals/core-signals.html +7 -6
- data/app/assets/components/core-signals/demo.html +53 -0
- data/app/assets/components/core-signals/index.html +22 -0
- data/app/assets/components/core-splitter/README.md +4 -0
- data/app/assets/components/core-splitter/bower.json +7 -0
- data/app/assets/components/core-splitter/{core-splitter.css.erb → core-splitter.css} +2 -2
- data/app/assets/components/core-splitter/{core-splitter.html.erb → core-splitter.html} +13 -25
- data/app/assets/components/core-splitter/demo.html +80 -0
- data/app/assets/components/core-splitter/index.html +22 -0
- data/app/assets/components/core-style/README.md +4 -0
- data/app/assets/components/core-style/bower.json +7 -0
- data/app/assets/components/core-style/core-style.html +19 -17
- data/app/assets/components/core-style/demo.html +58 -0
- data/app/assets/components/core-style/elements.html +55 -0
- data/app/assets/components/core-style/index.html +22 -0
- data/app/assets/components/core-style/my-theme.html +73 -0
- data/app/assets/components/core-tests/README.md +4 -0
- data/app/assets/components/core-tests/bower.json +7 -0
- data/app/assets/components/core-tests/runner.html +29 -0
- data/app/assets/components/core-tests/tests/core-ajax.html +49 -0
- data/app/assets/components/core-tests/tests/core-collapse.html +68 -0
- data/app/assets/components/core-tests/tests/core-localstorage.html +38 -0
- data/app/assets/components/core-tests/tests/core-selection-multi.html +55 -0
- data/app/assets/components/core-tests/tests/core-selection.html +54 -0
- data/app/assets/components/core-tests/tests/core-selector-activate-event.html +50 -0
- data/app/assets/components/core-tests/tests/core-selector-basic.html +105 -0
- data/app/assets/components/core-tests/tests/core-selector-multi.html +86 -0
- data/app/assets/components/core-tests/tests/core-shared-lib.html +48 -0
- data/app/assets/components/core-tests/tests/tests.html +46 -0
- data/app/assets/components/core-toolbar/README.md +4 -0
- data/app/assets/components/core-toolbar/bower.json +7 -0
- data/app/assets/components/core-toolbar/core-toolbar.css +1 -17
- data/app/assets/components/core-toolbar/{core-toolbar.html.erb → core-toolbar.html} +6 -5
- data/app/assets/components/core-toolbar/demo.html +107 -0
- data/app/assets/components/core-toolbar/index.html +22 -0
- data/app/assets/components/core-toolbar/metadata.html +28 -0
- data/app/assets/components/core-tooltip/README.md +4 -0
- data/app/assets/components/core-tooltip/bower.json +7 -0
- data/app/assets/components/core-tooltip/core-tooltip.css +2 -2
- data/app/assets/components/core-tooltip/{core-tooltip.html.erb → core-tooltip.html} +3 -3
- data/app/assets/components/core-tooltip/demo.html +176 -0
- data/app/assets/components/core-tooltip/index.html +23 -0
- data/app/assets/components/core-tooltip/metadata.html +18 -0
- data/app/assets/components/core-transition/README.md +2 -0
- data/app/assets/components/core-transition/bower.json +8 -0
- data/app/assets/components/core-transition/core-transition-css.html +221 -0
- data/app/assets/components/core-transition/core-transition.html +140 -0
- data/app/assets/components/core-transition/demo.html +87 -0
- data/app/assets/components/core-transition/index.html +22 -0
- data/app/assets/components/google-code-prettify/CHANGES.html +172 -0
- data/app/assets/components/google-code-prettify/COPYING +191 -0
- data/app/assets/components/google-code-prettify/README-zh-Hans.html +143 -0
- data/app/assets/components/google-code-prettify/README.html +233 -0
- data/app/assets/components/google-code-prettify/README.md +54 -0
- data/app/assets/components/google-code-prettify/bin/prettify.min.css +1 -0
- data/app/assets/components/google-code-prettify/bin/prettify.min.js +30 -0
- data/app/assets/components/google-code-prettify/bin/run_prettify.min.js +34 -0
- data/app/assets/components/google-code-prettify/bower.json +16 -0
- data/app/assets/components/google-code-prettify/examples/quine.html +55 -0
- data/app/assets/components/google-code-prettify/src/lang-apollo.js +51 -0
- data/app/assets/components/google-code-prettify/src/lang-basic.js +32 -0
- data/app/assets/components/google-code-prettify/src/lang-clj.js +64 -0
- data/app/assets/components/google-code-prettify/src/lang-css.js +159 -0
- data/app/assets/components/google-code-prettify/src/lang-dart.js +88 -0
- data/app/assets/components/google-code-prettify/src/lang-erlang.js +92 -0
- data/app/assets/components/google-code-prettify/src/lang-go.js +58 -0
- data/app/assets/components/google-code-prettify/src/lang-hs.js +101 -0
- data/app/assets/components/google-code-prettify/src/lang-lisp.js +94 -0
- data/app/assets/components/google-code-prettify/src/lang-llvm.js +61 -0
- data/app/assets/components/google-code-prettify/src/lang-lua.js +59 -0
- data/app/assets/components/google-code-prettify/src/lang-matlab.js +180 -0
- data/app/assets/components/google-code-prettify/src/lang-ml.js +56 -0
- data/app/assets/components/google-code-prettify/src/lang-mumps.js +139 -0
- data/app/assets/components/google-code-prettify/src/lang-n.js +65 -0
- data/app/assets/components/google-code-prettify/src/lang-pascal.js +32 -0
- data/app/assets/components/google-code-prettify/src/lang-proto.js +35 -0
- data/app/assets/components/google-code-prettify/src/lang-r.js +57 -0
- data/app/assets/components/google-code-prettify/src/lang-rd.js +47 -0
- data/app/assets/components/google-code-prettify/src/lang-scala.js +54 -0
- data/app/assets/components/google-code-prettify/src/lang-sql.js +58 -0
- data/app/assets/components/google-code-prettify/src/lang-tcl.js +62 -0
- data/app/assets/components/google-code-prettify/src/lang-tex.js +46 -0
- data/app/assets/components/google-code-prettify/src/lang-vb.js +66 -0
- data/app/assets/components/google-code-prettify/src/lang-vhdl.js +34 -0
- data/app/assets/components/google-code-prettify/src/lang-wiki.js +53 -0
- data/app/assets/components/google-code-prettify/src/lang-xq.js +67 -0
- data/app/assets/components/google-code-prettify/src/lang-yaml.js +27 -0
- data/app/assets/components/google-code-prettify/src/prettify.css +52 -0
- data/app/assets/components/google-code-prettify/src/prettify.js +1597 -0
- data/app/assets/components/google-code-prettify/src/run_prettify.js +1905 -0
- data/app/assets/components/google-code-prettify/styles/demo.html +61 -0
- data/app/assets/components/google-code-prettify/styles/desert.css +34 -0
- data/app/assets/components/google-code-prettify/styles/doxy.css +64 -0
- data/app/assets/components/google-code-prettify/styles/index.html +89 -0
- data/app/assets/components/google-code-prettify/styles/sons-of-obsidian.css +118 -0
- data/app/assets/components/google-code-prettify/styles/sunburst.css +51 -0
- data/app/assets/components/marked/LICENSE +19 -0
- data/app/assets/components/marked/Makefile +12 -0
- data/app/assets/components/marked/README.md +386 -0
- data/app/assets/components/marked/bin/marked +187 -0
- data/app/assets/components/marked/component.json +10 -0
- data/app/assets/components/marked/doc/broken.md +426 -0
- data/app/assets/components/marked/doc/todo.md +2 -0
- data/app/assets/components/marked/index.js +1 -0
- data/app/assets/components/marked/lib/marked.js +1266 -0
- data/app/assets/components/marked/man/marked.1 +88 -0
- data/app/assets/components/marked/package.json +22 -0
- data/app/assets/components/marked/test/README +10 -0
- data/app/assets/components/marked/test/browser/index.html +5 -0
- data/app/assets/components/marked/test/browser/index.js +41 -0
- data/app/assets/components/marked/test/browser/test.js +62 -0
- data/app/assets/components/marked/test/index.js +543 -0
- data/app/assets/components/marked/test/new/autolink_lines.html +3 -0
- data/app/assets/components/marked/test/new/autolink_lines.text +2 -0
- data/app/assets/components/marked/test/new/blockquote_list_item.html +3 -0
- data/app/assets/components/marked/test/new/blockquote_list_item.text +4 -0
- data/app/assets/components/marked/test/new/case_insensitive_refs.html +1 -0
- data/app/assets/components/marked/test/new/case_insensitive_refs.text +3 -0
- data/app/assets/components/marked/test/new/def_blocks.html +28 -0
- data/app/assets/components/marked/test/new/def_blocks.text +21 -0
- data/app/assets/components/marked/test/new/double_link.html +5 -0
- data/app/assets/components/marked/test/new/double_link.text +5 -0
- data/app/assets/components/marked/test/new/escaped_angles.html +1 -0
- data/app/assets/components/marked/test/new/escaped_angles.text +1 -0
- data/app/assets/components/marked/test/new/gfm_break.breaks.html +1 -0
- data/app/assets/components/marked/test/new/gfm_break.breaks.text +3 -0
- data/app/assets/components/marked/test/new/gfm_code.html +5 -0
- data/app/assets/components/marked/test/new/gfm_code.text +16 -0
- data/app/assets/components/marked/test/new/gfm_code_hr_list.html +52 -0
- data/app/assets/components/marked/test/new/gfm_code_hr_list.text +53 -0
- data/app/assets/components/marked/test/new/gfm_del.html +1 -0
- data/app/assets/components/marked/test/new/gfm_del.text +1 -0
- data/app/assets/components/marked/test/new/gfm_em.html +1 -0
- data/app/assets/components/marked/test/new/gfm_em.text +1 -0
- data/app/assets/components/marked/test/new/gfm_links.html +2 -0
- data/app/assets/components/marked/test/new/gfm_links.text +1 -0
- data/app/assets/components/marked/test/new/gfm_tables.html +37 -0
- data/app/assets/components/marked/test/new/gfm_tables.text +21 -0
- data/app/assets/components/marked/test/new/hr_list_break.html +10 -0
- data/app/assets/components/marked/test/new/hr_list_break.text +6 -0
- data/app/assets/components/marked/test/new/lazy_blockquotes.html +4 -0
- data/app/assets/components/marked/test/new/lazy_blockquotes.text +2 -0
- data/app/assets/components/marked/test/new/list_item_text.html +1 -0
- data/app/assets/components/marked/test/new/list_item_text.text +5 -0
- data/app/assets/components/marked/test/new/loose_lists.html +62 -0
- data/app/assets/components/marked/test/new/loose_lists.text +59 -0
- data/app/assets/components/marked/test/new/main.html +4 -0
- data/app/assets/components/marked/test/new/main.text +55 -0
- data/app/assets/components/marked/test/new/nested_code.html +1 -0
- data/app/assets/components/marked/test/new/nested_code.text +1 -0
- data/app/assets/components/marked/test/new/nested_em.html +3 -0
- data/app/assets/components/marked/test/new/nested_em.text +3 -0
- data/app/assets/components/marked/test/new/nested_square_link.html +1 -0
- data/app/assets/components/marked/test/new/nested_square_link.text +1 -0
- data/app/assets/components/marked/test/new/not_a_link.html +1 -0
- data/app/assets/components/marked/test/new/not_a_link.text +1 -0
- data/app/assets/components/marked/test/new/ref_paren.html +1 -0
- data/app/assets/components/marked/test/new/ref_paren.text +3 -0
- data/app/assets/components/marked/test/new/same_bullet.html +5 -0
- data/app/assets/components/marked/test/new/same_bullet.text +3 -0
- data/app/assets/components/marked/test/new/text.smartypants.html +6 -0
- data/app/assets/components/marked/test/new/text.smartypants.text +6 -0
- data/app/assets/components/marked/test/new/toplevel_paragraphs.gfm.html +34 -0
- data/app/assets/components/marked/test/new/toplevel_paragraphs.gfm.text +37 -0
- data/app/assets/components/marked/test/new/tricky_list.html +23 -0
- data/app/assets/components/marked/test/new/tricky_list.text +15 -0
- data/app/assets/components/marked/test/original/amps_and_angles_encoding.html +17 -0
- data/app/assets/components/marked/test/original/amps_and_angles_encoding.text +21 -0
- data/app/assets/components/marked/test/original/auto_links.html +18 -0
- data/app/assets/components/marked/test/original/auto_links.text +13 -0
- data/app/assets/components/marked/test/original/backslash_escapes.html +118 -0
- data/app/assets/components/marked/test/original/backslash_escapes.text +120 -0
- data/app/assets/components/marked/test/original/blockquotes_with_code_blocks.html +15 -0
- data/app/assets/components/marked/test/original/blockquotes_with_code_blocks.text +11 -0
- data/app/assets/components/marked/test/original/code_blocks.html +18 -0
- data/app/assets/components/marked/test/original/code_blocks.text +14 -0
- data/app/assets/components/marked/test/original/code_spans.html +6 -0
- data/app/assets/components/marked/test/original/code_spans.text +6 -0
- data/app/assets/components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.html +8 -0
- data/app/assets/components/marked/test/original/hard_wrapped_paragraphs_with_list_like_lines.text +8 -0
- data/app/assets/components/marked/test/original/horizontal_rules.html +71 -0
- data/app/assets/components/marked/test/original/horizontal_rules.text +67 -0
- data/app/assets/components/marked/test/original/inline_html_advanced.html +15 -0
- data/app/assets/components/marked/test/original/inline_html_advanced.text +15 -0
- data/app/assets/components/marked/test/original/inline_html_comments.html +13 -0
- data/app/assets/components/marked/test/original/inline_html_comments.text +13 -0
- data/app/assets/components/marked/test/original/inline_html_simple.html +72 -0
- data/app/assets/components/marked/test/original/inline_html_simple.text +69 -0
- data/app/assets/components/marked/test/original/links_inline_style.html +15 -0
- data/app/assets/components/marked/test/original/links_inline_style.text +15 -0
- data/app/assets/components/marked/test/original/links_reference_style.html +52 -0
- data/app/assets/components/marked/test/original/links_reference_style.text +71 -0
- data/app/assets/components/marked/test/original/links_shortcut_references.html +9 -0
- data/app/assets/components/marked/test/original/links_shortcut_references.text +20 -0
- data/app/assets/components/marked/test/original/literal_quotes_in_titles.html +3 -0
- data/app/assets/components/marked/test/original/literal_quotes_in_titles.text +7 -0
- data/app/assets/components/marked/test/original/markdown_documentation_basics.html +314 -0
- data/app/assets/components/marked/test/original/markdown_documentation_basics.text +306 -0
- data/app/assets/components/marked/test/original/markdown_documentation_syntax.html +942 -0
- data/app/assets/components/marked/test/original/markdown_documentation_syntax.text +888 -0
- data/app/assets/components/marked/test/original/nested_blockquotes.html +9 -0
- data/app/assets/components/marked/test/original/nested_blockquotes.text +5 -0
- data/app/assets/components/marked/test/original/ordered_and_unordered_lists.html +148 -0
- data/app/assets/components/marked/test/original/ordered_and_unordered_lists.text +131 -0
- data/app/assets/components/marked/test/original/strong_and_em_together.html +7 -0
- data/app/assets/components/marked/test/original/strong_and_em_together.text +7 -0
- data/app/assets/components/marked/test/original/tabs.html +25 -0
- data/app/assets/components/marked/test/original/tabs.text +21 -0
- data/app/assets/components/marked/test/original/tidyness.html +8 -0
- data/app/assets/components/marked/test/original/tidyness.text +5 -0
- data/app/assets/components/marked/test/tests/amps_and_angles_encoding.html +17 -0
- data/app/assets/components/marked/test/tests/amps_and_angles_encoding.text +21 -0
- data/app/assets/components/marked/test/tests/auto_links.html +18 -0
- data/app/assets/components/marked/test/tests/auto_links.text +13 -0
- data/app/assets/components/marked/test/tests/autolink_lines.html +3 -0
- data/app/assets/components/marked/test/tests/autolink_lines.text +2 -0
- data/app/assets/components/marked/test/tests/backslash_escapes.html +118 -0
- data/app/assets/components/marked/test/tests/backslash_escapes.text +120 -0
- data/app/assets/components/marked/test/tests/blockquote_list_item.html +3 -0
- data/app/assets/components/marked/test/tests/blockquote_list_item.text +4 -0
- data/app/assets/components/marked/test/tests/blockquotes_with_code_blocks.html +15 -0
- data/app/assets/components/marked/test/tests/blockquotes_with_code_blocks.text +11 -0
- data/app/assets/components/marked/test/tests/case_insensitive_refs.html +1 -0
- data/app/assets/components/marked/test/tests/case_insensitive_refs.text +3 -0
- data/app/assets/components/marked/test/tests/code_blocks.html +18 -0
- data/app/assets/components/marked/test/tests/code_blocks.text +14 -0
- data/app/assets/components/marked/test/tests/code_spans.html +6 -0
- data/app/assets/components/marked/test/tests/code_spans.text +6 -0
- data/app/assets/components/marked/test/tests/def_blocks.html +28 -0
- data/app/assets/components/marked/test/tests/def_blocks.text +21 -0
- data/app/assets/components/marked/test/tests/double_link.html +5 -0
- data/app/assets/components/marked/test/tests/double_link.text +5 -0
- data/app/assets/components/marked/test/tests/escaped_angles.html +1 -0
- data/app/assets/components/marked/test/tests/escaped_angles.text +1 -0
- data/app/assets/components/marked/test/tests/gfm_break.breaks.html +1 -0
- data/app/assets/components/marked/test/tests/gfm_break.breaks.text +3 -0
- data/app/assets/components/marked/test/tests/gfm_code.html +5 -0
- data/app/assets/components/marked/test/tests/gfm_code.text +16 -0
- data/app/assets/components/marked/test/tests/gfm_code_hr_list.html +52 -0
- data/app/assets/components/marked/test/tests/gfm_code_hr_list.text +53 -0
- data/app/assets/components/marked/test/tests/gfm_del.html +1 -0
- data/app/assets/components/marked/test/tests/gfm_del.text +1 -0
- data/app/assets/components/marked/test/tests/gfm_em.html +1 -0
- data/app/assets/components/marked/test/tests/gfm_em.text +1 -0
- data/app/assets/components/marked/test/tests/gfm_links.html +2 -0
- data/app/assets/components/marked/test/tests/gfm_links.text +1 -0
- data/app/assets/components/marked/test/tests/gfm_tables.html +37 -0
- data/app/assets/components/marked/test/tests/gfm_tables.text +21 -0
- data/app/assets/components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.html +8 -0
- data/app/assets/components/marked/test/tests/hard_wrapped_paragraphs_with_list_like_lines.nogfm.text +8 -0
- data/app/assets/components/marked/test/tests/horizontal_rules.html +71 -0
- data/app/assets/components/marked/test/tests/horizontal_rules.text +67 -0
- data/app/assets/components/marked/test/tests/hr_list_break.html +10 -0
- data/app/assets/components/marked/test/tests/hr_list_break.text +6 -0
- data/app/assets/components/marked/test/tests/inline_html_advanced.html +15 -0
- data/app/assets/components/marked/test/tests/inline_html_advanced.text +15 -0
- data/app/assets/components/marked/test/tests/inline_html_comments.html +13 -0
- data/app/assets/components/marked/test/tests/inline_html_comments.text +13 -0
- data/app/assets/components/marked/test/tests/inline_html_simple.html +72 -0
- data/app/assets/components/marked/test/tests/inline_html_simple.text +69 -0
- data/app/assets/components/marked/test/tests/lazy_blockquotes.html +4 -0
- data/app/assets/components/marked/test/tests/lazy_blockquotes.text +2 -0
- data/app/assets/components/marked/test/tests/links_inline_style.html +15 -0
- data/app/assets/components/marked/test/tests/links_inline_style.text +15 -0
- data/app/assets/components/marked/test/tests/links_reference_style.html +52 -0
- data/app/assets/components/marked/test/tests/links_reference_style.text +71 -0
- data/app/assets/components/marked/test/tests/links_shortcut_references.html +9 -0
- data/app/assets/components/marked/test/tests/links_shortcut_references.text +20 -0
- data/app/assets/components/marked/test/tests/list_item_text.html +1 -0
- data/app/assets/components/marked/test/tests/list_item_text.text +5 -0
- data/app/assets/components/marked/test/tests/literal_quotes_in_titles.html +3 -0
- data/app/assets/components/marked/test/tests/literal_quotes_in_titles.text +7 -0
- data/app/assets/components/marked/test/tests/loose_lists.html +62 -0
- data/app/assets/components/marked/test/tests/loose_lists.text +59 -0
- data/app/assets/components/marked/test/tests/main.html +4 -0
- data/app/assets/components/marked/test/tests/main.text +55 -0
- data/app/assets/components/marked/test/tests/markdown_documentation_basics.html +314 -0
- data/app/assets/components/marked/test/tests/markdown_documentation_basics.text +306 -0
- data/app/assets/components/marked/test/tests/markdown_documentation_syntax.html +942 -0
- data/app/assets/components/marked/test/tests/markdown_documentation_syntax.text +888 -0
- data/app/assets/components/marked/test/tests/nested_blockquotes.html +9 -0
- data/app/assets/components/marked/test/tests/nested_blockquotes.text +5 -0
- data/app/assets/components/marked/test/tests/nested_code.html +1 -0
- data/app/assets/components/marked/test/tests/nested_code.text +1 -0
- data/app/assets/components/marked/test/tests/nested_em.html +3 -0
- data/app/assets/components/marked/test/tests/nested_em.text +3 -0
- data/app/assets/components/marked/test/tests/nested_square_link.html +1 -0
- data/app/assets/components/marked/test/tests/nested_square_link.text +1 -0
- data/app/assets/components/marked/test/tests/not_a_link.html +1 -0
- data/app/assets/components/marked/test/tests/not_a_link.text +1 -0
- data/app/assets/components/marked/test/tests/ordered_and_unordered_lists.html +148 -0
- data/app/assets/components/marked/test/tests/ordered_and_unordered_lists.text +131 -0
- data/app/assets/components/marked/test/tests/ref_paren.html +1 -0
- data/app/assets/components/marked/test/tests/ref_paren.text +3 -0
- data/app/assets/components/marked/test/tests/same_bullet.html +5 -0
- data/app/assets/components/marked/test/tests/same_bullet.text +3 -0
- data/app/assets/components/marked/test/tests/strong_and_em_together.html +7 -0
- data/app/assets/components/marked/test/tests/strong_and_em_together.text +7 -0
- data/app/assets/components/marked/test/tests/tabs.html +25 -0
- data/app/assets/components/marked/test/tests/tabs.text +21 -0
- data/app/assets/components/marked/test/tests/text.smartypants.html +6 -0
- data/app/assets/components/marked/test/tests/text.smartypants.text +6 -0
- data/app/assets/components/marked/test/tests/tidyness.html +8 -0
- data/app/assets/components/marked/test/tests/tidyness.text +5 -0
- data/app/assets/components/marked/test/tests/toplevel_paragraphs.gfm.html +34 -0
- data/app/assets/components/marked/test/tests/toplevel_paragraphs.gfm.text +37 -0
- data/app/assets/components/marked/test/tests/tricky_list.html +23 -0
- data/app/assets/components/marked/test/tests/tricky_list.text +15 -0
- data/app/assets/components/marked-element/README.md +4 -0
- data/app/assets/components/marked-element/bower.json +8 -0
- data/app/assets/components/marked-element/demo.html +51 -0
- data/app/assets/components/marked-element/index.html +22 -0
- data/app/assets/components/marked-element/marked-element.html +50 -0
- data/app/assets/components/marked-element/marked-import.html +10 -0
- data/app/assets/components/platform/README.md +6 -0
- data/app/assets/components/platform/bower.json +16 -0
- data/app/assets/components/platform/build.log +35 -0
- data/app/assets/components/platform/platform.js +16 -0
- data/app/assets/components/platform/platform.js.map +1 -0
- data/app/assets/components/polymer/README.md +17 -0
- data/app/assets/components/polymer/bower.json +8 -0
- data/app/assets/components/polymer/build.log +35 -0
- data/app/assets/components/polymer/layout.html +286 -0
- data/app/assets/components/polymer/polymer.html +13 -0
- data/app/assets/components/polymer/polymer.js +14 -0
- data/app/assets/components/polymer/polymer.js.map +1 -0
- data/app/assets/components/polymer-test-tools/README.md +4 -0
- data/app/assets/components/polymer-test-tools/bower.json +5 -0
- data/app/assets/components/polymer-test-tools/chai/CONTRIBUTING.md +173 -0
- data/app/assets/components/polymer-test-tools/chai/History.md +895 -0
- data/app/assets/components/polymer-test-tools/chai/README.md +99 -0
- data/app/assets/components/polymer-test-tools/chai/ReleaseNotes.md +482 -0
- data/app/assets/components/polymer-test-tools/chai/bower.json +27 -0
- data/app/assets/components/polymer-test-tools/chai/chai.js +4782 -0
- data/app/assets/components/polymer-test-tools/chai/component.json +49 -0
- data/app/assets/components/polymer-test-tools/chai/karma.conf.js +38 -0
- data/app/assets/components/polymer-test-tools/chai/karma.sauce.js +51 -0
- data/app/assets/components/polymer-test-tools/chai/package.json +42 -0
- data/app/assets/components/polymer-test-tools/chai/sauce.browsers.js +138 -0
- data/app/assets/components/polymer-test-tools/htmltest.js +39 -0
- data/app/assets/components/polymer-test-tools/karma-common.conf.js +107 -0
- data/app/assets/components/polymer-test-tools/mocha/History.md +692 -0
- data/app/assets/components/polymer-test-tools/mocha/LICENSE +22 -0
- data/app/assets/components/polymer-test-tools/mocha/Readme.md +172 -0
- data/app/assets/components/polymer-test-tools/mocha/bower.json +23 -0
- data/app/assets/components/polymer-test-tools/mocha/media/logo.svg +8 -0
- data/app/assets/components/polymer-test-tools/mocha/mocha.css +270 -0
- data/app/assets/components/polymer-test-tools/mocha/mocha.js +5842 -0
- data/app/assets/components/polymer-test-tools/mocha-htmltest.js +70 -0
- data/app/assets/components/polymer-test-tools/tools.html +14 -0
- data/app/assets/components/prettify-element/README.md +14 -0
- data/app/assets/components/prettify-element/bower.json +8 -0
- data/app/assets/components/prettify-element/demo.html +85 -0
- data/app/assets/components/prettify-element/index.html +23 -0
- data/app/assets/components/prettify-element/prettify-element.html +120 -0
- data/app/assets/components/prettify-element/prettify-import.html +10 -0
- data/app/assets/components/sampler-scaffold/README.md +4 -0
- data/app/assets/components/sampler-scaffold/bower.json +12 -0
- data/app/assets/components/sampler-scaffold/demo.html +54 -0
- data/app/assets/components/sampler-scaffold/demos/checkbox.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/color.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/radio.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/range.html +20 -0
- data/app/assets/components/sampler-scaffold/demos/string.html +20 -0
- data/app/assets/components/sampler-scaffold/index.html +22 -0
- data/app/assets/components/sampler-scaffold/sampler-scaffold.css +157 -0
- data/app/assets/components/sampler-scaffold/sampler-scaffold.html +224 -0
- data/app/assets/components/web-animations-js/COPYING +202 -0
- data/app/assets/components/web-animations-js/README.md +237 -0
- data/app/assets/components/web-animations-js/run-lint.sh +19 -0
- data/app/assets/components/web-animations-js/run-tests-android.sh +25 -0
- data/app/assets/components/web-animations-js/run-tests.sh +15 -0
- data/app/assets/components/web-animations-js/test/bootstrap.js +1266 -0
- data/app/assets/components/web-animations-js/test/img/error.png +0 -0
- data/app/assets/components/web-animations-js/test/img/success.png +0 -0
- data/app/assets/components/web-animations-js/test/img/unknown.png +0 -0
- data/app/assets/components/web-animations-js/test/perf/balls-add-compositing.html +147 -0
- data/app/assets/components/web-animations-js/test/perf/balls-replace-compositing.html +144 -0
- data/app/assets/components/web-animations-js/test/perf/perf.js +158 -0
- data/app/assets/components/web-animations-js/test/perf/updating-inline-style-during-animation.html +165 -0
- data/app/assets/components/web-animations-js/test/test-generator.html +240 -0
- data/app/assets/components/web-animations-js/test/test-results-post.html +3 -0
- data/app/assets/components/web-animations-js/test/test-runner.html +810 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-box-shadow-checks.js +42 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-box-shadow.html +40 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-calc-checks.js +41 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-calc.html +156 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-change-playback-rate-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-circular-path-checks.js +65 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-circular-path.html +83 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color-checks.js +101 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color-names-checks.js +431 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color-names.html +204 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-color.html +117 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-composite-transforms-checks.js +45 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-composite-transforms.html +97 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-compositor-checks.js +26 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-compositor.html +68 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-delay-checks.js +92 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-delay.html +39 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-element-animate-checks.js +8 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-element-animate.html +30 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-fill-values-checks.js +266 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-fill-values.html +114 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-font-weight-checks.js +26 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-font-weight.html +43 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-initial-checks.js +74 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-initial.html +242 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-checks.js +17 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-fallback-checks.js +17 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-fallback.html +78 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-methods-checks.js +17 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style-methods.html +70 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-inline-style.html +69 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-integer-checks.js +38 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-integer.html +52 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iteration-start-checks.js +506 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iteration-start.html +160 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate-checks.js +44 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate-holes-checks.js +41 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate-holes.html +48 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-alternate.html +50 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-basic-checks.js +162 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-basic.html +116 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-fill-checks.js +602 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-iterations-fill.html +167 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-creation-checks.js +67 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-creation.html +109 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-easing-checks.js +65 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-keyframe-easing.html +64 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-length-units-checks.js +342 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-length-units.html +103 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-matrix-transforms-checks.js +56 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-matrix-transforms.html +90 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-motion-path-checks.js +110 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-motion-path.html +133 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-non-numeric-checks.js +26 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-non-numeric.html +42 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-parent-checks.js +38 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-parent.html +52 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-partial-keyframes-checks.js +27 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-partial-keyframes.html +43 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-path-checks.js +20 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-path.html +41 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-pause-checks.js +79 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-pause.html +82 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective-checks.js +37 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective-origin-checks.js +61 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective-origin.html +94 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-perspective.html +79 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-playback-rate-checks.js +146 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-playback-rate.html +128 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-position-list-type-checks.js +73 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-rectangle-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-rectangle.html +57 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-reparent-checks.js +95 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-reparent.html +60 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-seq-speed-checks.js +69 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-seq-speed.html +86 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-shorthand-checks.js +197 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-shorthand.html +115 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time-checks.js +58 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time-iterations-checks.js +92 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time-iterations.html +107 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-start-time.html +90 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-anim-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-anim.html +39 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-circle-checks.js +23 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-circle.html +38 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-color-checks.js +20 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-svg-color.html +36 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-text-shadow-checks.js +20 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-text-shadow.html +37 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-timing-functions-checks.js +89 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-timing-functions.html +77 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-to-animation-checks.js +58 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-to-animation.html +83 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-3d-checks.js +134 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-3d.html +123 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-functions-checks.js +160 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-functions.html +158 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-origin-checks.js +37 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-origin.html +80 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-primitives-checks.js +292 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-primitives.html +97 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-units-checks.js +202 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-transform-units.html +98 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-visibility-checks.js +54 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-visibility.html +80 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-wrapping-bug-checks.js +58 -0
- data/app/assets/components/web-animations-js/test/testcases/auto-test-wrapping-bug.html +60 -0
- data/app/assets/components/web-animations-js/test/testcases/background.png +0 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-auto-test-change-playback-rate.html +65 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-auto-test-position-list-type.html +103 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-media.html +439 -0
- data/app/assets/components/web-animations-js/test/testcases/disabled-test-compositing-order.html +112 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-deprecation.html +85 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-from-css-value.html +219 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-paced-timing-function.html +83 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-test-totimelinetime.html +37 -0
- data/app/assets/components/web-animations-js/test/testcases/impl-unit-test-position-type.html +256 -0
- data/app/assets/components/web-animations-js/test/testcases/manual-test-add-player-onend.html +57 -0
- data/app/assets/components/web-animations-js/test/testcases/manual-test-preset-timings.html +71 -0
- data/app/assets/components/web-animations-js/test/testcases/manual-test-step.html +88 -0
- data/app/assets/components/web-animations-js/test/testcases/small.mp4 +0 -0
- data/app/assets/components/web-animations-js/test/testcases/small.webm +0 -0
- data/app/assets/components/web-animations-js/test/testcases/test-bounds.html +69 -0
- data/app/assets/components/web-animations-js/test/testcases/test-document-timeline.html +53 -0
- data/app/assets/components/web-animations-js/test/testcases/test-dynamic-load.html +65 -0
- data/app/assets/components/web-animations-js/test/testcases/test-fill-auto.html +78 -0
- data/app/assets/components/web-animations-js/test/testcases/test-getcurrent.html +324 -0
- data/app/assets/components/web-animations-js/test/testcases/test-keyframe-animation-effect.html +248 -0
- data/app/assets/components/web-animations-js/test/testcases/test-keyframe-composite-operation.html +182 -0
- data/app/assets/components/web-animations-js/test/testcases/test-null-target.html +66 -0
- data/app/assets/components/web-animations-js/test/testcases/test-pause-for-testing.html +52 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-addeventlistener.html +161 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-cleanup.html +79 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-finish-event.html +101 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player-sort.html +48 -0
- data/app/assets/components/web-animations-js/test/testcases/test-player.html +786 -0
- data/app/assets/components/web-animations-js/test/testcases/test-pseudo-element-reference.html +38 -0
- data/app/assets/components/web-animations-js/test/testcases/test-repeated-pause.html +54 -0
- data/app/assets/components/web-animations-js/test/testcases/test-restart.html +115 -0
- data/app/assets/components/web-animations-js/test/testcases/test-reversed-player-active-phase.html +28 -0
- data/app/assets/components/web-animations-js/test/testcases/test-rotation-not-reversed.html +55 -0
- data/app/assets/components/web-animations-js/test/testcases/test-update-state.html +113 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-clone.html +80 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-delay.html +66 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-dom-operations.html +164 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-duration.html +66 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-get-siblings.html +112 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-modify-timing-params.html +105 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-null-effect.html +43 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-set-parent.html +111 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-testharness-failure.html +54 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-testharness.html +248 -0
- data/app/assets/components/web-animations-js/test/testcases/unit-test-unpause.html +68 -0
- data/app/assets/components/web-animations-js/test/testcases.js +93 -0
- data/app/assets/components/web-animations-js/test/testharness_timing.css +75 -0
- data/app/assets/components/web-animations-js/test/update-testcases.py +63 -0
- data/app/assets/components/web-animations-js/tools/android/config.sh +8 -0
- data/app/assets/components/web-animations-js/tools/android/setup.sh +152 -0
- data/app/assets/components/web-animations-js/tools/android/stop.sh +20 -0
- data/app/assets/components/web-animations-js/tools/python/requirements.txt +12 -0
- data/app/assets/components/web-animations-js/tools/python/run-tests.py +813 -0
- data/app/assets/components/web-animations-js/tools/python/setup.sh +60 -0
- data/app/assets/components/web-animations-js/tutorial/basic-animations/basic-animation-exercise-1.html +62 -0
- data/app/assets/components/web-animations-js/tutorial/basic-animations/basic-animation.html +120 -0
- data/app/assets/components/web-animations-js/tutorial/iframe-contents.html +29 -0
- data/app/assets/components/web-animations-js/tutorial/jquery.js +9555 -0
- data/app/assets/components/web-animations-js/tutorial/page-load.js +114 -0
- data/app/assets/components/web-animations-js/tutorial/parallel/parallel-exercise-1.html +58 -0
- data/app/assets/components/web-animations-js/tutorial/parallel/parallel.html +101 -0
- data/app/assets/components/web-animations-js/tutorial/sample-tutorial.html +44 -0
- data/app/assets/components/web-animations-js/tutorial/try-it-yourself.js +216 -0
- data/app/assets/components/web-animations-js/tutorial/tutorial-style.css +344 -0
- data/app/assets/components/web-animations-js/tutorial/tutorial-testing.js +84 -0
- data/app/assets/components/web-animations-js/web-animations.js +77 -214
- data/lib/polymer-core-rails/version.rb +1 -1
- metadata +833 -46
- data/app/assets/components/core-animation/web-animations.html.erb +0 -1
- data/app/assets/components/core-drawer-panel/core-drawer-panel.html.erb +0 -150
- data/app/assets/components/core-icon/core-icon.html.erb +0 -126
- data/app/assets/components/core-input/core-input.html.erb +0 -311
- data/app/assets/components/core-menu-button/core-menu-button.html.erb +0 -139
- data/app/assets/components/core-transition/core-transition-css.html.erb +0 -76
- data/app/assets/components/core-transition/core-transition.html.erb +0 -44
@@ -0,0 +1,810 @@
|
|
1
|
+
<!--
|
2
|
+
Copyright 2012 Google Inc. All Rights Reserved.
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
-->
|
16
|
+
<!DOCTYPE html>
|
17
|
+
<meta charset="UTF-8">
|
18
|
+
|
19
|
+
<style>
|
20
|
+
|
21
|
+
#status-box {
|
22
|
+
position: fixed;
|
23
|
+
bottom: 0;
|
24
|
+
right: 0;
|
25
|
+
background: white;
|
26
|
+
border: 1px solid black;
|
27
|
+
padding-right: 5px;
|
28
|
+
}
|
29
|
+
|
30
|
+
h1 {
|
31
|
+
display: inline;
|
32
|
+
}
|
33
|
+
|
34
|
+
table {
|
35
|
+
border-collapse: collapse;
|
36
|
+
}
|
37
|
+
|
38
|
+
td {
|
39
|
+
border: 1px solid black;
|
40
|
+
}
|
41
|
+
|
42
|
+
iframe {
|
43
|
+
width: 800px;
|
44
|
+
height: 600px;
|
45
|
+
}
|
46
|
+
|
47
|
+
tbody {
|
48
|
+
color: gray;
|
49
|
+
}
|
50
|
+
|
51
|
+
td.log ul li {
|
52
|
+
white-space: pre;
|
53
|
+
font-family: monospace;
|
54
|
+
}
|
55
|
+
|
56
|
+
/* Fail styles */
|
57
|
+
tbody.fail {
|
58
|
+
color: red;
|
59
|
+
}
|
60
|
+
|
61
|
+
li.fail {
|
62
|
+
color: red;
|
63
|
+
}
|
64
|
+
|
65
|
+
tbody.timeout {
|
66
|
+
color: yellow;
|
67
|
+
}
|
68
|
+
|
69
|
+
li.timeout {
|
70
|
+
color: yellow;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
/* Pass styles */
|
75
|
+
tbody.pass {
|
76
|
+
color: green;
|
77
|
+
}
|
78
|
+
|
79
|
+
li.pass {
|
80
|
+
color: green;
|
81
|
+
}
|
82
|
+
|
83
|
+
tbody.pass-expected-failure {
|
84
|
+
color: #00aa00;
|
85
|
+
}
|
86
|
+
|
87
|
+
li.pass-expected-failure {
|
88
|
+
color: #00aa00;
|
89
|
+
}
|
90
|
+
|
91
|
+
tbody.skipped {
|
92
|
+
color: #00aa00;
|
93
|
+
}
|
94
|
+
|
95
|
+
li.skipped {
|
96
|
+
color: #00aa00;
|
97
|
+
}
|
98
|
+
|
99
|
+
/* No-test styles */
|
100
|
+
tbody.no-tests {
|
101
|
+
color: #ff8a00;
|
102
|
+
}
|
103
|
+
|
104
|
+
</style>
|
105
|
+
<script src="browserdetect/bowser.js"></script>
|
106
|
+
<script src="testcases.js"></script>
|
107
|
+
|
108
|
+
<div id=status-box>
|
109
|
+
<h1 id=status>Pending</h1>
|
110
|
+
Tests: <span id=tests></span>
|
111
|
+
Loading: <span id=loading></span> (<span id=loaded></span>)
|
112
|
+
Running: <span id=running></span> (<span id=finished></span>)
|
113
|
+
Posting: <span id=posting></span> (<span id=posted></span>)
|
114
|
+
</div>
|
115
|
+
|
116
|
+
<table id="results"></table>
|
117
|
+
<div id="spacer"></div>
|
118
|
+
|
119
|
+
<script>
|
120
|
+
'use strict';
|
121
|
+
window.onerror = function(msg, url, line) {
|
122
|
+
// Ignore errors caused by webdriver
|
123
|
+
if (msg.match(/webdriver/))
|
124
|
+
return;
|
125
|
+
|
126
|
+
if (document.getElementById('javascript-errors') == null) {
|
127
|
+
document.body.innerHTML = '<pre id="javascript-errors">JAVASCRIPT ERRORS\n\n</pre>';
|
128
|
+
}
|
129
|
+
|
130
|
+
var e = document.getElementById('javascript-errors');
|
131
|
+
var msg = 'Javascript Error in ' + url + '\n' +
|
132
|
+
'Line ' + line + ': ' + msg + '\n';
|
133
|
+
e.innerHTML += msg;
|
134
|
+
};
|
135
|
+
</script>
|
136
|
+
|
137
|
+
<script>
|
138
|
+
'use strict';
|
139
|
+
|
140
|
+
(function() {
|
141
|
+
window.finished = false;
|
142
|
+
window.getTestRunnerProgress = function() {
|
143
|
+
return {
|
144
|
+
completed: testStates['POSTED'].length,
|
145
|
+
total: tests.length,
|
146
|
+
};
|
147
|
+
}
|
148
|
+
|
149
|
+
var results = [];
|
150
|
+
|
151
|
+
if (/coverage/.test(window.location.hash)) {
|
152
|
+
// Trigger coverage runs for child tests.
|
153
|
+
window.__coverage__ = {};
|
154
|
+
// Share resources loaded by child tests to avoid instrumenting the same
|
155
|
+
// source file multiple times.
|
156
|
+
window.__resources__ = {original: {}};
|
157
|
+
}
|
158
|
+
|
159
|
+
window.addEventListener('load', function() {
|
160
|
+
document.querySelector('#spacer').style.height =
|
161
|
+
getComputedStyle(document.querySelector('body')).height;
|
162
|
+
});
|
163
|
+
function trueOffsetTop(element) {
|
164
|
+
var t = 0;
|
165
|
+
if (element.offsetParent) {
|
166
|
+
do {
|
167
|
+
t += element.offsetTop;
|
168
|
+
} while (element = element.offsetParent);
|
169
|
+
return t;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
/**
|
174
|
+
* Get a value for busting the cache.
|
175
|
+
*/
|
176
|
+
var cacheBuster = '' + window.Date.now();
|
177
|
+
|
178
|
+
/**
|
179
|
+
* Get the most accurate version of time possible.
|
180
|
+
*
|
181
|
+
* @return {number} Time as this very moment.
|
182
|
+
*/
|
183
|
+
function now() {
|
184
|
+
try {
|
185
|
+
return window.performance.now();
|
186
|
+
} catch (e) {
|
187
|
+
return Date.now();
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
/**
|
192
|
+
* Creates HTML elements in a table for a test.
|
193
|
+
*
|
194
|
+
* +-----------+------+-------+
|
195
|
+
* | Test Name | Link | Count |
|
196
|
+
* +-----------+------+-------+
|
197
|
+
* | Log of test run. |
|
198
|
+
* +--------------------------+
|
199
|
+
* | iFrame containing test |
|
200
|
+
* +--------------------------+
|
201
|
+
*
|
202
|
+
* @param {String} testName Name of the test suite being run.
|
203
|
+
* @param {String} testURL The url of the test suite.
|
204
|
+
* @return {Element} tbody containing newly created table rows.
|
205
|
+
*/
|
206
|
+
function createTestRows(testName, testURL) {
|
207
|
+
var tableGroup = document.createElement('tbody');
|
208
|
+
tableGroup.id = testName.replace('.', '-');
|
209
|
+
|
210
|
+
var basicInfoRow = document.createElement('tr');
|
211
|
+
basicInfoRow.className = 'info-row';
|
212
|
+
tableGroup.appendChild(basicInfoRow);
|
213
|
+
var iframeRow = document.createElement('tr');
|
214
|
+
tableGroup.appendChild(iframeRow);
|
215
|
+
var logRow = document.createElement('tr');
|
216
|
+
tableGroup.appendChild(logRow);
|
217
|
+
|
218
|
+
// Name
|
219
|
+
var header = document.createElement('h1');
|
220
|
+
header.textContent = testName;
|
221
|
+
|
222
|
+
var headerCell = document.createElement('td');
|
223
|
+
headerCell.appendChild(header);
|
224
|
+
basicInfoRow.appendChild(headerCell);
|
225
|
+
|
226
|
+
// Link
|
227
|
+
var link = document.createElement('a');
|
228
|
+
link.textContent = testName;
|
229
|
+
link.href = testURL;
|
230
|
+
|
231
|
+
var linkCell = document.createElement('td');
|
232
|
+
linkCell.appendChild(link);
|
233
|
+
basicInfoRow.appendChild(linkCell);
|
234
|
+
|
235
|
+
// Test count
|
236
|
+
var countCell = document.createElement('td');
|
237
|
+
countCell.className = 'count';
|
238
|
+
basicInfoRow.appendChild(countCell);
|
239
|
+
|
240
|
+
// Timing info
|
241
|
+
var timingCell = document.createElement('td');
|
242
|
+
timingCell.className = 'timing';
|
243
|
+
basicInfoRow.appendChild(timingCell);
|
244
|
+
|
245
|
+
// iframe containing a preview of object
|
246
|
+
var iframe = document.createElement('iframe');
|
247
|
+
iframe.src = testURL + '?' + cacheBuster + '#message';
|
248
|
+
|
249
|
+
var iframeCell = document.createElement('td');
|
250
|
+
iframeCell.colSpan = '4';
|
251
|
+
iframeCell.appendChild(iframe);
|
252
|
+
iframeRow.appendChild(iframeCell);
|
253
|
+
|
254
|
+
// table row containing the complete test log
|
255
|
+
var logCell = document.createElement('td');
|
256
|
+
logCell.className = 'log';
|
257
|
+
logCell.colSpan = '4';
|
258
|
+
logRow.appendChild(logCell);
|
259
|
+
|
260
|
+
/**
|
261
|
+
* Normally we would use "display: none;" but that causes Firefox to return
|
262
|
+
* null for getComputedStyle, so instead we have to use this visibility hack.
|
263
|
+
*/
|
264
|
+
tableGroup.showInfo = function() {
|
265
|
+
logRow.style.visibility = 'visible';
|
266
|
+
logRow.style.position = '';
|
267
|
+
logRow.style.height = 'auto';
|
268
|
+
|
269
|
+
iframeRow.style.visibility = 'visible';
|
270
|
+
iframeRow.style.position = '';
|
271
|
+
iframeRow.style.height = 'auto';
|
272
|
+
};
|
273
|
+
tableGroup.hideInfo = function() {
|
274
|
+
logRow.style.visibility = 'hidden';
|
275
|
+
logRow.style.position = 'absolute';
|
276
|
+
logRow.style.height = '0';
|
277
|
+
|
278
|
+
iframeRow.style.visibility = 'hidden';
|
279
|
+
iframeRow.style.position = 'absolute';
|
280
|
+
iframeRow.style.height = '0';
|
281
|
+
};
|
282
|
+
tableGroup.toggleInfo = function() {
|
283
|
+
if (logRow.style.visibility == 'hidden') {
|
284
|
+
tableGroup.showInfo();
|
285
|
+
} else {
|
286
|
+
tableGroup.hideInfo();
|
287
|
+
}
|
288
|
+
};
|
289
|
+
basicInfoRow.onclick = tableGroup.toggleInfo;
|
290
|
+
|
291
|
+
tableGroup.hideInfo();
|
292
|
+
|
293
|
+
return tableGroup;
|
294
|
+
}
|
295
|
+
|
296
|
+
/* @type {?number} */ var runTestsId = null;
|
297
|
+
|
298
|
+
/**
|
299
|
+
* Checks all the tests are in the loaded state and then kicks of running
|
300
|
+
* the tests.
|
301
|
+
*/
|
302
|
+
function runTestsIfLoaded() {
|
303
|
+
if (testStates['LOADING'].length > 0)
|
304
|
+
return;
|
305
|
+
|
306
|
+
if (runTestsId == null) {
|
307
|
+
runTestsId = window.setInterval(runTests, 10);
|
308
|
+
}
|
309
|
+
}
|
310
|
+
|
311
|
+
function generateCoverageReport() {
|
312
|
+
// TODO: generate a pretty report, prompt to save the JSON, post it somewhere
|
313
|
+
for (var file in window.__coverage__) {
|
314
|
+
var results = window.__coverage__[file];
|
315
|
+
var hits = 0;
|
316
|
+
var statements = 0;
|
317
|
+
for (var stmt in results.s) {
|
318
|
+
statements++;
|
319
|
+
if (results.s[stmt] > 0) {
|
320
|
+
hits++;
|
321
|
+
}
|
322
|
+
}
|
323
|
+
var percent = (100 * hits / statements).toFixed(2);
|
324
|
+
console.log(file + ' statement coverage ' +
|
325
|
+
percent + '% (' + hits + '/' + statements + ')');
|
326
|
+
}
|
327
|
+
}
|
328
|
+
|
329
|
+
/**
|
330
|
+
* This object tracks which state a test is in. An individual test should only
|
331
|
+
* ever be in one of the lists. You use the changeTestState() function to move
|
332
|
+
* from one state to another.
|
333
|
+
*
|
334
|
+
* Tests start off in the loading state and move downwards until ending up in
|
335
|
+
* the finished state.
|
336
|
+
*/
|
337
|
+
var testStates = {};
|
338
|
+
testStates['LOADING'] = []; /* Test which is being loaded. */
|
339
|
+
testStates['LOADED'] = []; /* Test which have yet to start. */
|
340
|
+
testStates['RUNNING'] = []; /* Test that is currently running. */
|
341
|
+
testStates['FINISHED'] = []; /* Test that are finished. */
|
342
|
+
testStates['POSTING'] = []; /* Test that is currently posting results to server. */
|
343
|
+
testStates['POSTED'] = []; /* Test which have completed and sent their
|
344
|
+
results to the server. */
|
345
|
+
|
346
|
+
/**
|
347
|
+
* Track if we should skip the POSTING state, occurs if posting returns an error.
|
348
|
+
*/
|
349
|
+
/* @type {Boolean} */ var skipPosting = false;
|
350
|
+
|
351
|
+
/**
|
352
|
+
* Changes the state of the given test to the given state.
|
353
|
+
* This function doesn't check that the state transition actually make sense.
|
354
|
+
*
|
355
|
+
* @param {Element} test DOM object representing the test. The id will contain
|
356
|
+
* the test name.
|
357
|
+
* @param {States} The new state to transition too.
|
358
|
+
*/
|
359
|
+
function changeTestState(test, newState) {
|
360
|
+
var i = null;
|
361
|
+
|
362
|
+
if (newState == 'POSTING' && skipPosting) {
|
363
|
+
newState = 'POSTED';
|
364
|
+
}
|
365
|
+
|
366
|
+
var oldState = test.state;
|
367
|
+
|
368
|
+
// If we have already posted, we should never leave...
|
369
|
+
if (oldState == 'POSTED') {
|
370
|
+
throw 'Unexpected state change! Trying to leave POSTED state to ' + newState;
|
371
|
+
return;
|
372
|
+
}
|
373
|
+
|
374
|
+
if (typeof oldState != 'undefined') {
|
375
|
+
var i = testStates[oldState].indexOf(test);
|
376
|
+
testStates[oldState].splice(i, 1);
|
377
|
+
}
|
378
|
+
|
379
|
+
test.state = newState;
|
380
|
+
testStates[test.state].unshift(test);
|
381
|
+
|
382
|
+
function testSort(a, b) {
|
383
|
+
return a.id.localeCompare(b.id);
|
384
|
+
}
|
385
|
+
testStates[test.state].sort(testSort);
|
386
|
+
|
387
|
+
switch(newState) {
|
388
|
+
case 'LOADING':
|
389
|
+
runTestsIfLoaded();
|
390
|
+
break;
|
391
|
+
|
392
|
+
case 'LOADED':
|
393
|
+
if (oldState != 'LOADING') {
|
394
|
+
throw 'Unexpected state change! ' + oldState + ' changing to LOADED';
|
395
|
+
}
|
396
|
+
break;
|
397
|
+
|
398
|
+
case 'RUNNING':
|
399
|
+
if (oldState != 'LOADED') {
|
400
|
+
throw 'Unexpected state change! ' + oldState + ' changing to RUNNING';
|
401
|
+
}
|
402
|
+
|
403
|
+
test.start = now();
|
404
|
+
var testWindow = test.querySelector('iframe').contentWindow;
|
405
|
+
var msg = {type: 'start', url: testWindow.location.href + ''};
|
406
|
+
testWindow.postMessage(msg, '*');
|
407
|
+
break;
|
408
|
+
|
409
|
+
case 'FINISHED':
|
410
|
+
// If a test doesn't use any timing stuff it could come from the LOADING or
|
411
|
+
// LOADED state into the FINISHED state bypassing the RUNNING state.
|
412
|
+
if (oldState != 'LOADING' && oldState != 'LOADED' && oldState != 'RUNNING') {
|
413
|
+
throw 'Unexpected state change! ' + oldState + ' changing to FINISHED';
|
414
|
+
}
|
415
|
+
|
416
|
+
var timingInfo = test.querySelector('.timing');
|
417
|
+
if (test.start) {
|
418
|
+
test.finished = now();
|
419
|
+
timingInfo.textContent = (test.finished - test.start).toFixed(2) + 'ms';
|
420
|
+
} else {
|
421
|
+
timingInfo.textContent = '(Load only)';
|
422
|
+
}
|
423
|
+
|
424
|
+
var test_iframe = test.querySelector('iframe');
|
425
|
+
processResults(test, expectedFailuresForBrowser(test_iframe.contentWindow.expected_failures));
|
426
|
+
|
427
|
+
break;
|
428
|
+
|
429
|
+
case 'POSTING':
|
430
|
+
if (oldState != 'FINISHED') {
|
431
|
+
throw 'Unexpected state change! ' + oldState + ' changing to POSTING';
|
432
|
+
}
|
433
|
+
|
434
|
+
if (test.className == 'fail') {
|
435
|
+
// Open up the window of the failed result
|
436
|
+
test.showInfo();
|
437
|
+
// Scroll to it.
|
438
|
+
window.scroll(0, trueOffsetTop(test));
|
439
|
+
}
|
440
|
+
|
441
|
+
// Open the status window for taking of screenshots
|
442
|
+
var data = new FormData();
|
443
|
+
data.append('data', JSON.stringify(test.results_processed));
|
444
|
+
|
445
|
+
var xhr = new XMLHttpRequest();
|
446
|
+
xhr.onload = function (e) {
|
447
|
+
if (e.target.status >= 400) {
|
448
|
+
skipPosting = true;
|
449
|
+
}
|
450
|
+
// Move from running to finished state
|
451
|
+
changeTestState(this, 'POSTED');
|
452
|
+
}.bind(test);
|
453
|
+
xhr.open('POST', 'test-results-post.html', true);
|
454
|
+
xhr.send(data);
|
455
|
+
|
456
|
+
break;
|
457
|
+
|
458
|
+
case 'POSTED':
|
459
|
+
// If we are skipping POSTING, tests can transition straight from FINISHED
|
460
|
+
// state into the POSTED state.
|
461
|
+
if (oldState != 'POSTING' && (!skipPosting || oldState != 'FINISHED')) {
|
462
|
+
throw 'Unexpected state change! ' + oldState + ' changing to POSTED';
|
463
|
+
}
|
464
|
+
break;
|
465
|
+
}
|
466
|
+
}
|
467
|
+
|
468
|
+
/**
|
469
|
+
* Elements for reporting the overall status.
|
470
|
+
*/
|
471
|
+
/* @type {Element} */ var statusElement = document.querySelector('#status');
|
472
|
+
|
473
|
+
/* @type {Element} */ var testElement = document.querySelector('#tests');
|
474
|
+
|
475
|
+
/* @type {Element} */ var loadingElement = document.querySelector('#loading');
|
476
|
+
/* @type {Element} */ var loadedElement = document.querySelector('#loaded');
|
477
|
+
|
478
|
+
/* @type {Element} */ var runningElement = document.querySelector('#running');
|
479
|
+
/* @type {Element} */ var finishedElement = document.querySelector('#finished');
|
480
|
+
|
481
|
+
/* @type {Element} */ var postingElement = document.querySelector('#posting');
|
482
|
+
/* @type {Element} */ var postedElement = document.querySelector('#posted');
|
483
|
+
|
484
|
+
/**
|
485
|
+
* Update the status dialog with information about the current status.
|
486
|
+
*/
|
487
|
+
function updateStatus() {
|
488
|
+
testElement.textContent = tests.length;
|
489
|
+
|
490
|
+
loadingElement.textContent = testStates['LOADING'].length;
|
491
|
+
loadedElement.textContent = testStates['LOADED'].length;
|
492
|
+
|
493
|
+
runningElement.textContent = testStates['RUNNING'].length;
|
494
|
+
finishedElement.textContent = testStates['FINISHED'].length;
|
495
|
+
|
496
|
+
postingElement.textContent = testStates['POSTING'].length;
|
497
|
+
postedElement.textContent = testStates['POSTED'].length;
|
498
|
+
|
499
|
+
if (testStates['LOADED'].length > 0) {
|
500
|
+
statusElement.textContent = 'Loading';
|
501
|
+
} else if (testStates['RUNNING'].length > 0) {
|
502
|
+
statusElement.textContent = 'Running';
|
503
|
+
} else if (testStates['POSTING'].length > 0) {
|
504
|
+
statusElement.textContent = 'Posting results';
|
505
|
+
} else if (testStates['POSTED'].length == tests.length) {
|
506
|
+
statusElement.textContent = 'Finished';
|
507
|
+
|
508
|
+
window.clearInterval(updateStatusId);
|
509
|
+
window.clearInterval(runTestsId);
|
510
|
+
window.finished = true;
|
511
|
+
if (window.__coverage__) {
|
512
|
+
generateCoverageReport();
|
513
|
+
}
|
514
|
+
}
|
515
|
+
}
|
516
|
+
|
517
|
+
/* @type {?number} */ var updateStatusId = setInterval(updateStatus, 100);
|
518
|
+
|
519
|
+
|
520
|
+
var testRunners = [];
|
521
|
+
|
522
|
+
/**
|
523
|
+
* Create the iframes for each test.
|
524
|
+
*/
|
525
|
+
window.onload = function createTestRunners() {
|
526
|
+
// Filter the tests
|
527
|
+
var filter = window.location.href.split('?')[1];
|
528
|
+
if (filter) {
|
529
|
+
filter = new RegExp(filter);
|
530
|
+
tests = tests.filter(function(v) {
|
531
|
+
return filter.exec(v);
|
532
|
+
});
|
533
|
+
}
|
534
|
+
|
535
|
+
function testSort(a, b) {
|
536
|
+
a = a.replace('.', '-');
|
537
|
+
b = b.replace('.', '-');
|
538
|
+
return a.localeCompare(b);
|
539
|
+
}
|
540
|
+
tests.sort(testSort);
|
541
|
+
|
542
|
+
for (var i = 0; i < tests.length; i++) {
|
543
|
+
var testName = tests[i];
|
544
|
+
var testURL = 'testcases/' + testName;
|
545
|
+
|
546
|
+
var test = createTestRows(testName, testURL);
|
547
|
+
testRunners.unshift(test);
|
548
|
+
|
549
|
+
changeTestState(test, 'LOADING');
|
550
|
+
|
551
|
+
document.querySelector('#results').appendChild(test);
|
552
|
+
test.querySelector('iframe').contentWindow.onload = function() {
|
553
|
+
// You can get multiple onload events, only deal with the first one.
|
554
|
+
if (this.state == 'LOADING') {
|
555
|
+
changeTestState(this, 'LOADED');
|
556
|
+
runTestsIfLoaded();
|
557
|
+
}
|
558
|
+
}.bind(test);
|
559
|
+
}
|
560
|
+
|
561
|
+
};
|
562
|
+
|
563
|
+
/**
|
564
|
+
* Start as many loaded tests as possible, wait for results and then post
|
565
|
+
* them.
|
566
|
+
*/
|
567
|
+
function runTests() {
|
568
|
+
// Start a test running
|
569
|
+
if (testStates['LOADED'].length > 0 &&
|
570
|
+
testStates['RUNNING'].length < 1) {
|
571
|
+
changeTestState(testStates['LOADED'][0], 'RUNNING');
|
572
|
+
}
|
573
|
+
|
574
|
+
// Start a test posting
|
575
|
+
if (testStates['FINISHED'].length > 0 &&
|
576
|
+
testStates['POSTING'].length < 1) {
|
577
|
+
changeTestState(testStates['FINISHED'][0], 'POSTING');
|
578
|
+
}
|
579
|
+
|
580
|
+
// Deal with tests which are taking too long...
|
581
|
+
for (var i in testStates['RUNNING']) {
|
582
|
+
var test = testStates['RUNNING'][i];
|
583
|
+
if (now() - test.start > 300e3) {
|
584
|
+
// Only way to stop all the javascript and anything else running in the
|
585
|
+
// test is to clear the document.
|
586
|
+
var test_iframe = test.querySelector('iframe');
|
587
|
+
test_iframe.src = "data:text/html;charset=utf-8,<!DOCTYPE html><html><body>TIMEOUT</body></html>";
|
588
|
+
|
589
|
+
test.results_raw = [];
|
590
|
+
changeTestState(test, 'FINISHED');
|
591
|
+
}
|
592
|
+
}
|
593
|
+
}
|
594
|
+
|
595
|
+
/* @type {Object.<string, Object>} */ var testResults = {};
|
596
|
+
/**
|
597
|
+
* Callback that occurs when the test has finished running.
|
598
|
+
*/
|
599
|
+
window.addEventListener(
|
600
|
+
'message',
|
601
|
+
function(evt) {
|
602
|
+
// If the test timed out, this will fail with a cross-origin error.
|
603
|
+
try {
|
604
|
+
var testname = evt.source.location.pathname.split('/').pop().replace('.', '-');
|
605
|
+
} catch (e) {
|
606
|
+
return;
|
607
|
+
}
|
608
|
+
|
609
|
+
var test = document.getElementById(testname);
|
610
|
+
|
611
|
+
// We only respond to complete as postMessage doesn't guarantee order so
|
612
|
+
// result messages can come in after the complete message.
|
613
|
+
if (evt.data['type'] != 'complete')
|
614
|
+
return;
|
615
|
+
|
616
|
+
// Try changing to state FINISHED, but this message may be after the a
|
617
|
+
// timeout or transition.
|
618
|
+
try {
|
619
|
+
test.results_raw = evt.data['tests'];
|
620
|
+
changeTestState(test, 'FINISHED');
|
621
|
+
} catch (e) {
|
622
|
+
console.warn(e);
|
623
|
+
}
|
624
|
+
},
|
625
|
+
false);
|
626
|
+
|
627
|
+
|
628
|
+
/**
|
629
|
+
* Filters expected test failures for ones that match the current browser
|
630
|
+
* configuration.
|
631
|
+
*
|
632
|
+
* @param {Array.<Object>} Test failure expectations for all browser
|
633
|
+
* configurations.
|
634
|
+
* @return {Object.<string, string>} Mapping from test regex to failure reason
|
635
|
+
* for current browser.
|
636
|
+
*/
|
637
|
+
function expectedFailuresForBrowser(expected_failures) {
|
638
|
+
var browser_expected_failures = {};
|
639
|
+
if (typeof expected_failures === 'object') {
|
640
|
+
expected_failures.forEach(function(expected_failure) {
|
641
|
+
if (expected_failure.browser_configurations.some(
|
642
|
+
browserConfigurationMatches)) {
|
643
|
+
expected_failure.tests.forEach(function(test) {
|
644
|
+
browser_expected_failures[test] = expected_failure.message;
|
645
|
+
});
|
646
|
+
}
|
647
|
+
});
|
648
|
+
}
|
649
|
+
return browser_expected_failures;
|
650
|
+
}
|
651
|
+
|
652
|
+
/**
|
653
|
+
* Returns whether the browser configuration pattern matches the browser
|
654
|
+
* configuration reported by bowser.js.
|
655
|
+
* Example:
|
656
|
+
* { name: 'Chrome', version: '28|29' }
|
657
|
+
* matches browser configuration:
|
658
|
+
* { name: 'Chrome', webkit: true, chrome: true, version: '28.0' }
|
659
|
+
*
|
660
|
+
* @param {Object} Key - RegExp value pairs to check against.
|
661
|
+
* @return {bool}
|
662
|
+
*/
|
663
|
+
function browserConfigurationMatches(browser_configuration) {
|
664
|
+
for (var browser_feature in browser_configuration) {
|
665
|
+
var valueRegex = new RegExp(browser_configuration[browser_feature]);
|
666
|
+
if (!valueRegex.test(bowser[browser_feature])) {
|
667
|
+
return false;
|
668
|
+
}
|
669
|
+
}
|
670
|
+
return true;
|
671
|
+
}
|
672
|
+
|
673
|
+
/**
|
674
|
+
* Processes the test's results and put the information into the test object.
|
675
|
+
*
|
676
|
+
* @param {Element} test DOM object representing the test.
|
677
|
+
* @param {Array.<Object>} results List of testharness.js result objects.
|
678
|
+
*/
|
679
|
+
function processResults(test, browser_expected_failures) {
|
680
|
+
var counts = {
|
681
|
+
passed: 0,
|
682
|
+
failed: 0,
|
683
|
+
skipped: 0,
|
684
|
+
expected_failed: 0, // This count is included in the above
|
685
|
+
total: test.results_raw.length
|
686
|
+
};
|
687
|
+
var results = [];
|
688
|
+
var newResultsDiv = document.createElement('ul');
|
689
|
+
|
690
|
+
for(var i = 0; i < test.results_raw.length; i++) {
|
691
|
+
var result = test.results_raw[i];
|
692
|
+
results[i] = result;
|
693
|
+
|
694
|
+
// Invert expected_failures
|
695
|
+
var expected_failure = null;
|
696
|
+
for(var tname in browser_expected_failures) {
|
697
|
+
var tomatch = tname;
|
698
|
+
if (tname.charAt(0) == '/' && tname.charAt(tname.length-1) == '/') {
|
699
|
+
tomatch = new RegExp(tname.substr(1, tname.length-2));
|
700
|
+
}
|
701
|
+
if (result['name'].match(tomatch)) {
|
702
|
+
expected_failure = browser_expected_failures[tname];
|
703
|
+
}
|
704
|
+
}
|
705
|
+
if (expected_failure !== null && result.status != result.NOTRUN) {
|
706
|
+
if (result.status != result.FAIL) {
|
707
|
+
result.message = "Expected failure (" + expected_failure + "), actually " +
|
708
|
+
{0: 'PASS', 2: 'TIMEOUT', 3:'NOTRUN'}[result.status] + " " +
|
709
|
+
result.message;
|
710
|
+
result.status = result.FAIL;
|
711
|
+
} else {
|
712
|
+
result.status = result.PASS;
|
713
|
+
result.message = "Expected failure (" + expected_failure + "): " + result.message;
|
714
|
+
}
|
715
|
+
counts.expected_failed++;
|
716
|
+
}
|
717
|
+
|
718
|
+
var output = document.createElement('li');
|
719
|
+
output.innerHTML += result.name + ': ';
|
720
|
+
|
721
|
+
switch (result.status) {
|
722
|
+
case result.PASS:
|
723
|
+
if (!expected_failure) {
|
724
|
+
output.className = 'pass';
|
725
|
+
} else {
|
726
|
+
output.className = 'pass-expected-failure';
|
727
|
+
}
|
728
|
+
counts.passed++;
|
729
|
+
break;
|
730
|
+
|
731
|
+
case result.TIMEOUT:
|
732
|
+
output.className = 'timeout';
|
733
|
+
counts.failed++;
|
734
|
+
break;
|
735
|
+
|
736
|
+
case result.NOTRUN:
|
737
|
+
output.className = 'skipped';
|
738
|
+
counts.skipped++;
|
739
|
+
break;
|
740
|
+
|
741
|
+
case result.FAIL:
|
742
|
+
default:
|
743
|
+
output.className = 'failed';
|
744
|
+
counts.failed++;
|
745
|
+
}
|
746
|
+
|
747
|
+
output.innerHTML += output.className;
|
748
|
+
if (result.message != null) {
|
749
|
+
output.innerHTML += ' - ' + result.message;
|
750
|
+
}
|
751
|
+
newResultsDiv.appendChild(output);
|
752
|
+
}
|
753
|
+
test.querySelector('.log').appendChild(newResultsDiv);
|
754
|
+
|
755
|
+
var debug = '';
|
756
|
+
try {
|
757
|
+
debug = test.querySelector('iframe').contentDocument.getElementById('debug').innerText;
|
758
|
+
} catch (e) {
|
759
|
+
debug = 'No debug... :(';
|
760
|
+
}
|
761
|
+
|
762
|
+
if (counts.total > 0) {
|
763
|
+
test.results_processed = {
|
764
|
+
type: 'result',
|
765
|
+
testName: test.id,
|
766
|
+
results: results,
|
767
|
+
debug: debug
|
768
|
+
};
|
769
|
+
|
770
|
+
if (counts.failed == 0) {
|
771
|
+
if (counts.expected_failed > 0) {
|
772
|
+
test.className = 'pass-expected-failure';
|
773
|
+
} else if (counts.skipped > 0) {
|
774
|
+
test.className = 'skipped';
|
775
|
+
} else {
|
776
|
+
test.className = 'pass';
|
777
|
+
}
|
778
|
+
} else {
|
779
|
+
test.className = 'fail';
|
780
|
+
}
|
781
|
+
|
782
|
+
var summary = counts.total + ' tests; ';
|
783
|
+
if (counts.passed > 0) {
|
784
|
+
summary += ' ' + counts.passed + ' passed';
|
785
|
+
if (counts.expected_failed > 0) {
|
786
|
+
summary += ' (with ' + counts.expected_failed + ' expected failures)';
|
787
|
+
}
|
788
|
+
}
|
789
|
+
if (counts.failed > 0) {
|
790
|
+
summary += ' ' + counts.failed + ' failed';
|
791
|
+
}
|
792
|
+
if (counts.skipped > 0) {
|
793
|
+
summary += ' ' + counts.skipped + ' skipped';
|
794
|
+
}
|
795
|
+
test.querySelector('.count').textContent = summary;
|
796
|
+
} else {
|
797
|
+
test.results_processed = {
|
798
|
+
type: 'result',
|
799
|
+
testName: test.id,
|
800
|
+
results: [],
|
801
|
+
};
|
802
|
+
test.className = 'no-tests';
|
803
|
+
test.querySelector('.count').textContent = 'TIMEOUT';
|
804
|
+
}
|
805
|
+
}
|
806
|
+
|
807
|
+
})();
|
808
|
+
|
809
|
+
|
810
|
+
</script>
|