import 'package:path/path.dart' as path;
import 'package:scheduled_test/scheduled_test.dart';
import '../../lib/src/exit_codes.dart' as exit_codes;
import '../../lib/src/io.dart';
import '../descriptor.dart' as d;
import '../test_pub.dart';
main() {
  initConfig();
  integration("reports the pubspec path when there is an error in it", () {
    d.dir(appPath, [d.file("pubspec.yaml", "some bad yaml")]).create();
    schedulePub(args: ["list-package-dirs", "--format=json"], outputJson: {
      "error": contains('Error on line 1'),
      "path": canonicalize(path.join(sandboxDir, appPath, "pubspec.yaml"))
    }, exitCode: exit_codes.DATA);
  });
}
