| 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 |