From 8a61e625bd69439ba5606364e9b0bd959804faf5 Mon Sep 17 00:00:00 2001 From: Eugene Ware Date: Wed, 14 Aug 2013 22:30:59 +1000 Subject: [PATCH] proper tests --- .npmignore | 1 + Makefile | 2 - bower_components/js-base64/.bower.json | 22 ++ bower_components/js-base64/.gitignore | 4 + bower_components/js-base64/.travis.yml | 5 + bower_components/js-base64/README.md | 51 ++++ bower_components/js-base64/base64.html | 47 ++++ bower_components/js-base64/base64.js | 174 ++++++++++++ bower_components/js-base64/base64.min.js | 1 + bower_components/js-base64/bower.json | 13 + bower_components/js-base64/package.json | 26 ++ bower_components/screenfull/.bower.json | 33 --- bower_components/screenfull/.editorconfig | 12 - bower_components/screenfull/.gitattributes | 1 - bower_components/screenfull/.jshintrc | 21 -- bower_components/screenfull/bower.json | 23 -- .../screenfull/dist/screenfull.js | 135 ---------- .../screenfull/dist/screenfull.min.js | 7 - bower_components/screenfull/grunt.js | 61 ----- bower_components/screenfull/index.html | 250 ------------------ bower_components/screenfull/readme.md | 200 -------------- bower_components/screenfull/src/screenfull.js | 128 --------- bower_components/testamd/bower.json | 5 - bower_components/testamd/testamd.js | 5 - bower_components/testamd2/bower.json | 5 - bower_components/testamd2/testamd2.js | 14 - package.json | 5 +- public/index.js | 2 + test/index.js | 31 ++- test/test.html | 11 - 30 files changed, 373 insertions(+), 922 deletions(-) delete mode 100644 Makefile create mode 100644 bower_components/js-base64/.bower.json create mode 100644 bower_components/js-base64/.gitignore create mode 100644 bower_components/js-base64/.travis.yml create mode 100644 bower_components/js-base64/README.md create mode 100644 bower_components/js-base64/base64.html create mode 100644 bower_components/js-base64/base64.js create mode 100644 bower_components/js-base64/base64.min.js create mode 100644 bower_components/js-base64/bower.json create mode 100644 bower_components/js-base64/package.json delete mode 100644 bower_components/screenfull/.bower.json delete mode 100644 bower_components/screenfull/.editorconfig delete mode 100644 bower_components/screenfull/.gitattributes delete mode 100644 bower_components/screenfull/.jshintrc delete mode 100644 bower_components/screenfull/bower.json delete mode 100644 bower_components/screenfull/dist/screenfull.js delete mode 100644 bower_components/screenfull/dist/screenfull.min.js delete mode 100644 bower_components/screenfull/grunt.js delete mode 100644 bower_components/screenfull/index.html delete mode 100644 bower_components/screenfull/readme.md delete mode 100644 bower_components/screenfull/src/screenfull.js delete mode 100644 bower_components/testamd/bower.json delete mode 100644 bower_components/testamd/testamd.js delete mode 100644 bower_components/testamd2/bower.json delete mode 100644 bower_components/testamd2/testamd2.js create mode 100644 public/index.js delete mode 100644 test/test.html diff --git a/.npmignore b/.npmignore index 92ddde6..eb40513 100644 --- a/.npmignore +++ b/.npmignore @@ -2,3 +2,4 @@ Makefile components/ bower_components/ test/ +public/ diff --git a/Makefile b/Makefile deleted file mode 100644 index b6c0fbb..0000000 --- a/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -build: - browserify -t debowerify -t deamdify test/index.js -o test/bundle.js diff --git a/bower_components/js-base64/.bower.json b/bower_components/js-base64/.bower.json new file mode 100644 index 0000000..8476a16 --- /dev/null +++ b/bower_components/js-base64/.bower.json @@ -0,0 +1,22 @@ +{ + "name": "js-base64", + "version": "2.1.2", + "main": [ + "./base64.js" + ], + "ignore": [ + "old", + "test" + ], + "dependencies": {}, + "homepage": "https://github.com/dankogai/js-base64", + "_release": "2.1.2", + "_resolution": { + "type": "version", + "tag": "2.1.2", + "commit": "faaf39a26a709614ce233cc78436ac45484ee14c" + }, + "_source": "git://github.com/dankogai/js-base64.git", + "_target": "~2.1.2", + "_direct": true +} \ No newline at end of file diff --git a/bower_components/js-base64/.gitignore b/bower_components/js-base64/.gitignore new file mode 100644 index 0000000..6000925 --- /dev/null +++ b/bower_components/js-base64/.gitignore @@ -0,0 +1,4 @@ +*,v +attic/**/* +node_modules/**/* +tmp/**/* diff --git a/bower_components/js-base64/.travis.yml b/bower_components/js-base64/.travis.yml new file mode 100644 index 0000000..85fc71b --- /dev/null +++ b/bower_components/js-base64/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +node_js: + - "0.10" + - "0.8" + diff --git a/bower_components/js-base64/README.md b/bower_components/js-base64/README.md new file mode 100644 index 0000000..d3039bf --- /dev/null +++ b/bower_components/js-base64/README.md @@ -0,0 +1,51 @@ +[![build status](https://secure.travis-ci.org/dankogai/js-base64.png)](http://travis-ci.org/dankogai/js-base64) + +# base64.js + +Yet another Base64 transcoder + +## Usage + +### In Browser +````html + +```` +### node.js +````javascript +var Base64 = require('./base64.js').Base64; +```` + + +## SYNOPSIS + +````javascript +Base64.encode('dankogai'); // ZGFua29nYWk= +Base64.encode('小飼弾'); // 5bCP6aO85by+ +Base64.encodeURI('小飼弾'); // 5bCP6aO85by- + +Base64.decode('ZGFua29nYWk='); // dankogai +Base64.decode('5bCP6aO85by+'); // 小飼弾 +// note .decodeURI() is unnecessary since it accepts both flavors +Base64.decode('5bCP6aO85by-'); // 小飼弾 +```` + +### String Extension for ES5 + +````javascript +if (Base64.extendString) { + // you have to explicitly extend String.prototype + Base64.extendString(); + // once extended, you can do the following + 'dankogai'.toBase64(); // ZGFua29nYWk= + '小飼弾'.toBase64(); // 5bCP6aO85by+ + '小飼弾'.toBase64(true); // 5bCP6aO85by- + '小飼弾'.toBase64URI(); // 5bCP6aO85by- + 'ZGFua29nYWk='.fromBase64(); // dankogai + '5bCP6aO85by+'.fromBase64(); // 小飼弾 + '5bCP6aO85by-'.fromBase64(); // 小飼弾 +} +```` + +## SEE ALSO + ++ http://en.wikipedia.org/wiki/Base64 diff --git a/bower_components/js-base64/base64.html b/bower_components/js-base64/base64.html new file mode 100644 index 0000000..64b56e0 --- /dev/null +++ b/bower_components/js-base64/base64.html @@ -0,0 +1,47 @@ + + + + + +Test for base64.js + + +

Test for base64.js

+

$Id: base64.html,v 1.1 2009/03/01 22:00:28 dankogai Exp dankogai $

+ + + + + + + + + + + +
TextBase64 +(URL Safe )
Roundtripiframe w/ data: (no IE)
+ + + + + + \ No newline at end of file diff --git a/bower_components/js-base64/base64.js b/bower_components/js-base64/base64.js new file mode 100644 index 0000000..44f5d2d --- /dev/null +++ b/bower_components/js-base64/base64.js @@ -0,0 +1,174 @@ +/* + * $Id: base64.js,v 2.12 2013/05/06 07:54:20 dankogai Exp dankogai $ + * + * Licensed under the MIT license. + * http://opensource.org/licenses/mit-license + * + * References: + * http://en.wikipedia.org/wiki/Base64 + */ + +(function(global) { + 'use strict'; + if (global.Base64) return; + var version = "2.1.2"; + // if node.js, we use Buffer + var buffer; + if (typeof module !== 'undefined' && module.exports) { + buffer = require('buffer').Buffer; + } + // constants + var b64chars + = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var b64tab = function(bin) { + var t = {}; + for (var i = 0, l = bin.length; i < l; i++) t[bin.charAt(i)] = i; + return t; + }(b64chars); + var fromCharCode = String.fromCharCode; + // encoder stuff + var cb_utob = function(c) { + if (c.length < 2) { + var cc = c.charCodeAt(0); + return cc < 0x80 ? c + : cc < 0x800 ? (fromCharCode(0xc0 | (cc >>> 6)) + + fromCharCode(0x80 | (cc & 0x3f))) + : (fromCharCode(0xe0 | ((cc >>> 12) & 0x0f)) + + fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) + + fromCharCode(0x80 | ( cc & 0x3f))); + } else { + var cc = 0x10000 + + (c.charCodeAt(0) - 0xD800) * 0x400 + + (c.charCodeAt(1) - 0xDC00); + return (fromCharCode(0xf0 | ((cc >>> 18) & 0x07)) + + fromCharCode(0x80 | ((cc >>> 12) & 0x3f)) + + fromCharCode(0x80 | ((cc >>> 6) & 0x3f)) + + fromCharCode(0x80 | ( cc & 0x3f))); + } + }; + var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; + var utob = function(u) { + return u.replace(re_utob, cb_utob); + }; + var cb_encode = function(ccc) { + var padlen = [0, 2, 1][ccc.length % 3], + ord = ccc.charCodeAt(0) << 16 + | ((ccc.length > 1 ? ccc.charCodeAt(1) : 0) << 8) + | ((ccc.length > 2 ? ccc.charCodeAt(2) : 0)), + chars = [ + b64chars.charAt( ord >>> 18), + b64chars.charAt((ord >>> 12) & 63), + padlen >= 2 ? '=' : b64chars.charAt((ord >>> 6) & 63), + padlen >= 1 ? '=' : b64chars.charAt(ord & 63) + ]; + return chars.join(''); + }; + var btoa = global.btoa || function(b) { + return b.replace(/[\s\S]{1,3}/g, cb_encode); + }; + var _encode = buffer + ? function (u) { return (new buffer(u)).toString('base64') } + : function (u) { return btoa(utob(u)) } + ; + var encode = function(u, urisafe) { + return !urisafe + ? _encode(u) + : _encode(u).replace(/[+\/]/g, function(m0) { + return m0 == '+' ? '-' : '_'; + }).replace(/=/g, ''); + }; + var encodeURI = function(u) { return encode(u, true) }; + // decoder stuff + var re_btou = new RegExp([ + '[\xC0-\xDF][\x80-\xBF]', + '[\xE0-\xEF][\x80-\xBF]{2}', + '[\xF0-\xF7][\x80-\xBF]{3}' + ].join('|'), 'g'); + var cb_btou = function(cccc) { + switch(cccc.length) { + case 4: + var cp = ((0x07 & cccc.charCodeAt(0)) << 18) + | ((0x3f & cccc.charCodeAt(1)) << 12) + | ((0x3f & cccc.charCodeAt(2)) << 6) + | (0x3f & cccc.charCodeAt(3)), + offset = cp - 0x10000; + return (fromCharCode((offset >>> 10) + 0xD800) + + fromCharCode((offset & 0x3FF) + 0xDC00)); + case 3: + return fromCharCode( + ((0x0f & cccc.charCodeAt(0)) << 12) + | ((0x3f & cccc.charCodeAt(1)) << 6) + | (0x3f & cccc.charCodeAt(2)) + ); + default: + return fromCharCode( + ((0x1f & cccc.charCodeAt(0)) << 6) + | (0x3f & cccc.charCodeAt(1)) + ); + } + }; + var btou = function(b) { + return b.replace(re_btou, cb_btou); + }; + var cb_decode = function(cccc) { + var len = cccc.length, + padlen = len % 4, + n = (len > 0 ? b64tab[cccc.charAt(0)] << 18 : 0) + | (len > 1 ? b64tab[cccc.charAt(1)] << 12 : 0) + | (len > 2 ? b64tab[cccc.charAt(2)] << 6 : 0) + | (len > 3 ? b64tab[cccc.charAt(3)] : 0), + chars = [ + fromCharCode( n >>> 16), + fromCharCode((n >>> 8) & 0xff), + fromCharCode( n & 0xff) + ]; + chars.length -= [0, 0, 2, 1][padlen]; + return chars.join(''); + }; + var atob = global.atob || function(a){ + return a.replace(/[\s\S]{1,4}/g, cb_decode); + }; + var _decode = buffer + ? function(a) { return (new buffer(a, 'base64')).toString() } + : function(a) { return btou(atob(a)) }; + var decode = function(a){ + return _decode( + a.replace(/[-_]/g, function(m0) { return m0 == '-' ? '+' : '/' }) + .replace(/[^A-Za-z0-9\+\/]/g, '') + ); + }; + // export Base64 + global.Base64 = { + VERSION: version, + atob: atob, + btoa: btoa, + fromBase64: decode, + toBase64: encode, + utob: utob, + encode: encode, + encodeURI: encodeURI, + btou: btou, + decode: decode + }; + // if ES5 is available, make Base64.extendString() available + if (typeof Object.defineProperty === 'function') { + var noEnum = function(v){ + return {value:v,enumerable:false,writable:true,configurable:true}; + }; + global.Base64.extendString = function () { + Object.defineProperty( + String.prototype, 'fromBase64', noEnum(function () { + return decode(this) + })); + Object.defineProperty( + String.prototype, 'toBase64', noEnum(function (urisafe) { + return encode(this, urisafe) + })); + Object.defineProperty( + String.prototype, 'toBase64URI', noEnum(function () { + return encode(this, true) + })); + }; + } + // that's it! +})(this); diff --git a/bower_components/js-base64/base64.min.js b/bower_components/js-base64/base64.min.js new file mode 100644 index 0000000..cfb026d --- /dev/null +++ b/bower_components/js-base64/base64.min.js @@ -0,0 +1 @@ +(function(global){"use strict";if(global.Base64)return;var version="2.1.2";var buffer;if(typeof module!=="undefined"&&module.exports){buffer=require("buffer").Buffer}var b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b64tab=function(bin){var t={};for(var i=0,l=bin.length;i>>6)+fromCharCode(128|cc&63):fromCharCode(224|cc>>>12&15)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return fromCharCode(240|cc>>>18&7)+fromCharCode(128|cc>>>12&63)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}};var re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;var utob=function(u){return u.replace(re_utob,cb_utob)};var cb_encode=function(ccc){var padlen=[0,2,1][ccc.length%3],ord=ccc.charCodeAt(0)<<16|(ccc.length>1?ccc.charCodeAt(1):0)<<8|(ccc.length>2?ccc.charCodeAt(2):0),chars=[b64chars.charAt(ord>>>18),b64chars.charAt(ord>>>12&63),padlen>=2?"=":b64chars.charAt(ord>>>6&63),padlen>=1?"=":b64chars.charAt(ord&63)];return chars.join("")};var btoa=global.btoa||function(b){return b.replace(/[\s\S]{1,3}/g,cb_encode)};var _encode=buffer?function(u){return new buffer(u).toString("base64")}:function(u){return btoa(utob(u))};var encode=function(u,urisafe){return!urisafe?_encode(u):_encode(u).replace(/[+\/]/g,function(m0){return m0=="+"?"-":"_"}).replace(/=/g,"")};var encodeURI=function(u){return encode(u,true)};var re_btou=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g");var cb_btou=function(cccc){switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset=cp-65536;return fromCharCode((offset>>>10)+55296)+fromCharCode((offset&1023)+56320);case 3:return fromCharCode((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return fromCharCode((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}};var btou=function(b){return b.replace(re_btou,cb_btou)};var cb_decode=function(cccc){var len=cccc.length,padlen=len%4,n=(len>0?b64tab[cccc.charAt(0)]<<18:0)|(len>1?b64tab[cccc.charAt(1)]<<12:0)|(len>2?b64tab[cccc.charAt(2)]<<6:0)|(len>3?b64tab[cccc.charAt(3)]:0),chars=[fromCharCode(n>>>16),fromCharCode(n>>>8&255),fromCharCode(n&255)];chars.length-=[0,0,2,1][padlen];return chars.join("")};var atob=global.atob||function(a){return a.replace(/[\s\S]{1,4}/g,cb_decode)};var _decode=buffer?function(a){return new buffer(a,"base64").toString()}:function(a){return btou(atob(a))};var decode=function(a){return _decode(a.replace(/[-_]/g,function(m0){return m0=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))};global.Base64={VERSION:version,atob:atob,btoa:btoa,fromBase64:decode,toBase64:encode,utob:utob,encode:encode,encodeURI:encodeURI,btou:btou,decode:decode};if(typeof Object.defineProperty==="function"){var noEnum=function(v){return{value:v,enumerable:false,writable:true,configurable:true}};global.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",noEnum(function(){return decode(this)}));Object.defineProperty(String.prototype,"toBase64",noEnum(function(urisafe){return encode(this,urisafe)}));Object.defineProperty(String.prototype,"toBase64URI",noEnum(function(){return encode(this,true)}))}}})(this); \ No newline at end of file diff --git a/bower_components/js-base64/bower.json b/bower_components/js-base64/bower.json new file mode 100644 index 0000000..4a69bf6 --- /dev/null +++ b/bower_components/js-base64/bower.json @@ -0,0 +1,13 @@ +{ + "name": "js-base64", + "version": "2.1.2", + "main": [ + "./base64.js" + ], + "ignore": [ + "old", + "test" + ], + "dependencies": { + } +} diff --git a/bower_components/js-base64/package.json b/bower_components/js-base64/package.json new file mode 100644 index 0000000..e7c7c31 --- /dev/null +++ b/bower_components/js-base64/package.json @@ -0,0 +1,26 @@ +{ + "name": "js-base64", + "version": "2.1.2", + "description": "Yet another Base64 transcoder in pure-JS", + "main": "base64.js", + "directories": { + "test": "test" + }, + "scripts": { + "test": "mocha" + }, + "devDependencies": { + "mocha": "*" + }, + "repository": { + "type": "git", + "url": "git://github.com/dankogai/js-base64.git" + }, + "keywords": [ + "base64" + ], + "author": "Dan Kogai", + "license": "BSD", + "readmeFilename": "README.md", + "gitHead": "8bfa436f733bec60c95c720e1d720c28b43ae0b2" +} diff --git a/bower_components/screenfull/.bower.json b/bower_components/screenfull/.bower.json deleted file mode 100644 index df6eb6c..0000000 --- a/bower_components/screenfull/.bower.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "screenfull", - "version": "1.0.4", - "description": "Simple wrapper for cross-browser usage of the Fullscreen API", - "main": "dist/screenfull.js", - "keywords": [ - "fullscreen" - ], - "homepage": "https://github.com/sindresorhus/screenfull.js", - "bugs": "https://github.com/sindresorhus/screenfull.js/issues", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "repository": { - "type": "git", - "url": "git@github.com:sindresorhus/screenfull.js.git" - }, - "licenses": [ - { - "type": "MIT" - } - ], - "_release": "1.0.4", - "_resolution": { - "type": "version", - "tag": "v1.0.4", - "commit": "b91a9498dab0b179e7c3b3358a170557703f3028" - }, - "_source": "git://github.com/sindresorhus/screenfull.js.git", - "_target": "~1.0.4" -} \ No newline at end of file diff --git a/bower_components/screenfull/.editorconfig b/bower_components/screenfull/.editorconfig deleted file mode 100644 index b0d7fd9..0000000 --- a/bower_components/screenfull/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# editorconfig.org -root = true - -[*] -indent_style = tab -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[*.md] -trim_trailing_whitespace = false diff --git a/bower_components/screenfull/.gitattributes b/bower_components/screenfull/.gitattributes deleted file mode 100644 index 176a458..0000000 --- a/bower_components/screenfull/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto diff --git a/bower_components/screenfull/.jshintrc b/bower_components/screenfull/.jshintrc deleted file mode 100644 index ec12b38..0000000 --- a/bower_components/screenfull/.jshintrc +++ /dev/null @@ -1,21 +0,0 @@ -{ - "node": true, - "browser": true, - "esnext": true, - "bitwise": true, - "camelcase": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "indent": 4, - "latedef": true, - "newcap": true, - "noarg": true, - "quotmark": "single", - "regexp": true, - "undef": true, - "unused": true, - "strict": true, - "trailing": true, - "smarttabs": true -} diff --git a/bower_components/screenfull/bower.json b/bower_components/screenfull/bower.json deleted file mode 100644 index ce602f7..0000000 --- a/bower_components/screenfull/bower.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "screenfull", - "version": "1.0.4", - "description": "Simple wrapper for cross-browser usage of the Fullscreen API", - "main": "dist/screenfull.js", - "keywords": [ - "fullscreen" - ], - "homepage": "https://github.com/sindresorhus/screenfull.js", - "bugs": "https://github.com/sindresorhus/screenfull.js/issues", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "http://sindresorhus.com" - }, - "repository": { - "type": "git", - "url": "git@github.com:sindresorhus/screenfull.js.git" - }, - "licenses": [{ - "type": "MIT" - }] -} diff --git a/bower_components/screenfull/dist/screenfull.js b/bower_components/screenfull/dist/screenfull.js deleted file mode 100644 index 9f43b90..0000000 --- a/bower_components/screenfull/dist/screenfull.js +++ /dev/null @@ -1,135 +0,0 @@ -/*! -* screenfull -* v1.0.4 - 2013-05-26 -* https://github.com/sindresorhus/screenfull.js -* (c) Sindre Sorhus; MIT License -*/ - -/*global Element */ -(function (window, document) { - 'use strict'; - - var keyboardAllowed = typeof Element !== 'undefined' && 'ALLOW_KEYBOARD_INPUT' in Element, // IE6 throws without typeof check - - fn = (function () { - var val, valLength; - var fnMap = [ - [ - 'requestFullscreen', - 'exitFullscreen', - 'fullscreenElement', - 'fullscreenEnabled', - 'fullscreenchange', - 'fullscreenerror' - ], - // new WebKit - [ - 'webkitRequestFullscreen', - 'webkitExitFullscreen', - 'webkitFullscreenElement', - 'webkitFullscreenEnabled', - 'webkitfullscreenchange', - 'webkitfullscreenerror' - - ], - // old WebKit (Safari 5.1) - [ - 'webkitRequestFullScreen', - 'webkitCancelFullScreen', - 'webkitCurrentFullScreenElement', - 'webkitCancelFullScreen', - 'webkitfullscreenchange', - 'webkitfullscreenerror' - - ], - [ - 'mozRequestFullScreen', - 'mozCancelFullScreen', - 'mozFullScreenElement', - 'mozFullScreenEnabled', - 'mozfullscreenchange', - 'mozfullscreenerror' - ] - ]; - var i = 0; - var l = fnMap.length; - var ret = {}; - - for (; i < l; i++) { - val = fnMap[i]; - if (val && val[1] in document) { - for (i = 0, valLength = val.length; i < valLength; i++) { - ret[fnMap[0][i]] = val[i]; - } - return ret; - } - } - return false; - })(), - - screenfull = { - request: function (elem) { - var request = fn.requestFullscreen; - - elem = elem || document.documentElement; - - // Work around Safari 5.1 bug: reports support for - // keyboard in fullscreen even though it doesn't. - // Browser sniffing, since the alternative with - // setTimeout is even worse. - if (/5\.1[\.\d]* Safari/.test(navigator.userAgent)) { - elem[request](); - } else { - elem[request](keyboardAllowed && Element.ALLOW_KEYBOARD_INPUT); - } - }, - exit: function () { - document[fn.exitFullscreen](); - }, - toggle: function (elem) { - if (this.isFullscreen) { - this.exit(); - } else { - this.request(elem); - } - }, - onchange: function () {}, - onerror: function () {}, - raw: fn - }; - - if (!fn) { - return window.screenfull = false; - } - - Object.defineProperties(screenfull, { - isFullscreen: { - get: function () { - return !!document[fn.fullscreenElement]; - } - }, - element: { - enumerable: true, - get: function () { - return document[fn.fullscreenElement]; - } - }, - enabled: { - enumerable: true, - get: function () { - // Coerce to boolean in case of old WebKit - return !!document[fn.fullscreenEnabled]; - } - } - }); - - document.addEventListener(fn.fullscreenchange, function (e) { - screenfull.onchange.call(screenfull, e); - }); - - document.addEventListener(fn.fullscreenerror, function (e) { - screenfull.onerror.call(screenfull, e); - }); - - window.screenfull = screenfull; -})(window, document); diff --git a/bower_components/screenfull/dist/screenfull.min.js b/bower_components/screenfull/dist/screenfull.min.js deleted file mode 100644 index 1c7619c..0000000 --- a/bower_components/screenfull/dist/screenfull.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/*! -* screenfull -* v1.0.4 - 2013-05-26 -* https://github.com/sindresorhus/screenfull.js -* (c) Sindre Sorhus; MIT License -*/ -(function(a,b){"use strict";var c="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,d=function(){for(var a,c,d=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"]],e=0,f=d.length,g={};f>e;e++)if(a=d[e],a&&a[1]in b){for(e=0,c=a.length;c>e;e++)g[d[0][e]]=a[e];return g}return!1}(),e={request:function(a){var e=d.requestFullscreen;a=a||b.documentElement,/5\.1[\.\d]* Safari/.test(navigator.userAgent)?a[e]():a[e](c&&Element.ALLOW_KEYBOARD_INPUT)},exit:function(){b[d.exitFullscreen]()},toggle:function(a){this.isFullscreen?this.exit():this.request(a)},onchange:function(){},onerror:function(){},raw:d};return d?(Object.defineProperties(e,{isFullscreen:{get:function(){return!!b[d.fullscreenElement]}},element:{enumerable:!0,get:function(){return b[d.fullscreenElement]}},enabled:{enumerable:!0,get:function(){return!!b[d.fullscreenEnabled]}}}),b.addEventListener(d.fullscreenchange,function(a){e.onchange.call(e,a)}),b.addEventListener(d.fullscreenerror,function(a){e.onerror.call(e,a)}),a.screenfull=e,void 0):a.screenfull=!1})(window,document); diff --git a/bower_components/screenfull/grunt.js b/bower_components/screenfull/grunt.js deleted file mode 100644 index 87a251a..0000000 --- a/bower_components/screenfull/grunt.js +++ /dev/null @@ -1,61 +0,0 @@ -module.exports = function(grunt) { - 'use strict'; - - grunt.initConfig({ - pkg: '', - meta: { - banner: '/*!\n' + - '* <%= pkg.name %>\n' + - '* v<%= pkg.version %> - ' + - '<%= grunt.template.today("yyyy-mm-dd") %>\n' + - '<%= pkg.homepage ? "* " + pkg.homepage + "\n" : "" %>' + - '* (c) <%= pkg.author.name %>;' + - ' <%= _.pluck(pkg.licenses, "type").join(", ") %> License\n' + - '*/' - }, - concat: { - dist: { - src: [ - '', - 'src/screenfull.js' - ], - dest: 'dist/screenfull.js' - } - }, - min: { - dist: { - src: [ - '', - 'src/screenfull.js' - ], - dest: 'dist/screenfull.min.js' - } - }, - lint: { - files: 'src/screenfull.js' - }, - jshint: { - options: { - es5: true, - esnext: true, - bitwise: true, - curly: true, - eqeqeq: true, - latedef: true, - newcap: true, - noarg: true, - noempty: true, - regexp: true, - undef: true, - strict: true, - trailing: true, - smarttabs: true, - browser: true, - nonstandard: true - } - } - }); - - grunt.registerTask('default', 'lint'); - grunt.registerTask('release', 'lint concat min'); -}; diff --git a/bower_components/screenfull/index.html b/bower_components/screenfull/index.html deleted file mode 100644 index 2654a5b..0000000 --- a/bower_components/screenfull/index.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - - - - - - - - screenfull.js demo - - - - - ⬅ Back to the repo -
- -
-
-
-
-

screenfull.js

-

Simple wrapper for cross-browser usage of the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have too.

-
-
-
-

Try out the Fullscreen API

- - - - -
-
-
    -
  • -
  • -
  • -
-
- -
-
-

How to open external pages while in fullscreen

- -
-
-
-

Click the image to make it fullscreen

- -
-
-
-

Click the video to make it fullscreen

- - Press Esc to exit -

Video by Joe Capra

-
-
- - - - - - - - diff --git a/bower_components/screenfull/readme.md b/bower_components/screenfull/readme.md deleted file mode 100644 index 0baa09f..0000000 --- a/bower_components/screenfull/readme.md +++ /dev/null @@ -1,200 +0,0 @@ -# screenfull.js - -Simple wrapper for cross-browser usage of the JavaScript [Fullscreen API](https://developer.mozilla.org/en/DOM/Using_full-screen_mode), which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have too. - - -### [Demo](http://sindresorhus.com/screenfull.js) - - -## Download - -Only 0.7 KB gzipped (1.6 KB minified) - -Download the [production version][min] or the [development version][max]. - -[min]: https://github.com/sindresorhus/screenfull.js/raw/gh-pages/dist/screenfull.min.js -[max]: https://github.com/sindresorhus/screenfull.js/raw/gh-pages/dist/screenfull.js - - -## Why? - -### Screenfull - -```javascript -if (screenfull.enabled) { - screenfull.request(); -} -``` - -### Vanilla JavaScript - -```javascript -document.fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.documentElement.webkitRequestFullScreen; - -function requestFullscreen(element) { - if (element.requestFullscreen) { - element.requestFullscreen(); - } else if (element.mozRequestFullScreen) { - element.mozRequestFullScreen(); - } else if (element.webkitRequestFullScreen) { - element.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); - } -} - -if (document.fullscreenEnabled) { - requestFullscreen(document.documentElement); -} - -// Actually it's more if you want it to work in Safari, but let's not go there... -``` - - -## Support - -[Supported browsers](http://caniuse.com/fullscreen) - -Safari 5.1 doesn't support use of the keyboard in fullscreen. - - -## Documentation - - -### Examples - - -#### Fullscreen the page - -```javascript -document.getElementById('button').addEventListener('click', function() { - if (screenfull.enabled) { - screenfull.request(); - } else { - // Ignore or do something else - } -}); -``` - - -#### Fullscreen an element - -```javascript -var elem = document.getElementById('target'); -document.getElementById('button').addEventListener('click', function() { - if (screenfull.enabled) { - screenfull.request(elem); - } -}); -``` - - -#### Fullscreen an element with jQuery - -```javascript -var target = $('#target')[0]; // Get DOM element from jQuery collection -$('#button').click(function() { - if (screenfull.enabled) { - screenfull.request(target); - } -}); -``` - - -#### Toggle fullscreen on a image with jQuery - -```javascript -$('img').click(function() { - if (screenfull.enabled) { - // We can use `this` since we want the clicked element - screenfull.toggle(this); - } -}); -``` - - -#### Detect fullscreen change - -```javascript -if (screenfull.enabled) { - screenfull.onchange = function() { - console.log('Am I fullscreen? ' + screenfull.isFullscreen ? 'Yes' : 'No'); - }; -} -``` - -See the [demo](http://sindresorhus.com/screenfull.js) for more examples, and view the source. - -You can check for fullscreen support by checking the truthy/falsy value of `screenfull` as done in the example above. - - -### Methods - -#### .request() - -Make an element fullscreen. - -Accepts a DOM element. Default is ``. If called with another element than the currently active, it will switch to that if it's a decendant. - -If your page is inside an `