| Index: pkg/unittest/lib/html_individual_config.dart
|
| diff --git a/pkg/unittest/lib/html_individual_config.dart b/pkg/unittest/lib/html_individual_config.dart
|
| index 7a52242026c1dff65b8902ad39f79703809e5dae..39a9d0ef8d4176e474fe016957b66425a06f00ed 100644
|
| --- a/pkg/unittest/lib/html_individual_config.dart
|
| +++ b/pkg/unittest/lib/html_individual_config.dart
|
| @@ -19,28 +19,23 @@ import 'unittest.dart' as unittest;
|
| import 'html_config.dart' as htmlconfig;
|
|
|
| class HtmlIndividualConfiguration extends htmlconfig.HtmlConfiguration {
|
| - HtmlIndividualConfiguration(bool isLayoutTest): super(isLayoutTest);
|
| +
|
| + String _noSuchTest = '';
|
| + HtmlIndividualConfiguration(isLayoutTest): super(isLayoutTest);
|
|
|
| void onStart() {
|
| var search = window.location.search;
|
| if (search != '') {
|
| - var groups = search.substring(1).split('&')
|
| - .where((p) => p.startsWith('group='))
|
| - .toList();
|
| -
|
| - if(!groups.isEmpty) {
|
| - if(groups.length > 1) {
|
| - throw 'More than one "group" parameter provided.';
|
| - }
|
| -
|
| - var testGroupName = groups.single.split('=')[1];
|
| - var startsWith = "$testGroupName${unittest.groupSep}";
|
| - unittest.filterTests((unittest.TestCase tc) =>
|
| - tc.description.startsWith(startsWith));
|
| -
|
| - if(unittest.testCases.isEmpty) {
|
| - throw 'No tests match group "$testGroupName".';
|
| + try {
|
| + for (var parameter in search.substring(1).split('&')) {
|
| + if (parameter.startsWith('group=')) {
|
| + var testGroupName = parameter.split('=')[1];
|
| + unittest.filterTests('^$testGroupName${unittest.groupSep}');
|
| + }
|
| }
|
| + } catch (e) {
|
| + print('tried to match "$testGroupName"');
|
| + print('NO_SUCH_TEST');
|
| }
|
| }
|
| super.onStart();
|
|
|