test: test setup

This commit is contained in:
Yvonne Yip
2013-04-04 12:36:15 -07:00
parent b436bd01ef
commit d0f34366b0
6 changed files with 101 additions and 5 deletions
+84
View File
@@ -0,0 +1,84 @@
// Sample Karma configuration file, that contain pretty much all the available options
// It's used for running client tests on Travis (http://travis-ci.org/#!/karma-runner/karma)
// Most of the options can be overriden by cli arguments (see karma --help)
//
// For all available config options and default values, see:
// https://github.com/karma-runner/karma/blob/stable/lib/config.js#L54
// base path, that will be used to resolve files and exclude
basePath = '../';
// list of files / patterns to load in the browser
files = [
MOCHA,
MOCHA_ADAPTER,
'conf/mocha.conf.js',
'node_modules/chai/chai.js',
'platform/platform.js',
'toolkit.js',
'test/*.js',
{pattern: 'platform/**/*', included: false},
{pattern: 'src/*.js', included: false}
];
// list of files to exclude
exclude = [];
// use dots reporter, as travis terminal does not support escaping sequences
// possible values: 'dots', 'progress', 'junit', 'teamcity'
// CLI --reporters progress
reporters = ['progress'];
// web server port
// CLI --port 9876
port = 9876;
// cli runner port
// CLI --runner-port 9100
runnerPort = 9100;
// enable / disable colors in the output (reporters and logs)
// CLI --colors --no-colors
colors = true;
// level of logging
// possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
// CLI --log-level debug
logLevel = LOG_INFO;
// enable / disable watching file and executing tests whenever any file changes
// CLI --auto-watch --no-auto-watch
autoWatch = true;
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera
// - Safari (only Mac)
// - PhantomJS
// - IE (only Windows)
// CLI --browsers Chrome,Firefox,Safari
browsers = ['Chrome', 'ChromeCanary', 'Firefox']
// If browser does not capture in given timeout [ms], kill it
// CLI --capture-timeout 5000
captureTimeout = 5000;
// Auto run tests on start (when browsers are captured) and exit
// CLI --single-run --no-single-run
singleRun = true;
// report which specs are slower than 500ms
// CLI --report-slower-than 500
reportSlowerThan = 500;
// compile coffee scripts
preprocessors = {
};
plugins = [
'karma-chrome-launcher',
'karma-firefox-launcher'
]
+1
View File
@@ -0,0 +1 @@
mocha.setup({ui:'tdd'});
+8
View File
@@ -19,6 +19,12 @@ module.exports = function(grunt) {
'src/boot.js'
];
grunt.initConfig({
karma: {
toolkit: {
configFile: 'conf/karma.conf.js',
keepalive: true
}
},
uglify: {
Toolkit: {
options: {
@@ -50,10 +56,12 @@ module.exports = function(grunt) {
// plugins
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-yuidoc');
grunt.loadNpmTasks('grunt-karma');
// tasks
grunt.registerTask('default', ['uglify']);
grunt.registerTask('minify', ['uglify']);
grunt.registerTask('docs', ['yuidoc']);
grunt.registerTask('test', ['karma']);
};
+3 -2
View File
@@ -4,8 +4,9 @@
"devDependencies": {
"grunt": "*",
"grunt-contrib-uglify": "*",
"grunt-contrib-yuidoc": "~0.4.0",
"grunt-karma": "*",
"mocha": "*",
"chai": "*",
"grunt-contrib-yuidoc": "~0.4.0"
"chai": "*"
}
}
+4 -2
View File
@@ -19,9 +19,11 @@ var attributes={}, base = '';
var s$ = document.querySelectorAll('script[src]');
Array.prototype.forEach.call(s$, function(s) {
var src = s.getAttribute('src');
if (src.slice(-thisFile.length) === thisFile) {
var re = new RegExp(thisFile + '[^\\\\]*');
var match = src.match(re);
if (match) {
attributes = s.attributes;
base = src.slice(0, -thisFile.length);
base = src.slice(0, -match[0].length);
}
});
})();