refactor: simplify and make tests work in JS and Dart
* remove `wraps` syntax enhancements for imports and support new `import * as module from ...` syntax - default imports are the wrong construct for importing everything from a module * moved tests from transpiler to jasmine and karma - transpiler tests are included when running karma in main project folder - transpiler is reloaded after every test run in karma, so no need to restart karma when the transpiler has been changed. - removed own gulp build for transpiler and `postinstall.sh` as they are no more needed. - transpiler tests are now executed in Dart AND JavaScript (used to be executed only in Dart), which allowed to catch some bugs (see the bug with the import specification above). * made tests work in dart as well by using the following hack: - dependencies are loaded from the `build` folder, which makes running `gulp build` necessary before running karma for dart - for this to work, the dependencies are included in main `pubspec.yaml` of project - reason for the hack: `karma-dart` loads all `packages` urls directly from disc (should rather use the karma file list) * added explicit annotations `FIELD`, `ABSTRACT`, ... to `facade/lang.*` - needed for now that we can run tests and don't get errors for undefined annotations. * added `README.md` with details about the build and tests
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
// Karma configuration
|
||||
// Generated on Thu Sep 25 2014 11:52:02 GMT-0700 (PDT)
|
||||
var file2moduleName = require('./file2modulename');
|
||||
|
||||
module.exports = function(config) {
|
||||
config.set({
|
||||
@ -8,16 +9,20 @@ module.exports = function(config) {
|
||||
|
||||
files: [
|
||||
'node_modules/traceur/bin/traceur-runtime.js',
|
||||
'./karma-mock-annotations.js',
|
||||
'modules/**/test_lib/**/*.es6',
|
||||
'modules/**/*.js',
|
||||
'modules/**/*.es6',
|
||||
'tools/transpiler/spec/**/*.js',
|
||||
'tools/transpiler/spec/**/*.es6',
|
||||
'file2modulename.js',
|
||||
'test-main.js'
|
||||
],
|
||||
|
||||
preprocessors: {
|
||||
'modules/**/*.js': ['traceur'],
|
||||
'modules/**/*.es6': ['traceur']
|
||||
'modules/**/*.es6': ['traceur'],
|
||||
'tools/transpiler/**/*.js': ['traceur'],
|
||||
'tools/transpiler/**/*.es6': ['traceur'],
|
||||
},
|
||||
|
||||
traceurPreprocessor: {
|
||||
@ -30,13 +35,7 @@ module.exports = function(config) {
|
||||
typeAssertionModule: 'rtts_assert/rtts_assert',
|
||||
annotations: true
|
||||
},
|
||||
resolveModuleName: function(fileName) {
|
||||
var moduleName = fileName
|
||||
.replace(/.*\/modules\//, '')
|
||||
.replace(/\/src\//, '/')
|
||||
.replace(/\/test\//, '/');
|
||||
return moduleName;
|
||||
},
|
||||
resolveModuleName: file2moduleName,
|
||||
transformPath: function(fileName) {
|
||||
return fileName.replace('.es6', '');
|
||||
}
|
||||
|
Reference in New Issue
Block a user