Skip to content

Commit

Permalink
test suite. create polyfill.js. kill off legacy output.html.
Browse files Browse the repository at this point in the history
  • Loading branch information
paulirish committed May 25, 2011
1 parent 6548210 commit 549f581
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 161 deletions.
114 changes: 4 additions & 110 deletions output.html
Original file line number Diff line number Diff line change
@@ -1,106 +1,10 @@
<!DOCTYPE html>
<html lang="en" dir="ltr" class="no-js">
<head>
<!-- <meta http-equiv="X-UA-Compatible" content="IE=7" > -->
<title>Modernizr Test Suite</title>
<style media="screen">
body {
font: 16px/20px Inconsolata, Consolas, monospace;
-moz-column-count: 2; -webkit-column-count: 2; column-count: 2;
}
li {
color: #900;
}
li.yes {
color: #090;
}
li b {
color: #000;
}
</style>



<script>
// window.localStorage && document.write('localStorage.getItem("modernizr1.2") is: ' + (!!localStorage.getItem('modernizr1.2') ? 'PRESENT' : 'EMPTY') + '<br>');

var start = +new Date();
</script>
<!--
<script src="http://code.jquery.com/jquery-nightly.js"></script>
-->
<script src="modernizr.js"></script>



</head>

<body id="home">



<script>
// callback for the fontface detect
window.Modernizr && Modernizr._fontfaceready && Modernizr._fontfaceready(function(bool){
var elem = document.getElementById('fontface');

if (!elem) return;
elem.className = (bool ? 'yes' : '');
elem.innerHTML = 'fontface :' + Modernizr['fontface'];
elem.style.fontWeight = 'bold';
});


document.write(/*'At '+ (+new Date()) + */' Modernizr took: '+ ((+new Date()) - start) + 'ms');

/*
Modernizr.addTest('datauri',function(){
var data = new Image();
var is1px = function(){
return data.width == 1 && data.height == 1;
}
data.onload = data.onerror = function(){
Modernizr.datauri = is1px();
}
data.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
Modernizr.datauri = is1px();
});
*/
</script>

<h1>Modernizr</h1>

<a href="./test/index.html">View Test Suite</a>

<ol >
<script>
(function(){
if (!window.Modernizr) {
document.write('Modernizr object not created.');
return;
}

// window.localStorage && document.write('localStorage.getItem(modernizr'+Modernizr._version+') == ' + localStorage.getItem('modernizr'+Modernizr._version) + '<br>');

for (var prop in Modernizr) {
if (typeof Modernizr[prop] === 'function') continue;
if (prop == 'inputtypes' || prop == 'input') {
document.write('<li><b>'+prop+'{}</b><ul>');
for (var field in Modernizr[prop]) {
document.write('<li class="' + (Modernizr[prop][field] ? 'yes' : '') + '">' + field + ': ' + Modernizr[prop][field] + '</li>');
}
document.write('</ul></li>');
} else {
document.write('<li id="'+prop+'" class="' + (Modernizr[prop] ? 'yes' : '') + '">' + prop + ': ' + Modernizr[prop] + '</li>');
}
}

<html>
<meta http-equiv="refresh" content="0;url=./test/index.html">

})();

<a href="./test/index.html" style="font-size: 80px">this page deprecated.. go to the Test Suite</a>

<script type="dont/run/this">


function _bBeaconComplete(data){
Expand Down Expand Up @@ -135,13 +39,3 @@ <h1>Modernizr</h1>


</script>
</ol>


<script>
document.write('<p> HTML element className = ' + document.documentElement.className + '</p>');
</script>


</body>
</html>
1 change: 1 addition & 0 deletions test/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
</style>

<script src="../modernizr.js"></script>
<script src="js/polyfills.js"></script>
<script src="js/detect-global.js"></script>

<script src="qunit/qunit.js"></script>
Expand Down
77 changes: 77 additions & 0 deletions test/js/polyfills.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@

// Array.prototype.indexOf polyfill
if (!Array.prototype.indexOf){
Array.prototype.indexOf = function(searchElement /*, fromIndex */)
{
"use strict";

if (this === void 0 || this === null)
throw new TypeError();

var t = Object(this);
var len = t.length >>> 0;
if (len === 0)
return -1;

var n = 0;
if (arguments.length > 0)
{
n = Number(arguments[1]);
if (n !== n) // shortcut for verifying if it's NaN
n = 0;
else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0))
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}

if (n >= len)
return -1;

var k = n >= 0
? n
: Math.max(len - Math.abs(n), 0);

for (; k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
return -1;
};
}


// Object.keys()
if (!Object.keys) Object.keys = function(o){
if (o !== Object(o)) throw new TypeError('Object.keys called on non-object');
var ret=[], p;
for (p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
};



if (!Array.prototype.map)
{
Array.prototype.map = function(fun /*, thisp */)
{
"use strict";

if (this === void 0 || this === null)
throw new TypeError();

var t = Object(this);
var len = t.length >>> 0;
if (typeof fun !== "function")
throw new TypeError();

var res = new Array(len);
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in t)
res[i] = fun.call(thisp, t[i], i, t);
}

return res;
};
}
51 changes: 0 additions & 51 deletions test/js/test-setup.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@


// test helper object
window.TEST = {
// note some unique members of the Modernizr object
Expand Down Expand Up @@ -30,53 +29,3 @@ window.TEST = {
}
};


// Object.keys()
if (!Object.keys) Object.keys = function(o){
if (o !== Object(o)) throw new TypeError('Object.keys called on non-object');
var ret=[], p;
for (p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
};


// Array.prototype.indexOf
if (!Array.prototype.indexOf){
Array.prototype.indexOf = function(searchElement /*, fromIndex */)
{
"use strict";

if (this === void 0 || this === null)
throw new TypeError();

var t = Object(this);
var len = t.length >>> 0;
if (len === 0)
return -1;

var n = 0;
if (arguments.length > 0)
{
n = Number(arguments[1]);
if (n !== n) // shortcut for verifying if it's NaN
n = 0;
else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0))
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}

if (n >= len)
return -1;

var k = n >= 0
? n
: Math.max(len - Math.abs(n), 0);

for (; k < len; k++)
{
if (k in t && t[k] === searchElement)
return k;
}
return -1;
};
}

0 comments on commit 549f581

Please sign in to comment.