123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- function dumpModernizr(){
- var str = '';
- dumpModernizr.old = dumpModernizr.old || {};
- for (var prop in Modernizr) {
- // skip previously done ones.
- if (dumpModernizr.old[prop]) continue;
- else dumpModernizr.old[prop] = true;
- if (typeof Modernizr[prop] === 'function') continue;
- // skip unit test items
- if (/^test/.test(prop)) continue;
- if (~TEST.inputs.indexOf(prop)) {
- str += '<li><b>'+prop+'{}</b><ul>';
- for (var field in Modernizr[prop]) {
- str += '<li class="' + (Modernizr[prop][field] ? 'yes' : '') + '">' + field + ': ' + Modernizr[prop][field] + '</li>';
- }
- str += '</ul></li>';
- } else {
- str += '<li id="'+prop+'" class="' + (Modernizr[prop] ? 'yes' : '') + '">' + prop + ': ' + Modernizr[prop] + '</li>';
- }
- }
- return str;
- }
- function grabFeatDetects(){
- // thx github.js
- $.getScript('https://api.github.com/repos/Modernizr/Modernizr/git/trees/master?recursive=1&callback=processTree');
- }
- function processTree(data){
- var filenames = [];
- for (var i = 0; i < data.data.tree.length; i++){
- var file = data.data.tree[i];
- var match = file.path.match(/^feature-detects\/(.*)/);
- if (!match) continue;
- var relpath = location.host == "modernizr.github.com" ?
- '../modernizr-git/' : '../';
- filenames.push(relpath + match[0]);
- }
- var jqxhrs = filenames.map(function(filename){
- return jQuery.getScript(filename);
- });
- jQuery.when.apply(jQuery, jqxhrs).done(resultsToDOM);
- }
- function resultsToDOM(){
- var modOutput = document.createElement('div'),
- ref = document.getElementById('qunit-testresult') || document.getElementById('qunit-tests');
- modOutput.className = 'output';
- modOutput.innerHTML = dumpModernizr();
- ref.parentNode.insertBefore(modOutput, ref);
- // Modernizr object as text
- document.getElementsByTagName('textarea')[0].innerHTML = JSON.stringify(Modernizr);
- }
- /* uno */ resultsToDOM();
- /* dos */ grabFeatDetects();
- /* tres */ setTimeout(resultsToDOM, 5e3);
- /* quatro */ setTimeout(resultsToDOM, 15e3);
|