paint-rails 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.gitmodules +3 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +31 -0
- data/Rakefile +32 -0
- data/lib/paint-rails/version.rb +5 -0
- data/lib/paint-rails.rb +8 -0
- data/paint-rails.gemspec +21 -0
- data/vendor/assets/images/favicon.ico +0 -0
- data/vendor/assets/images/logo.png +0 -0
- data/vendor/assets/stylesheets/bower_components/fastclick/.bower.json +23 -0
- data/vendor/assets/stylesheets/bower_components/fastclick/LICENSE +22 -0
- data/vendor/assets/stylesheets/bower_components/fastclick/README.md +140 -0
- data/vendor/assets/stylesheets/bower_components/fastclick/bower.json +12 -0
- data/vendor/assets/stylesheets/bower_components/fastclick/lib/fastclick.js +841 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/.bower.json +36 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/.gitignore +32 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/.npmignore +42 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/bower.json +23 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.css +1672 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/css/font-awesome.min.css +4 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.svg +520 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/bordered-pulled.less +16 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/core.less +11 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/extras.less +2 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/fixed-width.less +6 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/font-awesome.less +17 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/icons.less +552 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/larger.less +13 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/list.less +19 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/mixins.less +25 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/path.less +14 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/rotated-flipped.less +20 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/spinning.less +29 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/stacked.less +20 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/less/variables.less +561 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_bordered-pulled.scss +16 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_core.scss +11 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_extras.scss +44 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_fixed-width.scss +6 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_icons.scss +552 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_larger.scss +13 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_list.scss +19 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_mixins.scss +25 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_path.scss +14 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_rotated-flipped.scss +20 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_spinning.scss +29 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_stacked.scss +20 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/_variables.scss +561 -0
- data/vendor/assets/stylesheets/bower_components/fontawesome/scss/font-awesome.scss +17 -0
- data/vendor/assets/stylesheets/bower_components/foundation/.bower.json +32 -0
- data/vendor/assets/stylesheets/bower_components/foundation/bower.json +23 -0
- data/vendor/assets/stylesheets/bower_components/foundation/css/foundation.css +6138 -0
- data/vendor/assets/stylesheets/bower_components/foundation/css/normalize.css +357 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.abide.js +314 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.accordion.js +66 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.alert.js +43 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.clearing.js +558 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.dropdown.js +326 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.equalizer.js +74 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.interchange.js +344 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.joyride.js +917 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.js +625 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.magellan.js +189 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.offcanvas.js +152 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.orbit.js +472 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.reveal.js +444 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.slider.js +239 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tab.js +217 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.tooltip.js +300 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation/foundation.topbar.js +445 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.js +5741 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/foundation.min.js +4 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/fastclick.js +9 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.cookie.js +8 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/jquery.js +26 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/modernizr.js +8 -0
- data/vendor/assets/stylesheets/bower_components/foundation/js/vendor/placeholder.js +2 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_functions.scss +102 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/_settings.scss +1441 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_accordion.scss +157 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_alert-boxes.scss +128 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_block-grid.scss +132 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_breadcrumbs.scss +132 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_button-groups.scss +197 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_buttons.scss +259 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_clearing.scss +247 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown-buttons.scss +130 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_dropdown.scss +262 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_flex-video.scss +51 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_forms.scss +585 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_global.scss +460 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_grid.scss +275 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_icon-bar.scss +293 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_inline-lists.scss +57 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_joyride.scss +222 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_keystrokes.scss +61 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_labels.scss +106 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_magellan.scss +34 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_offcanvas.scss +513 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_orbit.scss +368 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pagination.scss +162 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_panels.scss +95 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_pricing-tables.scss +150 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_progress-bars.scss +79 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_range-slider.scss +168 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_reveal.scss +222 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_side-nav.scss +116 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_split-buttons.scss +191 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_sub-nav.scss +123 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_switches.scss +230 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tables.scss +135 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tabs.scss +123 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_thumbs.scss +66 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_toolbar.scss +70 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_tooltips.scss +142 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_top-bar.scss +685 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_type.scss +525 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation/components/_visibility.scss +408 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/foundation.scss +45 -0
- data/vendor/assets/stylesheets/bower_components/foundation/scss/normalize.scss +427 -0
- data/vendor/assets/stylesheets/bower_components/jquery/.bower.json +37 -0
- data/vendor/assets/stylesheets/bower_components/jquery/MIT-LICENSE.txt +21 -0
- data/vendor/assets/stylesheets/bower_components/jquery/bower.json +27 -0
- data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.js +9205 -0
- data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/dist/jquery.min.map +1 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/jsonp.js +89 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/load.js +75 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseJSON.js +13 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/parseXML.js +28 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/script.js +64 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/nonce.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/var/rquery.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax/xhr.js +136 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/ajax.js +786 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/attr.js +141 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/classes.js +158 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/prop.js +94 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/support.js +35 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/attributes/val.js +161 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/attributes.js +11 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/callbacks.js +205 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/core/access.js +60 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/core/init.js +123 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/core/parseHTML.js +39 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/core/ready.js +97 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/core.js +497 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/addGetHookIf.js +22 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/curCSS.js +57 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/defaultDisplay.js +70 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/support.js +96 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/swap.js +28 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/cssExpand.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/getStyles.js +12 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/isHidden.js +13 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rmargin.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/css.js +450 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/data/Data.js +181 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/data/accepts.js +20 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_priv.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/data/var/data_user.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/data.js +178 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/deferred.js +149 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/deprecated.js +13 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/dimensions.js +50 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/effects/Tween.js +114 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/effects/animatedSelector.js +13 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/effects.js +648 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/event/ajax.js +13 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/event/alias.js +39 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/event/support.js +9 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/event.js +868 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/exports/amd.js +24 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/exports/global.js +32 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/intro.js +44 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/jquery.js +37 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/support.js +32 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/manipulation.js +580 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/offset.js +207 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/outro.js +1 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/queue/delay.js +22 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/queue.js +142 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/selector-native.js +172 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/selector-sizzle.js +14 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/selector.js +1 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/serialize.js +111 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/findFilter.js +100 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/traversing.js +199 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/arr.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/class2type.js +4 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/concat.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/hasOwn.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/indexOf.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/pnum.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/push.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/rnotwhite.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/slice.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/strundefined.js +3 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/support.js +4 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/var/toString.js +5 -0
- data/vendor/assets/stylesheets/bower_components/jquery/src/wrap.js +79 -0
- data/vendor/assets/stylesheets/bower_components/jquery-placeholder/.bower.json +33 -0
- data/vendor/assets/stylesheets/bower_components/jquery-placeholder/bower.json +21 -0
- data/vendor/assets/stylesheets/bower_components/jquery-placeholder/jquery.placeholder.js +192 -0
- data/vendor/assets/stylesheets/bower_components/jquery.cookie/.bower.json +28 -0
- data/vendor/assets/stylesheets/bower_components/jquery.cookie/bower.json +18 -0
- data/vendor/assets/stylesheets/bower_components/jquery.cookie/jquery.cookie.js +117 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/.bower.json +14 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/.editorconfig +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/.gitignore +2 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/.travis.yml +6 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/a-download.js +8 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-audiodata-api.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/audio-webaudio-api.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-api.js +8 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/battery-level.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/blob-constructor.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/canvas-todataurl-type.js +28 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contenteditable.js +9 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contentsecuritypolicy.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/contextmenu.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cookies.js +15 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/cors.js +3 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-shorthand.js +19 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundposition-xy.js +15 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundrepeat.js +31 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-backgroundsizecover.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-boxsizing.js +9 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-calc.js +12 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-cubicbezierrange.js +8 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displayrunin.js +18 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-displaytable.js +27 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-filters.js +7 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-hyphens.js +205 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-lastchild.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mask.js +12 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-mediaqueries.js +3 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-objectfit.js +6 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-overflow-scrolling.js +9 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-pointerevents.js +25 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-positionsticky.js +13 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-regions.js +55 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-remunit.js +19 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-resize.js +8 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-scrollbars.js +19 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-shapes.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-subpixelfont.js +23 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-supports.js +6 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-userselect.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vhunit.js +14 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vmaxunit.js +14 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vminunit.js +14 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/css-vwunit.js +14 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/custom-protocol-handler.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dart.js +6 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dataview-api.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-classlist.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-createElement-attrs.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-dataset.js +9 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/dom-microdata.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-datalist.js +12 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-details.js +25 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-output.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-progress-meter.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-ruby.js +53 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-time.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/elem-track.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/emoji.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/es5-strictmode.js +7 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/event-deviceorientation-motion.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/exif-orientation.js +32 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-api.js +12 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/file-filesystem.js +9 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-fileinput.js +13 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-formattribute.js +29 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-inputnumber-l10n.js +32 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-placeholder.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-speechinput.js +19 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/forms-validation.js +62 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/fullscreen-api.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/gamepad.js +12 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/getusermedia.js +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/ie8compat.js +12 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-sandbox.js +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-seamless.js +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/iframe-srcdoc.js +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-apng.js +26 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/img-webp.js +20 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/json.js +7 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/lists-reversed.js +6 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/mathml.js +23 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-connection.js +22 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-eventsource.js +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/network-xhr2.js +13 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/notification.js +10 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/performance.js +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/pointerlock-api.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/quota-management-api.js +11 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/requestanimationframe.js +7 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-async.js +3 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/script-defer.js +3 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/style-scoped.js +6 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/svg-filters.js +13 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/unicode.js +32 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/url-data-uri.js +26 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/userdata.js +7 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/vibration.js +4 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/web-intents.js +6 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/webgl-extensions.js +42 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/websockets-binary.js +20 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/window-framed.js +8 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-blobworkers.js +66 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-dataworkers.js +34 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/feature-detects/workers-sharedworkers.js +3 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/grunt.js +69 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.ai +292 -1
- data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.eps +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.pdf +292 -1
- data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/media/Modernizr 2 Logo.svg +35 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/modernizr.js +1406 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/readme.md +28 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/basic.html +65 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse.html +1451 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.eot +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.otf +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.svg +147 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.ttf +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/Windsong-webfont.woff +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/alpha.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/apng_test.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/before-after.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/form_validation.html +15 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ga.js +43 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/green5x5.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/hashchange.html +16 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/jquery.min.js +18 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml.html +120 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/mathml_ref.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/modernizr-1.7.min.js +2 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/png_alpha_result.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/pushstate.html +40 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/red30x30.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/ruby.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/stroked-text.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/style.css +168 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-html-blur.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg-img.svg.1 +5 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/svg_blur.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/table.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow1.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/text-shadow2.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/windsong_font.png +0 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/caniuse_files/xhtml.html +14 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/index.html +104 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/basic.html +65 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/dumpdata.js +75 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/detect-global.js +153 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jquery-1.7b2.js +9279 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/jsonselect.js +279 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/polyfills.js +96 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/lib/uaparser.js +215 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/setup.js +44 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit-caniuse.js +191 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/js/unit.js +669 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.css +231 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/qunit.js +1932 -0
- data/vendor/assets/stylesheets/bower_components/modernizr/test/qunit/run-qunit.js +72 -0
- data/vendor/assets/stylesheets/components/_button.scss +61 -0
- data/vendor/assets/stylesheets/components/_dropdown.scss +27 -0
- data/vendor/assets/stylesheets/components/_grid.scss +37 -0
- data/vendor/assets/stylesheets/components/_heading.scss +17 -0
- data/vendor/assets/stylesheets/components/_icon.scss +4 -0
- data/vendor/assets/stylesheets/components/_label.scss +3 -0
- data/vendor/assets/stylesheets/components/_layout.scss +263 -0
- data/vendor/assets/stylesheets/components/_progress-bar.scss +14 -0
- data/vendor/assets/stylesheets/globals/_mixins.scss +5 -0
- data/vendor/assets/stylesheets/globals/_settings.scss +64 -0
- data/vendor/assets/stylesheets/paint.scss +20 -0
- metadata +481 -0
@@ -0,0 +1,669 @@
|
|
1
|
+
QUnit.begin = function() {
|
2
|
+
console.log("Starting test suite");
|
3
|
+
console.log("================================================\n");
|
4
|
+
};
|
5
|
+
|
6
|
+
QUnit.moduleDone = function(opts) {
|
7
|
+
if(opts.failed === 0) {
|
8
|
+
console.log("\u2714 All tests passed in '"+opts.name+"' module");
|
9
|
+
} else {
|
10
|
+
console.log("\u2716 "+ opts.failed +" tests failed in '"+opts.name+"' module");
|
11
|
+
}
|
12
|
+
};
|
13
|
+
|
14
|
+
QUnit.done = function(opts) {
|
15
|
+
console.log("\n================================================");
|
16
|
+
console.log("Tests completed in "+opts.runtime+" milliseconds");
|
17
|
+
console.log(opts.passed + " tests of "+opts.total+" passed, "+opts.failed+" failed.");
|
18
|
+
};
|
19
|
+
|
20
|
+
module('Basics', {
|
21
|
+
setup:function() {
|
22
|
+
},
|
23
|
+
teardown:function() {
|
24
|
+
}
|
25
|
+
});
|
26
|
+
|
27
|
+
test("globals set up", function() {
|
28
|
+
|
29
|
+
ok(window.Modernizr, 'global modernizr object created');
|
30
|
+
|
31
|
+
});
|
32
|
+
|
33
|
+
test("bind is implemented", function() {
|
34
|
+
|
35
|
+
ok(Function.prototype.bind, 'bind is a member of Function.prototype');
|
36
|
+
|
37
|
+
var a = function(){
|
38
|
+
return this.modernizr;
|
39
|
+
};
|
40
|
+
a = a.bind({modernizr: 'just awsome'});
|
41
|
+
|
42
|
+
equal("just awsome", a(), 'bind works as expected');
|
43
|
+
|
44
|
+
|
45
|
+
// thank you webkit layoutTests
|
46
|
+
|
47
|
+
|
48
|
+
var result;
|
49
|
+
|
50
|
+
function F(x, y)
|
51
|
+
{
|
52
|
+
result = this + " -> x:" + x + ", y:" + y;
|
53
|
+
}
|
54
|
+
|
55
|
+
G = F.bind("'a'", "'b'");
|
56
|
+
H = G.bind("'Cannot rebind this!'", "'c'");
|
57
|
+
|
58
|
+
G(1,2);
|
59
|
+
equal(result, "\'a\' -> x:\'b\', y:1");
|
60
|
+
H(1,2);
|
61
|
+
equal(result, "\'a\' -> x:\'b\', y:\'c\'");
|
62
|
+
|
63
|
+
var f = new F(1,2);
|
64
|
+
equal(result, "[object Object] -> x:1, y:2");
|
65
|
+
var g = new G(1,2);
|
66
|
+
equal(result, "[object Object] -> x:\'b\', y:1");
|
67
|
+
var h = new H(1,2);
|
68
|
+
equal(result, "[object Object] -> x:\'b\', y:\'c\'");
|
69
|
+
|
70
|
+
ok(f instanceof F, "f instanceof F");
|
71
|
+
ok(g instanceof F, "g instanceof F");
|
72
|
+
ok(h instanceof F, "h instanceof F");
|
73
|
+
|
74
|
+
// Bound functions don't have a 'prototype' property.
|
75
|
+
ok("prototype" in F, '"prototype" in F');
|
76
|
+
|
77
|
+
// The object passed to bind as 'this' must be callable.
|
78
|
+
raises(function(){
|
79
|
+
Function.bind.call(undefined);
|
80
|
+
});
|
81
|
+
|
82
|
+
// Objects that allow call but not construct can be bound, but should throw if used with new.
|
83
|
+
var abcAt = String.prototype.charAt.bind("abc");
|
84
|
+
equal(abcAt(1), "b", 'Objects that allow call but not construct can be bound...');
|
85
|
+
|
86
|
+
equal(1, Function.bind.length, 'it exists');
|
87
|
+
|
88
|
+
|
89
|
+
});
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
test("document.documentElement is valid and correct",1, function() {
|
94
|
+
equal(document.documentElement,document.getElementsByTagName('html')[0]);
|
95
|
+
});
|
96
|
+
|
97
|
+
|
98
|
+
test("no-js class is gone.", function() {
|
99
|
+
|
100
|
+
ok(!/(?:^|\s)no-js(?:^|\s)/.test(document.documentElement.className),
|
101
|
+
'no-js class is gone');
|
102
|
+
|
103
|
+
ok(/(?:^|\s)js(?:^|\s)/.test(document.documentElement.className),
|
104
|
+
'html.js class is present');
|
105
|
+
|
106
|
+
ok(/(?:^|\s)\+no-js(?:\s|$)/.test(document.documentElement.className),
|
107
|
+
'html.+no-js class is still present');
|
108
|
+
|
109
|
+
ok(/(?:^|\s)no-js-(?:\s|$)/.test(document.documentElement.className),
|
110
|
+
'html.no-js- class is still present');
|
111
|
+
|
112
|
+
ok(/(?:^|\s)i-has-no-js(?:\s|$)/.test(document.documentElement.className),
|
113
|
+
'html.i-has-no-js class is still present');
|
114
|
+
|
115
|
+
if (document.querySelector){
|
116
|
+
ok(document.querySelector('html.js') == document.documentElement,
|
117
|
+
"document.querySelector('html.js') matches.");
|
118
|
+
}
|
119
|
+
});
|
120
|
+
|
121
|
+
test('html shim worked', function(){
|
122
|
+
expect(2);
|
123
|
+
|
124
|
+
// the exact test we use in the script
|
125
|
+
var elem = document.getElementsByTagName("section")[0];
|
126
|
+
elem.id = "html5section";
|
127
|
+
|
128
|
+
ok( elem.childNodes.length === 1 , 'unknown elements dont collapse');
|
129
|
+
|
130
|
+
elem.style.color = 'red';
|
131
|
+
ok( /red|#ff0000/i.test(elem.style.color), 'unknown elements are styleable')
|
132
|
+
|
133
|
+
});
|
134
|
+
|
135
|
+
|
136
|
+
module('Modernizr classes and bools', {
|
137
|
+
setup:function() {
|
138
|
+
},
|
139
|
+
teardown:function() {
|
140
|
+
}
|
141
|
+
});
|
142
|
+
|
143
|
+
|
144
|
+
test('html classes are looking good',function(){
|
145
|
+
|
146
|
+
var classes = TEST.trim(document.documentElement.className).split(/\s+/);
|
147
|
+
|
148
|
+
var modprops = Object.keys(Modernizr),
|
149
|
+
newprops = modprops;
|
150
|
+
|
151
|
+
// decrement for the properties that are private
|
152
|
+
for (var i = -1, len = TEST.privates.length; ++i < len; ){
|
153
|
+
var item = TEST.privates[i];
|
154
|
+
equal(-1, TEST.inArray(item, classes), 'private Modernizr object '+ item +'should not have matching classes');
|
155
|
+
equal(-1, TEST.inArray('no-' + item, classes), 'private Modernizr object no-'+item+' should not have matching classes');
|
156
|
+
}
|
157
|
+
|
158
|
+
// decrement for the non-boolean objects
|
159
|
+
// for (var i = -1, len = TEST.inputs.length; ++i < len; ){
|
160
|
+
// if (Modernizr[TEST.inputs[i]] != undefined) newprops--;
|
161
|
+
// }
|
162
|
+
|
163
|
+
// TODO decrement for the extraclasses
|
164
|
+
|
165
|
+
// decrement for deprecated ones.
|
166
|
+
$.each( TEST.deprecated, function(key, val){
|
167
|
+
newprops.splice( TEST.inArray(item, newprops), 1);
|
168
|
+
});
|
169
|
+
|
170
|
+
|
171
|
+
//equal(classes,newprops,'equal number of classes and global object props');
|
172
|
+
|
173
|
+
if (classes.length !== newprops){
|
174
|
+
//window.console && console.log(classes, newprops);
|
175
|
+
|
176
|
+
}
|
177
|
+
|
178
|
+
for (var i = 0, len = classes.length, aclass; i <len; i++){
|
179
|
+
aclass = classes[i];
|
180
|
+
|
181
|
+
// Skip js related classes.
|
182
|
+
if (/^(?:js|\+no-js|no-js-|i-has-no-js)$/.test(aclass)) continue;
|
183
|
+
|
184
|
+
if (aclass.indexOf('no-') === 0){
|
185
|
+
aclass = aclass.replace('no-','');
|
186
|
+
|
187
|
+
equal(Modernizr[aclass], false,
|
188
|
+
aclass + ' is correctly false in the classes and object')
|
189
|
+
|
190
|
+
} else {
|
191
|
+
equal(Modernizr[aclass], true,
|
192
|
+
aclass + ' is correctly true in the classes and object')
|
193
|
+
}
|
194
|
+
}
|
195
|
+
|
196
|
+
|
197
|
+
for (var i = 0, len = classes.length, aclass; i <len; i++){
|
198
|
+
equal(classes[i],classes[i].toLowerCase(),'all classes are lowerCase.');
|
199
|
+
}
|
200
|
+
|
201
|
+
// Remove fake no-js classes before test.
|
202
|
+
var docElClass = document.documentElement.className;
|
203
|
+
$.each(['\\+no-js', 'no-js-', 'i-has-no-js'], function(i, fakeClass) {
|
204
|
+
docElClass = docElClass.replace(new RegExp('(^|\\s)' + fakeClass + '(\\s|$)', 'g'), '$1$2');
|
205
|
+
});
|
206
|
+
equal(/[^\s]no-/.test(docElClass), false, 'whitespace between all classes.');
|
207
|
+
|
208
|
+
|
209
|
+
})
|
210
|
+
|
211
|
+
|
212
|
+
test('Modernizr properties are looking good',function(){
|
213
|
+
|
214
|
+
var count = 0,
|
215
|
+
nobool = TEST.API.concat(TEST.inputs)
|
216
|
+
.concat(TEST.audvid)
|
217
|
+
.concat(TEST.privates)
|
218
|
+
.concat(['textarea']); // due to forms-placeholder.js test
|
219
|
+
|
220
|
+
for (var prop in window.Modernizr){
|
221
|
+
if (Modernizr.hasOwnProperty(prop)){
|
222
|
+
|
223
|
+
if (TEST.inArray(prop,nobool) >= 0) continue;
|
224
|
+
|
225
|
+
ok(Modernizr[prop] === true || Modernizr[prop] === false,
|
226
|
+
'Modernizr.'+prop+' is a straight up boolean');
|
227
|
+
|
228
|
+
|
229
|
+
equal(prop,prop.toLowerCase(),'all properties are lowerCase.')
|
230
|
+
}
|
231
|
+
}
|
232
|
+
})
|
233
|
+
|
234
|
+
|
235
|
+
|
236
|
+
test('Modernizr.audio and Modernizr.video',function(){
|
237
|
+
|
238
|
+
for (var i = -1, len = TEST.audvid.length; ++i < len;){
|
239
|
+
var prop = TEST.audvid[i];
|
240
|
+
|
241
|
+
if (Modernizr[prop].toString() == 'true'){
|
242
|
+
|
243
|
+
ok(Modernizr[prop], 'Modernizr.'+prop+' is truthy.');
|
244
|
+
equal(Modernizr[prop] == true,true, 'Modernizr.'+prop+' is == true')
|
245
|
+
equal(typeof Modernizr[prop] === 'object',true,'Moderizr.'+prop+' is truly an object');
|
246
|
+
equal(Modernizr[prop] !== true,true, 'Modernizr.'+prop+' is !== true')
|
247
|
+
|
248
|
+
} else {
|
249
|
+
|
250
|
+
equal(Modernizr[prop] != true,true, 'Modernizr.'+prop+' is != true')
|
251
|
+
}
|
252
|
+
}
|
253
|
+
|
254
|
+
|
255
|
+
});
|
256
|
+
|
257
|
+
|
258
|
+
test('Modernizr results match expected values',function(){
|
259
|
+
|
260
|
+
// i'm bringing over a few tests from inside Modernizr.js
|
261
|
+
equal(!!document.createElement('canvas').getContext,Modernizr.canvas,'canvas test consistent');
|
262
|
+
|
263
|
+
equal(!!window.Worker,Modernizr.webworkers,'web workers test consistent')
|
264
|
+
|
265
|
+
});
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
module('Modernizr\'s API methods', {
|
270
|
+
setup:function() {
|
271
|
+
},
|
272
|
+
teardown:function() {
|
273
|
+
}
|
274
|
+
});
|
275
|
+
|
276
|
+
test('Modernizr.addTest()',22,function(){
|
277
|
+
|
278
|
+
var docEl = document.documentElement;
|
279
|
+
|
280
|
+
|
281
|
+
Modernizr.addTest('testtrue',function(){
|
282
|
+
return true;
|
283
|
+
});
|
284
|
+
|
285
|
+
Modernizr.addTest('testtruthy',function(){
|
286
|
+
return 100;
|
287
|
+
});
|
288
|
+
|
289
|
+
Modernizr.addTest('testfalse',function(){
|
290
|
+
return false;
|
291
|
+
});
|
292
|
+
|
293
|
+
Modernizr.addTest('testfalsy',function(){
|
294
|
+
return undefined;
|
295
|
+
});
|
296
|
+
|
297
|
+
ok(docEl.className.indexOf(' testtrue') >= 0,'positive class added');
|
298
|
+
equal(Modernizr.testtrue,true,'positive prop added');
|
299
|
+
|
300
|
+
ok(docEl.className.indexOf(' testtruthy') >= 0,'positive class added');
|
301
|
+
equal(Modernizr.testtruthy,100,'truthy value is not casted to straight boolean');
|
302
|
+
|
303
|
+
ok(docEl.className.indexOf(' no-testfalse') >= 0,'negative class added');
|
304
|
+
equal(Modernizr.testfalse,false,'negative prop added');
|
305
|
+
|
306
|
+
ok(docEl.className.indexOf(' no-testfalsy') >= 0,'negative class added');
|
307
|
+
equal(Modernizr.testfalsy,undefined,'falsy value is not casted to straight boolean');
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
Modernizr.addTest('testcamelCase',function(){
|
312
|
+
return true;
|
313
|
+
});
|
314
|
+
|
315
|
+
ok(docEl.className.indexOf(' testcamelCase') === -1,
|
316
|
+
'camelCase test name toLowerCase()\'d');
|
317
|
+
|
318
|
+
|
319
|
+
// okay new signature for this API! woo
|
320
|
+
|
321
|
+
Modernizr.addTest('testboolfalse', false);
|
322
|
+
|
323
|
+
ok(~docEl.className.indexOf(' no-testboolfalse'), 'Modernizr.addTest(feature, bool): negative class added');
|
324
|
+
equal(Modernizr.testboolfalse, false, 'Modernizr.addTest(feature, bool): negative prop added');
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
Modernizr.addTest('testbooltrue', true);
|
329
|
+
|
330
|
+
ok(~docEl.className.indexOf(' testbooltrue'), 'Modernizr.addTest(feature, bool): positive class added');
|
331
|
+
equal(Modernizr.testbooltrue, true, 'Modernizr.addTest(feature, bool): positive prop added');
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
Modernizr.addTest({'testobjboolfalse': false,
|
336
|
+
'testobjbooltrue' : true });
|
337
|
+
|
338
|
+
ok(~docEl.className.indexOf(' no-testobjboolfalse'), 'Modernizr.addTest({feature: bool}): negative class added');
|
339
|
+
equal(Modernizr.testobjboolfalse, false, 'Modernizr.addTest({feature: bool}): negative prop added');
|
340
|
+
|
341
|
+
ok(~docEl.className.indexOf(' testobjbooltrue'), 'Modernizr.addTest({feature: bool}): positive class added');
|
342
|
+
equal(Modernizr.testobjbooltrue, true, 'Modernizr.addTest({feature: bool}): positive prop added');
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
Modernizr.addTest({'testobjfnfalse': function(){ return false },
|
348
|
+
'testobjfntrue' : function(){ return true } });
|
349
|
+
|
350
|
+
|
351
|
+
ok(~docEl.className.indexOf(' no-testobjfnfalse'), 'Modernizr.addTest({feature: bool}): negative class added');
|
352
|
+
equal(Modernizr.testobjfnfalse, false, 'Modernizr.addTest({feature: bool}): negative prop added');
|
353
|
+
|
354
|
+
ok(~docEl.className.indexOf(' testobjfntrue'), 'Modernizr.addTest({feature: bool}): positive class added');
|
355
|
+
equal(Modernizr.testobjfntrue, true, 'Modernizr.addTest({feature: bool}): positive prop added');
|
356
|
+
|
357
|
+
|
358
|
+
Modernizr
|
359
|
+
.addTest('testchainone', true)
|
360
|
+
.addTest({ testchaintwo: true })
|
361
|
+
.addTest('testchainthree', function(){ return true; });
|
362
|
+
|
363
|
+
ok( Modernizr.testchainone == Modernizr.testchaintwo == Modernizr.testchainthree, 'addTest is chainable');
|
364
|
+
|
365
|
+
|
366
|
+
}); // eo addTest
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
test('Modernizr.mq: media query testing',function(){
|
373
|
+
|
374
|
+
var $html = $('html');
|
375
|
+
$.mobile = {};
|
376
|
+
|
377
|
+
// from jquery mobile
|
378
|
+
|
379
|
+
$.mobile.media = (function() {
|
380
|
+
// TODO: use window.matchMedia once at least one UA implements it
|
381
|
+
var cache = {},
|
382
|
+
testDiv = $( "<div id='jquery-mediatest'>" ),
|
383
|
+
fakeBody = $( "<body>" ).append( testDiv );
|
384
|
+
|
385
|
+
return function( query ) {
|
386
|
+
if ( !( query in cache ) ) {
|
387
|
+
var styleBlock = document.createElement('style'),
|
388
|
+
cssrule = "@media " + query + " { #jquery-mediatest { position:absolute; } }";
|
389
|
+
//must set type for IE!
|
390
|
+
styleBlock.type = "text/css";
|
391
|
+
if (styleBlock.styleSheet){
|
392
|
+
styleBlock.styleSheet.cssText = cssrule;
|
393
|
+
}
|
394
|
+
else {
|
395
|
+
styleBlock.appendChild(document.createTextNode(cssrule));
|
396
|
+
}
|
397
|
+
|
398
|
+
$html.prepend( fakeBody ).prepend( styleBlock );
|
399
|
+
cache[ query ] = testDiv.css( "position" ) === "absolute";
|
400
|
+
fakeBody.add( styleBlock ).remove();
|
401
|
+
}
|
402
|
+
return cache[ query ];
|
403
|
+
};
|
404
|
+
})();
|
405
|
+
|
406
|
+
|
407
|
+
ok(Modernizr.mq,'Modernizr.mq() doesn\' freak out.');
|
408
|
+
|
409
|
+
equal($.mobile.media('only screen'), Modernizr.mq('only screen'),'screen media query matches jQuery mobile\'s result');
|
410
|
+
|
411
|
+
equal(Modernizr.mq('only all'), Modernizr.mq('only all'), 'Cache hit matches');
|
412
|
+
|
413
|
+
|
414
|
+
});
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
test('Modernizr.hasEvent()',function(){
|
420
|
+
|
421
|
+
ok(typeof Modernizr.hasEvent == 'function','Modernizr.hasEvent() is a function');
|
422
|
+
|
423
|
+
|
424
|
+
equal(Modernizr.hasEvent('click'), true,'click event is supported');
|
425
|
+
|
426
|
+
equal(Modernizr.hasEvent('modernizrcustomevent'), false,'random event is definitely not supported');
|
427
|
+
|
428
|
+
/* works fine in webkit but not gecko
|
429
|
+
equal( Modernizr.hasEvent('resize', window),
|
430
|
+
!Modernizr.hasEvent('resize', document.createElement('div')),
|
431
|
+
'Resize is supported in window but not a div, typically...');
|
432
|
+
*/
|
433
|
+
|
434
|
+
});
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
|
440
|
+
test('Modernizr.testStyles()',function(){
|
441
|
+
|
442
|
+
equal(typeof Modernizr.testStyles, 'function','Modernizr.testStyles() is a function');
|
443
|
+
|
444
|
+
var style = '#modernizr{ width: 9px; height: 4px; font-size: 0; color: papayawhip; }';
|
445
|
+
|
446
|
+
Modernizr.testStyles(style, function(elem, rule){
|
447
|
+
equal(style, rule, 'rule passsed back matches what i gave it.')
|
448
|
+
equal(elem.offsetWidth, 9, 'width was set through the style');
|
449
|
+
equal(elem.offsetHeight, 4, 'height was set through the style');
|
450
|
+
equal(elem.id, 'modernizr', 'element is indeed the modernizr element');
|
451
|
+
});
|
452
|
+
|
453
|
+
});
|
454
|
+
|
455
|
+
|
456
|
+
test('Modernizr._[properties]',function(){
|
457
|
+
|
458
|
+
equal(6, Modernizr._prefixes.length, 'Modernizr._prefixes has 6 items');
|
459
|
+
|
460
|
+
equal(4, Modernizr._domPrefixes.length, 'Modernizr.domPrefixes has 4 items');
|
461
|
+
|
462
|
+
});
|
463
|
+
|
464
|
+
test('Modernizr.testProp()',function(){
|
465
|
+
|
466
|
+
equal(true, Modernizr.testProp('margin'), 'Everyone supports margin');
|
467
|
+
|
468
|
+
equal(false, Modernizr.testProp('happiness'), 'Nobody supports the happiness style. :(');
|
469
|
+
equal(true, Modernizr.testProp('fontSize'), 'Everyone supports fontSize');
|
470
|
+
equal(false, Modernizr.testProp('font-size'), 'Nobody supports font-size');
|
471
|
+
|
472
|
+
equal('pointerEvents' in document.createElement('div').style,
|
473
|
+
Modernizr.testProp('pointerEvents'),
|
474
|
+
'results for `pointer-events` are consistent with a homegrown feature test');
|
475
|
+
|
476
|
+
});
|
477
|
+
|
478
|
+
|
479
|
+
|
480
|
+
test('Modernizr.testAllProps()',function(){
|
481
|
+
|
482
|
+
equal(true, Modernizr.testAllProps('margin'), 'Everyone supports margin');
|
483
|
+
|
484
|
+
equal(false, Modernizr.testAllProps('happiness'), 'Nobody supports the happiness style. :(');
|
485
|
+
equal(true, Modernizr.testAllProps('fontSize'), 'Everyone supports fontSize');
|
486
|
+
equal(false, Modernizr.testAllProps('font-size'), 'Nobody supports font-size');
|
487
|
+
|
488
|
+
equal(Modernizr.csstransitions, Modernizr.testAllProps('transition'), 'Modernizr result matches API result: csstransitions');
|
489
|
+
|
490
|
+
equal(Modernizr.csscolumns, Modernizr.testAllProps('columnCount'), 'Modernizr result matches API result: csscolumns')
|
491
|
+
|
492
|
+
});
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
|
497
|
+
|
498
|
+
|
499
|
+
test('Modernizr.prefixed() - css and DOM resolving', function(){
|
500
|
+
// https://gist.github.com/523692
|
501
|
+
|
502
|
+
function gimmePrefix(prop, obj){
|
503
|
+
var prefixes = ['Moz','Khtml','Webkit','O','ms'],
|
504
|
+
domPrefixes = ['moz','khtml','webkit','o','ms'],
|
505
|
+
elem = document.createElement('div'),
|
506
|
+
upper = prop.charAt(0).toUpperCase() + prop.slice(1);
|
507
|
+
|
508
|
+
if(!obj) {
|
509
|
+
if (prop in elem.style)
|
510
|
+
return prop;
|
511
|
+
|
512
|
+
for (var len = prefixes.length; len--; ){
|
513
|
+
if ((prefixes[len] + upper) in elem.style)
|
514
|
+
return (prefixes[len] + upper);
|
515
|
+
}
|
516
|
+
} else {
|
517
|
+
if (prop in obj)
|
518
|
+
return prop;
|
519
|
+
|
520
|
+
for (var len = domPrefixes.length; len--; ){
|
521
|
+
if ((domPrefixes[len] + upper) in obj)
|
522
|
+
return (domPrefixes[len] + upper);
|
523
|
+
}
|
524
|
+
}
|
525
|
+
|
526
|
+
|
527
|
+
return false;
|
528
|
+
}
|
529
|
+
|
530
|
+
var propArr = ['transition', 'backgroundSize', 'boxSizing', 'borderImage',
|
531
|
+
'borderRadius', 'boxShadow', 'columnCount'];
|
532
|
+
|
533
|
+
var domPropArr = [{ 'prop': 'requestAnimationFrame', 'obj': window },
|
534
|
+
{ 'prop': 'querySelectorAll', 'obj': document },
|
535
|
+
{ 'prop': 'matchesSelector', 'obj': document.createElement('div') }];
|
536
|
+
|
537
|
+
for (var i = -1, len = propArr.length; ++i < len; ){
|
538
|
+
var prop = propArr[i];
|
539
|
+
equal(Modernizr.prefixed(prop), gimmePrefix(prop), 'results for ' + prop + ' match the homebaked prefix finder');
|
540
|
+
}
|
541
|
+
|
542
|
+
for (var i = -1, len = domPropArr.length; ++i < len; ){
|
543
|
+
var prop = domPropArr[i];
|
544
|
+
ok(!!~Modernizr.prefixed(prop.prop, prop.obj, false).toString().indexOf(gimmePrefix(prop.prop, prop.obj)), 'results for ' + prop.prop + ' match the homebaked prefix finder');
|
545
|
+
}
|
546
|
+
|
547
|
+
|
548
|
+
|
549
|
+
|
550
|
+
});
|
551
|
+
|
552
|
+
|
553
|
+
// FIXME: so a few of these are whitelisting for webkit. i'd like to improve that.
|
554
|
+
test('Modernizr.prefixed autobind', function(){
|
555
|
+
|
556
|
+
var rAFName;
|
557
|
+
|
558
|
+
// quick sniff to find the local rAF prefixed name.
|
559
|
+
var vendors = ['ms', 'moz', 'webkit', 'o'];
|
560
|
+
for(var x = 0; x < vendors.length && !rAFName; ++x) {
|
561
|
+
rAFName = window[vendors[x]+'RequestAnimationFrame'] && vendors[x]+'RequestAnimationFrame';
|
562
|
+
}
|
563
|
+
|
564
|
+
if (rAFName){
|
565
|
+
// rAF returns a function
|
566
|
+
equal(
|
567
|
+
'function',
|
568
|
+
typeof Modernizr.prefixed('requestAnimationFrame', window),
|
569
|
+
"Modernizr.prefixed('requestAnimationFrame', window) returns a function")
|
570
|
+
|
571
|
+
// unless we false it to a string
|
572
|
+
equal(
|
573
|
+
rAFName,
|
574
|
+
Modernizr.prefixed('requestAnimationFrame', window, false),
|
575
|
+
"Modernizr.prefixed('requestAnimationFrame', window, false) returns a string (the prop name)")
|
576
|
+
|
577
|
+
}
|
578
|
+
|
579
|
+
if (document.body.webkitMatchesSelector || document.body.mozMatchesSelector){
|
580
|
+
|
581
|
+
var fn = Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body);
|
582
|
+
|
583
|
+
//returns function
|
584
|
+
equal(
|
585
|
+
'function',
|
586
|
+
typeof fn,
|
587
|
+
"Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body) returns a function");
|
588
|
+
|
589
|
+
// fn scoping
|
590
|
+
equal(
|
591
|
+
true,
|
592
|
+
fn('body'),
|
593
|
+
"Modernizr.prefixed('matchesSelector', HTMLElement.prototype, document.body) is scoped to the body")
|
594
|
+
|
595
|
+
}
|
596
|
+
|
597
|
+
// Webkit only: are there other objects that are prefixed?
|
598
|
+
if (window.webkitNotifications){
|
599
|
+
// should be an object.
|
600
|
+
|
601
|
+
equal(
|
602
|
+
'object',
|
603
|
+
typeof Modernizr.prefixed('Notifications', window),
|
604
|
+
"Modernizr.prefixed('Notifications') returns an object");
|
605
|
+
|
606
|
+
}
|
607
|
+
|
608
|
+
// Webkit only:
|
609
|
+
if (typeof document.webkitIsFullScreen !== 'undefined'){
|
610
|
+
// boolean
|
611
|
+
|
612
|
+
equal(
|
613
|
+
'boolean',
|
614
|
+
typeof Modernizr.prefixed('isFullScreen', document),
|
615
|
+
"Modernizr.prefixed('isFullScreen') returns a boolean");
|
616
|
+
}
|
617
|
+
|
618
|
+
|
619
|
+
|
620
|
+
// Moz only:
|
621
|
+
if (typeof document.mozFullScreen !== 'undefined'){
|
622
|
+
// boolean
|
623
|
+
|
624
|
+
equal(
|
625
|
+
'boolean',
|
626
|
+
typeof Modernizr.prefixed('fullScreen', document),
|
627
|
+
"Modernizr.prefixed('fullScreen') returns a boolean");
|
628
|
+
}
|
629
|
+
|
630
|
+
|
631
|
+
// Webkit-only.. takes advantage of Webkit's mixed case of prefixes
|
632
|
+
if (document.body.style.WebkitAnimation){
|
633
|
+
// string
|
634
|
+
|
635
|
+
equal(
|
636
|
+
'string',
|
637
|
+
typeof Modernizr.prefixed('animation', document.body.style),
|
638
|
+
"Modernizr.prefixed('animation', document.body.style) returns value of that, as a string");
|
639
|
+
|
640
|
+
equal(
|
641
|
+
animationStyle.toLowerCase(),
|
642
|
+
Modernizr.prefixed('animation', document.body.style, false).toLowerCase(),
|
643
|
+
"Modernizr.prefixed('animation', document.body.style, false) returns the (case-normalized) name of the property: webkitanimation");
|
644
|
+
|
645
|
+
}
|
646
|
+
|
647
|
+
equal(
|
648
|
+
false,
|
649
|
+
Modernizr.prefixed('doSomethingAmazing$#$', window),
|
650
|
+
"Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj) returns false");
|
651
|
+
|
652
|
+
equal(
|
653
|
+
false,
|
654
|
+
Modernizr.prefixed('doSomethingAmazing$#$', window, document.body),
|
655
|
+
"Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj, scope) returns false");
|
656
|
+
|
657
|
+
|
658
|
+
equal(
|
659
|
+
false,
|
660
|
+
Modernizr.prefixed('doSomethingAmazing$#$', window, false),
|
661
|
+
"Modernizr.prefixed('doSomethingAmazing$#$', window) : Gobbledygook with prefixed(str,obj, false) returns false");
|
662
|
+
|
663
|
+
|
664
|
+
});
|
665
|
+
|
666
|
+
|
667
|
+
|
668
|
+
|
669
|
+
|