// Copyright (c) 2015, 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.
//
// DartOptions=-Did=true -Ddotted.id=some_string -Dlots.of.dots.In.id=false --conditional-directives

import 'package:expect/expect.dart';

import 'config_import_lib1a.dart'
  if (id) 'config_import_lib1b.dart'
  if (not.set.id) 'config_import_lib1c.dart';

import 'config_import_lib2a.dart'
  if (not.set.id) 'config_import_lib2b.dart'
  if (not.set.either) 'config_import_lib2c.dart';

import 'config_import_lib3a.dart'
  if (dotted.id == "some_string") 'config_import_lib3b.dart'
  if (id) 'config_import_lib3c.dart';

import 'config_import_lib4a.dart'
  if (lots.of.dots.In.id == "other") 'config_import_lib4b.dart'
  if (lots.of.dots.In.id == "false") 'config_import_lib4c.dart';

main() {
  Expect.equals("b", lib1());
  Expect.equals("a", lib2());
  Expect.equals("b", lib3());
  Expect.equals("c", lib4());
}
