Ejemplo n.º 1
0
function parseArgs() {
    var args = require('system').args;
    var parsedArgs = {}, parts;
    for (var i=1; i<args.length; ++i) {
        var pair = args[i].split(' ');
        switch(pair[0]) {
        case '--url':
            parsedArgs.url = pair[1];
            break;

        case '--out':
            parsedArgs.out = pair[1];
            break;

        case '--crop':
            parts = pair[1].split('x');
            parsedArgs.crop = {
                top: parseInt(parts[0], 10),
                left: parseInt(parts[1], 10),
                width: parseInt(parts[2], 10),
                height: parseInt(parts[3], 10),
                cropToPage: parts[4] === 'true'
            };
            break;

        case '--viewport':
            parts = pair[1].split('x');
            parsedArgs.viewportSize = {
                width: parseInt(parts[0], 10),
                height: parseInt(parts[1], 10)
            };
            break;

        case '--timeout':
            parsedArgs.timeout = parseInt(pair[1]);
            break;

        case '--delay':
            parsedArgs.delay = parseInt(pair[1], 10);
            break;

        default:
            console.error('Unknown arg: ' + args[i]);
            phantom.exit(ERROR_CODES.badArg);
        }
    }
    return parsedArgs;
}
/*global phantom*/

var page = require('webpage').create(),
    args = require('system').args,
    optionsArg = '--tests=',
    options = '';

// Parse command line options
for (var i = 0; i < args.length; i++) {
    if (args[i].indexOf(optionsArg) === 0) {
        var o = args[i].substr(optionsArg.length);
        options = o.indexOf('-') === 0 ? o.substr(1) : o;
    }
}

page.open('http://modernizr.com/download/#-generate-' + options, function () {
    console.log(page.evaluate(function () {
        return document.getElementById('generatedSource').value;
    }));
    
    phantom.exit();
});