X Tutup
Skip to content

Commit 4d0c2ed

Browse files
Tim Blasikegluneq
authored andcommitted
test(dart/transform): Update dependencies & fix Dart tests
Widen version dependencies for `package:angular`, `package:code_transformers`, and `package:observe`. `package:guinness` uses `package:unittest` while the newest versions of `package:code_transformers` use `package:test`. This causes our end-to-end Dart transformer tests (which use testing code in `package:code_transformers`) to be skipped. To fix this: - Move e2e tests to run in a separate file - Run `gulp test.server.dart` tests serially Closes angular#5922 Closes angular#5935
1 parent eda6a5d commit 4d0c2ed

File tree

6 files changed

+56
-43
lines changed

6 files changed

+56
-43
lines changed

modules/angular2/pubspec.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ homepage: <%= packageJson.homepage %>
99
environment:
1010
sdk: '>=1.10.0 <2.0.0'
1111
dependencies:
12-
analyzer: '>=0.24.4 <0.27.0'
12+
analyzer: '>=0.24.4 <0.28.0'
1313
barback: '^0.15.2+2'
1414
dart_style: '>=0.1.8 <0.3.0'
1515
glob: '^1.0.0'
@@ -22,8 +22,9 @@ dependencies:
2222
source_span: '^1.0.0'
2323
stack_trace: '^1.1.1'
2424
dev_dependencies:
25-
code_transformers: '0.2.9+4'
25+
code_transformers: '>=0.2.9+4 <0.4.0'
2626
guinness: '^0.1.18'
27+
test: '^0.12.6'
2728
transformers:
2829
- angular2
2930
- $dart2js:

modules/angular2/test/web_workers/debug_tools/multi_client_server_message_bus.server.spec.dart

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@ import "dart:async";
55
import "package:angular2/testing_internal.dart"
66
show
77
AsyncTestCompleter,
8-
inject,
9-
describe,
10-
it,
11-
iit,
12-
expect,
8+
SpyObject,
139
beforeEach,
1410
beforeEachProviders,
15-
SpyObject,
16-
proxy;
11+
describe,
12+
expect,
13+
iit,
14+
inject,
15+
it,
16+
proxy,
17+
testSetup;
18+
import 'package:angular2/src/platform/server/html_adapter.dart';
1719
import "package:angular2/src/web_workers/debug_tools/multi_client_server_message_bus.dart";
1820
import "package:angular2/src/web_workers/shared/messaging_api.dart";
1921
import "./message_bus_common.dart";
@@ -22,6 +24,9 @@ import "dart:convert" show JSON;
2224
import 'dart:math';
2325

