mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
67 lines
1.8 KiB
JavaScript
67 lines
1.8 KiB
JavaScript
|
var fs = require('fs');
|
||
|
var wd = require('wd');
|
||
|
var path = require('path');
|
||
|
var Promise = require('bluebird');
|
||
|
var _ = require('lodash');
|
||
|
|
||
|
Promise.promisifyAll(fs);
|
||
|
|
||
|
var colors = {
|
||
|
red: "\x1b[1;31m",
|
||
|
blue: "\x1b[1;36m",
|
||
|
violet: "\x1b[0;35m",
|
||
|
green: "\x1b[0;32m",
|
||
|
clear: "\x1b[0m"
|
||
|
};
|
||
|
|
||
|
function isHtmlFile(filename) {
|
||
|
return path.extname(filename) === '.html';
|
||
|
}
|
||
|
|
||
|
function getTests(path) {
|
||
|
return fs.readdirAsync(path).map(function(name) {
|
||
|
var filename = path + "/" + name;
|
||
|
return fs.statAsync(filename).then(function(stat) {
|
||
|
return stat.isDirectory() ? getTests(filename) : filename;
|
||
|
});
|
||
|
}).then(function(t) {
|
||
|
return _.flatten(t).filter(isHtmlFile);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function initBrowser(settings) {
|
||
|
var browser = wd.remote({
|
||
|
hostname: 'localhost',
|
||
|
port: 4445,
|
||
|
user: process.env.SAUCE_USERNAME,
|
||
|
pwd: process.env.SAUCE_ACCESS_KEY
|
||
|
}, 'promiseChain');
|
||
|
|
||
|
if (process.env.TRAVIS_JOB_NUMBER) {
|
||
|
settings["tunnel-identifier"] = process.env.TRAVIS_JOB_NUMBER;
|
||
|
settings["name"] = process.env.TRAVIS_COMMIT.substring(0, 10);
|
||
|
settings["build"] = process.env.TRAVIS_BUILD_NUMBER;
|
||
|
} else {
|
||
|
settings["name"] = "Manual run";
|
||
|
}
|
||
|
|
||
|
return browser.resolve(Promise).init(settings).then(function(b) {
|
||
|
return Promise.resolve(b).disposer(function() {
|
||
|
return browser.quit();
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function loadTestPage(browser, test, port) {
|
||
|
return function(settings) {
|
||
|
return browser.get("http://localhost:" + port + "/" + test + "?selenium").then(function() {
|
||
|
return settings;
|
||
|
});
|
||
|
};
|
||
|
}
|
||
|
|
||
|
module.exports.colors = colors;
|
||
|
module.exports.getTests = getTests;
|
||
|
module.exports.initBrowser = initBrowser;
|
||
|
module.exports.loadTestPage = loadTestPage;
|