// Copyright (c) 2012, 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.

/// Test date formatting and parsing using locale data which is available
/// directly in the program as a constant. This tests one half the locales,
/// since testing all of them takes long enough that it may cause timeouts in
/// the test bots.

library date_time_format_test_1;

import 'date_time_format_test_stub.dart';
import 'package:intl/date_symbol_data_local.dart';

main() {
  runWith(oddLocales, null, initializeDateFormatting);
}
