| // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| library unittestTest; |
| |
| import 'dart:async'; |
| import 'dart:isolate'; |
| |
| import 'package:unittest/unittest.dart'; |
| |
| part 'utils.dart'; |
| |
| var testName = 'skipped/soloed nested groups with setup/teardown'; |
| |
| var testFunction = (_) { |
| StringBuffer s = null; |
| setUp(() { |
| if (s == null) s = new StringBuffer(); |
| }); |
| test('top level', () { |
| s.write('A'); |
| }); |
| skip_test('skipped top level', () { |
| s.write('B'); |
| }); |
| skip_group('skipped top level group', () { |
| setUp(() { |
| s.write('C'); |
| }); |
| solo_test('skipped solo nested test', () { |
| s.write('D'); |
| }); |
| }); |
| group('non-solo group', () { |
| setUp(() { |
| s.write('E'); |
| }); |
| test('in non-solo group', () { |
| s.write('F'); |
| }); |
| solo_test('solo_test in non-solo group', () { |
| s.write('G'); |
| }); |
| }); |
| solo_group('solo group', () { |
| setUp(() { |
| s.write('H'); |
| }); |
| test('solo group non-solo test', () { |
| s.write('I'); |
| }); |
| solo_test('solo group solo test', () { |
| s.write('J'); |
| }); |
| group('nested non-solo group in solo group', () { |
| test('nested non-solo group non-solo test', () { |
| s.write('K'); |
| }); |
| solo_test('nested non-solo group solo test', () { |
| s.write('L'); |
| }); |
| }); |
| }); |
| solo_test('final', () { |
| expect(s.toString(), "EGHIHJHKHL"); |
| }); |
| }; |
| |
| var expected = buildStatusString(6, 0, 0, |
| 'non-solo group solo_test in non-solo group::' |
| 'solo group solo group non-solo test::' |
| 'solo group solo group solo test::' |
| 'solo group nested non-solo group in solo group nested non-' |
| 'solo group non-solo test::' |
| 'solo group nested non-solo group in solo' |
| ' group nested non-solo group solo test::' |
| 'final'); |