| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 @TestOn("vm") | 5 @TestOn("vm") |
| 6 | 6 |
| 7 import 'package:boolean_selector/boolean_selector.dart'; | 7 import 'package:boolean_selector/boolean_selector.dart'; |
| 8 import 'package:path/path.dart' as p; | 8 import 'package:path/path.dart' as p; |
| 9 import 'package:test/test.dart'; | 9 import 'package:test/test.dart'; |
| 10 | 10 |
| 11 import 'package:test/src/backend/platform_selector.dart'; | 11 import 'package:test/src/backend/platform_selector.dart'; |
| 12 import 'package:test/src/backend/test_platform.dart'; | 12 import 'package:test/src/backend/test_platform.dart'; |
| 13 import 'package:test/src/runner/configuration.dart'; | 13 import 'package:test/src/runner/configuration.dart'; |
| 14 import 'package:test/src/runner/configuration/values.dart'; | 14 import 'package:test/src/runner/configuration/values.dart'; |
| 15 import 'package:test/src/util/io.dart'; | 15 import 'package:test/src/util/io.dart'; |
| 16 | 16 |
| 17 void main() { | 17 void main() { |
| 18 group("merge", () { | 18 group("merge", () { |
| 19 group("for most fields", () { | 19 group("for most fields", () { |
| 20 test("if neither is defined, preserves the default", () { | 20 test("if neither is defined, preserves the default", () { |
| 21 var merged = new Configuration().merge(new Configuration()); | 21 var merged = new Configuration().merge(new Configuration()); |
| 22 expect(merged.help, isFalse); | 22 expect(merged.help, isFalse); |
| 23 expect(merged.version, isFalse); | 23 expect(merged.version, isFalse); |
| 24 expect(merged.verboseTrace, isFalse); | 24 expect(merged.verboseTrace, isFalse); |
| 25 expect(merged.jsTrace, isFalse); | 25 expect(merged.jsTrace, isFalse); |
| 26 expect(merged.skip, isFalse); | 26 expect(merged.skip, isFalse); |
| 27 expect(merged.skipReason, isNull); | 27 expect(merged.skipReason, isNull); |
| 28 expect(merged.runSkipped, isFalse); |
| 28 expect(merged.pauseAfterLoad, isFalse); | 29 expect(merged.pauseAfterLoad, isFalse); |
| 29 expect(merged.color, equals(canUseSpecialChars)); | 30 expect(merged.color, equals(canUseSpecialChars)); |
| 30 expect(merged.shardIndex, isNull); | 31 expect(merged.shardIndex, isNull); |
| 31 expect(merged.totalShards, isNull); | 32 expect(merged.totalShards, isNull); |
| 32 expect(merged.packageRoot, equals(p.join(p.current, 'packages'))); | 33 expect(merged.packageRoot, equals(p.join(p.current, 'packages'))); |
| 33 expect(merged.dart2jsPath, equals(p.join(sdkDir, 'bin', 'dart2js'))); | 34 expect(merged.dart2jsPath, equals(p.join(sdkDir, 'bin', 'dart2js'))); |
| 34 expect(merged.precompiledPath, isNull); | 35 expect(merged.precompiledPath, isNull); |
| 35 expect(merged.reporter, equals(defaultReporter)); | 36 expect(merged.reporter, equals(defaultReporter)); |
| 36 expect(merged.pubServeUrl, isNull); | 37 expect(merged.pubServeUrl, isNull); |
| 37 expect(merged.platforms, equals([TestPlatform.vm])); | 38 expect(merged.platforms, equals([TestPlatform.vm])); |
| 38 expect(merged.paths, equals(["test"])); | 39 expect(merged.paths, equals(["test"])); |
| 39 }); | 40 }); |
| 40 | 41 |
| 41 test("if only the old configuration's is defined, uses it", () { | 42 test("if only the old configuration's is defined, uses it", () { |
| 42 var merged = new Configuration( | 43 var merged = new Configuration( |
| 43 help: true, | 44 help: true, |
| 44 version: true, | 45 version: true, |
| 45 verboseTrace: true, | 46 verboseTrace: true, |
| 46 jsTrace: true, | 47 jsTrace: true, |
| 47 skip: true, | 48 skip: true, |
| 48 skipReason: "boop", | 49 skipReason: "boop", |
| 50 runSkipped: true, |
| 49 pauseAfterLoad: true, | 51 pauseAfterLoad: true, |
| 50 color: true, | 52 color: true, |
| 51 shardIndex: 3, | 53 shardIndex: 3, |
| 52 totalShards: 10, | 54 totalShards: 10, |
| 53 packageRoot: "root", | 55 packageRoot: "root", |
| 54 dart2jsPath: "/tmp/dart2js", | 56 dart2jsPath: "/tmp/dart2js", |
| 55 precompiledPath: "/tmp/js", | 57 precompiledPath: "/tmp/js", |
| 56 reporter: "json", | 58 reporter: "json", |
| 57 pubServePort: 1234, | 59 pubServePort: 1234, |
| 58 platforms: [TestPlatform.chrome], | 60 platforms: [TestPlatform.chrome], |
| 59 paths: ["bar"]) | 61 paths: ["bar"]) |
| 60 .merge(new Configuration()); | 62 .merge(new Configuration()); |
| 61 | 63 |
| 62 expect(merged.help, isTrue); | 64 expect(merged.help, isTrue); |
| 63 expect(merged.version, isTrue); | 65 expect(merged.version, isTrue); |
| 64 expect(merged.verboseTrace, isTrue); | 66 expect(merged.verboseTrace, isTrue); |
| 65 expect(merged.jsTrace, isTrue); | 67 expect(merged.jsTrace, isTrue); |
| 66 expect(merged.skip, isTrue); | 68 expect(merged.skip, isTrue); |
| 67 expect(merged.skipReason, equals("boop")); | 69 expect(merged.skipReason, equals("boop")); |
| 70 expect(merged.runSkipped, isTrue); |
| 68 expect(merged.pauseAfterLoad, isTrue); | 71 expect(merged.pauseAfterLoad, isTrue); |
| 69 expect(merged.color, isTrue); | 72 expect(merged.color, isTrue); |
| 70 expect(merged.shardIndex, equals(3)); | 73 expect(merged.shardIndex, equals(3)); |
| 71 expect(merged.totalShards, equals(10)); | 74 expect(merged.totalShards, equals(10)); |
| 72 expect(merged.packageRoot, equals("root")); | 75 expect(merged.packageRoot, equals("root")); |
| 73 expect(merged.dart2jsPath, equals("/tmp/dart2js")); | 76 expect(merged.dart2jsPath, equals("/tmp/dart2js")); |
| 74 expect(merged.precompiledPath, equals("/tmp/js")); | 77 expect(merged.precompiledPath, equals("/tmp/js")); |
| 75 expect(merged.reporter, equals("json")); | 78 expect(merged.reporter, equals("json")); |
| 76 expect(merged.pubServeUrl.port, equals(1234)); | 79 expect(merged.pubServeUrl.port, equals(1234)); |
| 77 expect(merged.platforms, equals([TestPlatform.chrome])); | 80 expect(merged.platforms, equals([TestPlatform.chrome])); |
| 78 expect(merged.paths, equals(["bar"])); | 81 expect(merged.paths, equals(["bar"])); |
| 79 }); | 82 }); |
| 80 | 83 |
| 81 test("if only the new configuration's is defined, uses it", () { | 84 test("if only the new configuration's is defined, uses it", () { |
| 82 var merged = new Configuration().merge(new Configuration( | 85 var merged = new Configuration().merge(new Configuration( |
| 83 help: true, | 86 help: true, |
| 84 version: true, | 87 version: true, |
| 85 verboseTrace: true, | 88 verboseTrace: true, |
| 86 jsTrace: true, | 89 jsTrace: true, |
| 87 skip: true, | 90 skip: true, |
| 88 skipReason: "boop", | 91 skipReason: "boop", |
| 92 runSkipped: true, |
| 89 pauseAfterLoad: true, | 93 pauseAfterLoad: true, |
| 90 color: true, | 94 color: true, |
| 91 shardIndex: 3, | 95 shardIndex: 3, |
| 92 totalShards: 10, | 96 totalShards: 10, |
| 93 packageRoot: "root", | 97 packageRoot: "root", |
| 94 dart2jsPath: "/tmp/dart2js", | 98 dart2jsPath: "/tmp/dart2js", |
| 95 precompiledPath: "/tmp/js", | 99 precompiledPath: "/tmp/js", |
| 96 reporter: "json", | 100 reporter: "json", |
| 97 pubServePort: 1234, | 101 pubServePort: 1234, |
| 98 platforms: [TestPlatform.chrome], | 102 platforms: [TestPlatform.chrome], |
| 99 paths: ["bar"])); | 103 paths: ["bar"])); |
| 100 | 104 |
| 101 expect(merged.help, isTrue); | 105 expect(merged.help, isTrue); |
| 102 expect(merged.version, isTrue); | 106 expect(merged.version, isTrue); |
| 103 expect(merged.verboseTrace, isTrue); | 107 expect(merged.verboseTrace, isTrue); |
| 104 expect(merged.jsTrace, isTrue); | 108 expect(merged.jsTrace, isTrue); |
| 105 expect(merged.skip, isTrue); | 109 expect(merged.skip, isTrue); |
| 106 expect(merged.skipReason, equals("boop")); | 110 expect(merged.skipReason, equals("boop")); |
| 111 expect(merged.runSkipped, isTrue); |
| 107 expect(merged.pauseAfterLoad, isTrue); | 112 expect(merged.pauseAfterLoad, isTrue); |
| 108 expect(merged.color, isTrue); | 113 expect(merged.color, isTrue); |
| 109 expect(merged.shardIndex, equals(3)); | 114 expect(merged.shardIndex, equals(3)); |
| 110 expect(merged.totalShards, equals(10)); | 115 expect(merged.totalShards, equals(10)); |
| 111 expect(merged.packageRoot, equals("root")); | 116 expect(merged.packageRoot, equals("root")); |
| 112 expect(merged.dart2jsPath, equals("/tmp/dart2js")); | 117 expect(merged.dart2jsPath, equals("/tmp/dart2js")); |
| 113 expect(merged.precompiledPath, equals("/tmp/js")); | 118 expect(merged.precompiledPath, equals("/tmp/js")); |
| 114 expect(merged.reporter, equals("json")); | 119 expect(merged.reporter, equals("json")); |
| 115 expect(merged.pubServeUrl.port, equals(1234)); | 120 expect(merged.pubServeUrl.port, equals(1234)); |
| 116 expect(merged.platforms, equals([TestPlatform.chrome])); | 121 expect(merged.platforms, equals([TestPlatform.chrome])); |
| 117 expect(merged.paths, equals(["bar"])); | 122 expect(merged.paths, equals(["bar"])); |
| 118 }); | 123 }); |
| 119 | 124 |
| 120 test("if the two configurations conflict, uses the new configuration's " | 125 test("if the two configurations conflict, uses the new configuration's " |
| 121 "values", () { | 126 "values", () { |
| 122 var older = new Configuration( | 127 var older = new Configuration( |
| 123 help: true, | 128 help: true, |
| 124 version: false, | 129 version: false, |
| 125 verboseTrace: true, | 130 verboseTrace: true, |
| 126 jsTrace: false, | 131 jsTrace: false, |
| 127 skip: true, | 132 skip: true, |
| 128 skipReason: "foo", | 133 skipReason: "foo", |
| 134 runSkipped: true, |
| 129 pauseAfterLoad: true, | 135 pauseAfterLoad: true, |
| 130 color: false, | 136 color: false, |
| 131 shardIndex: 2, | 137 shardIndex: 2, |
| 132 totalShards: 4, | 138 totalShards: 4, |
| 133 packageRoot: "root", | 139 packageRoot: "root", |
| 134 dart2jsPath: "/tmp/dart2js", | 140 dart2jsPath: "/tmp/dart2js", |
| 135 precompiledPath: "/tmp/js", | 141 precompiledPath: "/tmp/js", |
| 136 reporter: "json", | 142 reporter: "json", |
| 137 pubServePort: 1234, | 143 pubServePort: 1234, |
| 138 platforms: [TestPlatform.chrome], | 144 platforms: [TestPlatform.chrome], |
| 139 paths: ["bar"]); | 145 paths: ["bar"]); |
| 140 var newer = new Configuration( | 146 var newer = new Configuration( |
| 141 help: false, | 147 help: false, |
| 142 version: true, | 148 version: true, |
| 143 verboseTrace: false, | 149 verboseTrace: false, |
| 144 jsTrace: true, | 150 jsTrace: true, |
| 145 skip: true, | 151 skip: true, |
| 146 skipReason: "bar", | 152 skipReason: "bar", |
| 153 runSkipped: false, |
| 147 pauseAfterLoad: false, | 154 pauseAfterLoad: false, |
| 148 color: true, | 155 color: true, |
| 149 shardIndex: 3, | 156 shardIndex: 3, |
| 150 totalShards: 10, | 157 totalShards: 10, |
| 151 packageRoot: "boot", | 158 packageRoot: "boot", |
| 152 dart2jsPath: "../dart2js", | 159 dart2jsPath: "../dart2js", |
| 153 precompiledPath: "../js", | 160 precompiledPath: "../js", |
| 154 reporter: "compact", | 161 reporter: "compact", |
| 155 pubServePort: 5678, | 162 pubServePort: 5678, |
| 156 platforms: [TestPlatform.dartium], | 163 platforms: [TestPlatform.dartium], |
| 157 paths: ["blech"]); | 164 paths: ["blech"]); |
| 158 var merged = older.merge(newer); | 165 var merged = older.merge(newer); |
| 159 | 166 |
| 160 expect(merged.help, isFalse); | 167 expect(merged.help, isFalse); |
| 161 expect(merged.version, isTrue); | 168 expect(merged.version, isTrue); |
| 162 expect(merged.verboseTrace, isFalse); | 169 expect(merged.verboseTrace, isFalse); |
| 163 expect(merged.jsTrace, isTrue); | 170 expect(merged.jsTrace, isTrue); |
| 164 expect(merged.skipReason, equals("bar")); | 171 expect(merged.skipReason, equals("bar")); |
| 172 expect(merged.runSkipped, isFalse); |
| 165 expect(merged.pauseAfterLoad, isFalse); | 173 expect(merged.pauseAfterLoad, isFalse); |
| 166 expect(merged.color, isTrue); | 174 expect(merged.color, isTrue); |
| 167 expect(merged.shardIndex, equals(3)); | 175 expect(merged.shardIndex, equals(3)); |
| 168 expect(merged.totalShards, equals(10)); | 176 expect(merged.totalShards, equals(10)); |
| 169 expect(merged.packageRoot, equals("boot")); | 177 expect(merged.packageRoot, equals("boot")); |
| 170 expect(merged.dart2jsPath, equals("../dart2js")); | 178 expect(merged.dart2jsPath, equals("../dart2js")); |
| 171 expect(merged.precompiledPath, equals("../js")); | 179 expect(merged.precompiledPath, equals("../js")); |
| 172 expect(merged.reporter, equals("compact")); | 180 expect(merged.reporter, equals("compact")); |
| 173 expect(merged.pubServeUrl.port, equals(5678)); | 181 expect(merged.pubServeUrl.port, equals(5678)); |
| 174 expect(merged.platforms, equals([TestPlatform.dartium])); | 182 expect(merged.platforms, equals([TestPlatform.dartium])); |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 476 .merge(new Configuration()); | 484 .merge(new Configuration()); |
| 477 | 485 |
| 478 expect(configuration.presets, isEmpty); | 486 expect(configuration.presets, isEmpty); |
| 479 expect(configuration.chosenPresets, equals(["foo"])); | 487 expect(configuration.chosenPresets, equals(["foo"])); |
| 480 expect(configuration.knownPresets, equals(["foo"])); | 488 expect(configuration.knownPresets, equals(["foo"])); |
| 481 expect(configuration.verboseTrace, isTrue); | 489 expect(configuration.verboseTrace, isTrue); |
| 482 }); | 490 }); |
| 483 }); | 491 }); |
| 484 }); | 492 }); |
| 485 } | 493 } |
| OLD | NEW |