2426
main() {
27+
Html5LibDomAdapter.makeCurrent();
28+
testSetup();
29+
2530
List<String> messageHistory = new List<String>();
2631
List<int> resultMarkers = new List<int>();
2732
describe("MultiClientServerMessageBusSink", () {

modules/angular2/test/web_workers/debug_tools/single_client_server_message_bus.server.spec.dart

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,25 @@ import "dart:async";
55
import "package:angular2/testing_internal.dart"
66
show
77
AsyncTestCompleter,
8-
inject,
9-
describe,
10-
it,
11-
expect,
8+
SpyObject,
129
beforeEach,
1310
beforeEachProviders,
14-
SpyObject,
15-
proxy;
11+
describe,
12+
expect,
13+
inject,
14+
it,
15+
proxy,
16+
testSetup;
17+
import 'package:angular2/src/platform/server/html_adapter.dart';
1618
import "package:angular2/src/web_workers/debug_tools/single_client_server_message_bus.dart";
1719
import "./message_bus_common.dart";
1820
import "./spy_web_socket.dart";
1921
import "dart:convert" show JSON;
2022

2123
main() {
24+
Html5LibDomAdapter.makeCurrent();
25+
testSetup();
26+
2227
var MESSAGE = const {'test': 10};
2328
const CHANNEL = "TEST_CHANNEL";
2429
describe("SingleClientServerMessageBusSink", () {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
library angular2.test.transform.transform.e2e.spec;
2+
3+
import 'package:test/test.dart';
4+
5+
import 'inliner_for_test/all_tests.dart' as inliner;
6+
import 'integration/all_tests.dart' as integration;
7+
8+
main() {
9+
group('Inliner For Test e2e', inliner.endToEndTests);
10+
group('Transformer Pipeline', integration.allTests);
11+
}

modules_dart/transform/test/transform/transform.server.spec.dart

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
library angular2.test.transform;
1+
library angular2.test.transform.transform.server.spec;
22

33
import 'package:guinness/guinness.dart';
44
import 'package:unittest/unittest.dart' hide expect;
@@ -12,7 +12,6 @@ import 'deferred_rewriter/all_tests.dart' as deferredRewriter;
1212
import 'directive_metadata_linker/all_tests.dart' as directiveMeta;
1313
import 'directive_processor/all_tests.dart' as directiveProcessor;
1414
import 'inliner_for_test/all_tests.dart' as inliner;
15-
import 'integration/all_tests.dart' as integration;
1615
import 'reflection_remover/all_tests.dart' as reflectionRemover;
1716
import 'template_compiler/all_tests.dart' as templateCompiler;
1817
import 'stylesheet_compiler/all_tests.dart' as stylesheetCompiler;
@@ -30,8 +29,4 @@ main() {
3029
describe('Deferred Rewriter', deferredRewriter.allTests);
3130
describe('Stylesheet Compiler', stylesheetCompiler.allTests);
3231
describe('Url Resolver', urlResolver.allTests);
33-
// NOTE(kegluneq): These use `code_transformers#testPhases`, which is not
34-
// designed to work with `guinness`.
35-
group('Inliner For Test e2e', inliner.endToEndTests);
36-
group('Transformer Pipeline', integration.allTests);
3732
}

tools/build/run_server_dart_tests.js

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,38 +16,34 @@ module.exports = function(gulp, plugins, config) {
1616
};
1717

1818
function run(dir) {
19-
var testDir = path.join(dir, 'test');
20-
var relativeMasterTestFile = 'test/_all_tests.dart';
2119
var testFiles = [].slice.call(glob.sync('**/*.server.spec.dart', {
22-
cwd: testDir
20+
cwd: dir
2321
}));
2422
if (testFiles.length == 0) {
2523
// No test files found
2624
return Q.resolve();
2725
}
28-
var header = ['library _all_tests;', 'import "package:angular2/testing.dart";', ''];
29-
var main = ['main() {'];
30-
main.push(' setBaseTestProviders([], []);');
31-
testFiles.forEach(function(fileName, index) {
32-
header.push('import "' + fileName + '" as test_' + index + ';');
33-
main.push(' test_' + index + '.main();');
34-
});
35-
header.push('');
36-
main.push('}');
37-
38-
var absMasterTestFile = path.join(dir, relativeMasterTestFile);
39-
fs.writeFileSync(absMasterTestFile, header.concat(main).join('\n'));
4026

4127
var defer = Q.defer();
4228
var done = defer.makeNodeResolver();
4329
console.log('start tests:', dir);
44-
util.processToPromise(spawn('dart', ['-c', relativeMasterTestFile], {
45-
stdio: 'inherit',
46-
cwd: dir
47-
})).then(
48-
function() { done(); },
49-
function(error) { done(error); }
50-
);
30+
var processSerial = function() {
31+
if (testFiles.length == 0) {
32+
done();
33+
return;
34+
}
35+
var file = testFiles.shift();
36+
util.processToPromise(spawn('dart', ['-c', file], {
37+
stdio: 'inherit',
38+
cwd: dir
39+
})).then(
40+
processSerial,
41+
function(error) {
42+
done(error);
43+
}
44+
);
45+
};
46+
processSerial();
5147
return defer.promise.then(function() {
5248
console.log('end tests');
5349
});

0 commit comments

Comments
 (0)
X Tutup