1
function dumpModernizr(){
3
dumpModernizr.old = dumpModernizr.old || {};
5
for (var prop in Modernizr) {
7
// skip previously done ones.
8
if (dumpModernizr.old[prop]) continue;
9
else dumpModernizr.old[prop] = true;
11
if (typeof Modernizr[prop] === 'function') continue;
12
// skip unit test items
13
if (/^test/.test(prop)) continue;
15
if (~TEST.inputs.indexOf(prop)) {
16
str += '<li><b>'+prop+'{}</b><ul>';
17
for (var field in Modernizr[prop]) {
18
str += '<li class="' + (Modernizr[prop][field] ? 'yes' : '') + '">' + field + ': ' + Modernizr[prop][field] + '</li>';
22
str += '<li id="'+prop+'" class="' + (Modernizr[prop] ? 'yes' : '') + '">' + prop + ': ' + Modernizr[prop] + '</li>';
29
function grabFeatDetects(){
31
$.getScript('https://api.github.com/repos/Modernizr/Modernizr/git/trees/master?recursive=1&callback=processTree');
35
function processTree(data){
38
for (var i = 0; i < data.data.tree.length; i++){
39
var file = data.data.tree[i];
40
var match = file.path.match(/^feature-detects\/(.*)/);
43
var relpath = location.host == "modernizr.github.com" ?
44
'../modernizr-git/' : '../';
46
filenames.push(relpath + match[0]);
49
var jqxhrs = filenames.map(function(filename){
50
return jQuery.getScript(filename);
53
jQuery.when.apply(jQuery, jqxhrs).done(resultsToDOM);
57
function resultsToDOM(){
59
var modOutput = document.createElement('div'),
60
ref = document.getElementById('qunit-testresult') || document.getElementById('qunit-tests');
62
modOutput.className = 'output';
63
modOutput.innerHTML = dumpModernizr();
65
ref.parentNode.insertBefore(modOutput, ref);
67
// Modernizr object as text
68
document.getElementsByTagName('textarea')[0].innerHTML = JSON.stringify(Modernizr);
72
/* uno */ resultsToDOM();
73
/* dos */ grabFeatDetects();
74
/* tres */ setTimeout(resultsToDOM, 5e3);
75
/* quatro */ setTimeout(resultsToDOM, 15e3);