OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 /** | 5 /** |
6 * Tests date formatting and parsing using locale data read from the | 6 * Tests date formatting and parsing using locale data read from the |
7 * local file system. | 7 * local file system. |
8 */ | 8 */ |
9 | |
10 library date_time_format_file_test; | 9 library date_time_format_file_test; |
11 | 10 |
12 import '../lib/intl.dart'; | 11 import '../lib/intl.dart'; |
13 import '../lib/date_symbol_data_file.dart'; | 12 import '../lib/date_symbol_data_file.dart'; |
14 import 'dart:io'; | 13 import 'dart:io'; |
15 import 'date_time_format_test_core.dart'; | 14 import 'date_time_format_test_core.dart'; |
16 import 'data_directory.dart'; | 15 import 'data_directory.dart'; |
17 import '../../../pkg/unittest/lib/unittest.dart'; | 16 import '../../../pkg/unittest/lib/unittest.dart'; |
18 | 17 |
19 runWith([Function getSubset]) { | 18 runWith([Function getSubset]) { |
20 // Initialize one locale just so we know what the list is. | 19 // Initialize one locale just so we know what the list is. |
21 test('Run all date formatting tests with locales from files', () { | 20 test('Run all date formatting tests with locales from files', () { |
22 initializeDateFormatting("en_US", dataDirectory).then( | 21 initializeDateFormatting("en_US", dataDirectory).then( |
23 expectAsync1((_) => runEverything(getSubset))); | 22 expectAsync1((_) => runEverything(getSubset))); |
24 }); | 23 }); |
25 } | 24 } |
26 | 25 |
27 void runEverything(Function getSubset) { | 26 void runEverything(Function getSubset) { |
28 // Initialize all locales and wait for them to finish before running tests. | 27 // Initialize all locales sequentially before running tests. Be sure not |
29 var futures = DateFormat.allLocalesWithSymbols().map( | 28 // to do it in parallel or we can run into ulimit problems on fast machines. |
| 29 var futureList = Futures.forEach(DateFormat.allLocalesWithSymbols(), |
30 (locale) => initializeDateFormatting(locale, dataDirectory)); | 30 (locale) => initializeDateFormatting(locale, dataDirectory)); |
| 31 |
31 test('Run all date formatting tests nested test', () { | 32 test('Run all date formatting tests nested test', () { |
32 Futures.wait(futures).then( | 33 futureList.then( |
33 expectAsync1((results) => runDateTests(getSubset()))); | 34 expectAsync1((results) => runDateTests(getSubset()))); |
34 }); | 35 }); |
35 } | 36 } |
OLD | NEW |