// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'dart:io';

import 'package:path/path.dart' as path;

import 'common.dart';

void main() {
  test('We are in a directory with a space in it', () async {
    // The Flutter SDK should be in a directory with a space in it, to make sure
    // our tools support that.
    final String expectedName = Platform.environment['FLUTTER_SDK_PATH_WITH_SPACE'];
    expect(expectedName, 'flutter sdk');
    expect(expectedName, contains(' '));
    final List<String> parts = path.split(Directory.current.absolute.path);
    expect(parts.reversed.take(3), <String>['bots', 'dev', expectedName]);
  }, skip: true);
}
