Skip to content

Commit 1d4ff9b

Browse files
committed
feat(compiler): parse5 DOM adapter
Closes angular#841
1 parent 537f943 commit 1d4ff9b

File tree

13 files changed

+634
-127
lines changed

13 files changed

+634
-127
lines changed

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ If you don't already have `npm`, get it by installing [node.js](http://nodejs.or
4545

4646
### Unit tests
4747

48-
1. `gulp test.unit.js`: JS tests
49-
2. `gulp test.unit.dart`: Dart tests
48+
1. `gulp test.unit.js`: JS tests in a browser
49+
2. `gulp test.unit.cjs`: JS tests in NodeJS (requires a build before)
50+
3. `gulp test.unit.dart`: Dart tests
5051

5152
Notes for transpiler tests:
5253

gulpfile.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ var karma = require('karma').server;
1919
var minimist = require('minimist');
2020
var es5build = require('./tools/build/es5build');
2121
var runServerDartTests = require('./tools/build/run_server_dart_tests');
22+
var transformCJSTests = require('./tools/build/transformCJSTests');
2223
var util = require('./tools/build/util');
2324

2425
var DART_SDK = require('./tools/build/dartdetect')(gulp);
@@ -299,12 +300,15 @@ gulp.task('build/transpile.js.prod', function(done) {
299300
});
300301

301302
gulp.task('build/transpile.js.cjs', transpile(gulp, gulpPlugins, {
302-
src: CONFIG.transpile.src.js,
303+
src: CONFIG.transpile.src.js.concat(['modules/**/*.cjs']),
303304
dest: CONFIG.dest.js.cjs,
304305
outputExt: 'js',
305306
options: CONFIG.transpile.options.js.cjs,
306307
srcFolderInsertion: CONFIG.srcFolderInsertion.js
307308
}));
309+
gulp.task('build/transformCJSTests', function() {
310+
return gulp.src(CONFIG.dest.js.cjs + '/angular2/test/**/*_spec.js').pipe(transformCJSTests()).pipe(gulp.dest(CONFIG.dest.js.cjs + '/angular2/test/'));
311+
});
308312

309313
gulp.task('build/transpile.dart', transpile(gulp, gulpPlugins, {
310314
src: CONFIG.transpile.src.dart,
@@ -548,6 +552,9 @@ gulp.task('test.unit.dart/ci', function (done) {
548552
karma.start({configFile: __dirname + '/karma-dart.conf.js',
549553
singleRun: true, reporters: ['dots'], browsers: getBrowsersFromCLI()}, done);
550554
});
555+
gulp.task('test.unit.cjs', function (done) {
556+
return gulp.src(CONFIG.dest.js.cjs + '/angular2/test/core/compiler/**/*_spec.js').pipe(jasmine({verbose: true, includeStackTrace: true}));
557+
});
551558

552559
// ------------------
553560
// server tests
@@ -616,6 +623,7 @@ gulp.task('build.js.cjs', function(done) {
616623
runSequence(
617624
['build/transpile.js.cjs', 'build/copy.js.cjs', 'build/multicopy.js.cjs'],
618625
['build/linknodemodules.js.cjs'],
626+
'build/transformCJSTests',
619627
done
620628
);
621629
});

modules/angular2/src/core/compiler/pipeline/element_binder_builder.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,9 @@ export class ElementBinderBuilder extends CompileStep {
184184
} else {
185185
property = this._resolvePropertyName(property);
186186
//TODO(pk): special casing innerHtml, see: https://github.com/angular/angular/issues/789
187-
if (DOM.hasProperty(compileElement.element, property) || StringWrapper.equals(property, 'innerHtml')) {
187+
if (StringWrapper.equals(property, 'innerHTML')) {
188+
setterFn = (element, value) => DOM.setInnerHTML(element, value);
189+
} else if (DOM.hasProperty(compileElement.element, property) || StringWrapper.equals(property, 'innerHtml')) {
188190
setterFn = reflector.setter(property);
189191
}
190192
}

0 commit comments

Comments
 (0)