Skip to content
This repository has been archived by the owner on Mar 23, 2023. It is now read-only.

Commit

Permalink
Install bower dependencies & generate instrumented library only when …
Browse files Browse the repository at this point in the history
…doing tests

Change-Id: I44936ee271320864b6ed0d02801bfded2dc85e01
  • Loading branch information
piranna committed Feb 19, 2015
1 parent bc06e18 commit b550365
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 31 deletions.
9 changes: 6 additions & 3 deletions Gruntfile.js
Expand Up @@ -172,12 +172,15 @@ module.exports = function(grunt)
// Load plugins
grunt.loadNpmTasks('grunt-browserify');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks("grunt-jscoverage");
grunt.loadNpmTasks('grunt-jscoverage');
grunt.loadNpmTasks('grunt-jsdoc');
grunt.loadNpmTasks('grunt-npm2bower-sync');
grunt.loadNpmTasks('grunt-shell');

// Alias tasks
grunt.registerTask('default', ['clean', 'jsdoc', 'jscoverage', 'browserify']);
grunt.registerTask('bower', ['sync:bower', 'shell:bower']);
grunt.registerTask('default', ['clean', 'jsdoc', 'browserify']);

grunt.registerTask('bower', ['sync:bower', 'shell:bower']);
grunt.registerTask('coverage', ['clean:coverage', 'jscoverage',
'browserify:coverage']);
};
64 changes: 36 additions & 28 deletions scripts/test
@@ -1,11 +1,14 @@
#!/usr/bin/env node

var http = require('http')
var outputFile = require('fs-extra').outputFile
var http = require('http')

var elementIsVisible = require('selenium-webdriver').until.elementIsVisible
var Driver = require('selenium-webdriver/firefox').Driver
var Server = require('node-static').Server

var install = require('bower').commands.install
var outputFile = require('fs-extra').outputFile
var Server = require('node-static').Server
var tasks = require('grunt').tasks


const package_name = require('../package.json').name
Expand All @@ -26,38 +29,43 @@ function writeReport(type, data)
});
}

function waitReport(driver, id)
{
var elem = driver.findElement({id: id})

driver
.wait(elementIsVisible(elem), 20000)
.then(elem.getAttribute.bind(elem, 'value'))
.then(writeReport.bind(undefined, id))
}

var file = new Server();

var server = http.createServer(function(request, response)
install([], undefined, {cwd: 'test'}).on('end', function(installed)
{
request.addListener('end', function()
installed = Object.keys(installed)

if(installed.length)
console.log('Installed:',installed.join(', '));

tasks('coverage', {}, function()
{
file.serve(request, response);
}).resume();
}).listen(PORT);
var file = new Server();

var server = http.createServer(function(request, response)
{
var listener = file.serve.bind(file, request, response)

var driver = new Driver()
request.addListener('end', listener).resume()
}).listen(PORT);

driver.get('http://localhost:'+PORT+'/test/index.html')

var junit = driver.findElement({id: 'junit'})
var lcov = driver.findElement({id: 'lcov'})
var driver = new Driver()

driver.wait(elementIsVisible(junit), 20000)
.then(function()
{
junit.getAttribute('value').then(writeReport.bind(undefined, 'xml'))
})
driver.wait(elementIsVisible(lcov), 20000)
.then(function()
{
lcov.getAttribute('value').then(writeReport.bind(undefined, 'lcov'))
})
driver.get('http://localhost:'+PORT+'/test/index.html')

driver.quit()
.then(function()
{
server.close()
})
waitReport(driver, 'junit')
waitReport(driver, 'lcov')

driver.quit().then(server.close.bind(server))
})
});

0 comments on commit b550365

Please sign in to comment.