09fbe78e71
BUG= Review URL: https://codereview.chromium.org//694353007 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41514 260f80e4-7a28-3924-810f-c04153c831b5
52 lines
2.4 KiB
Dart
52 lines
2.4 KiB
Dart
// Copyright (c) 2014, 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.
|
|
|
|
import "package:expect/expect.dart";
|
|
import 'package:compiler/src/util/command_line.dart';
|
|
|
|
main() {
|
|
Expect.listEquals(["foo", "bar"], splitLine("foo bar"));
|
|
Expect.listEquals(["foo", "bar"], splitLine("foo bar", windows: true));
|
|
|
|
Expect.listEquals(["foo bar"], splitLine(r"foo\ bar"));
|
|
Expect.listEquals(["foo\\", "bar"], splitLine(r"foo\ bar", windows: true));
|
|
|
|
Expect.listEquals(["foo'", '"bar'], splitLine(r"""foo\' \"bar"""));
|
|
Expect.listEquals(["foo\\'", '"bar'],
|
|
splitLine(r"""foo\' \"bar""", windows: true));
|
|
|
|
Expect.listEquals(["foo'", '"bar'], splitLine(r"""foo"'" '"'bar"""));
|
|
Expect.throws(() => splitLine(r"""foo"'" '"'bar""", windows: true),
|
|
(e) => e is FormatException);
|
|
Expect.listEquals(["foo'", "''bar"],
|
|
splitLine(r"""foo"'" '"'bar" """, windows: true));
|
|
|
|
Expect.listEquals(["foo", "bar"], splitLine("'f''o''o' " + '"b""a""r"'));
|
|
// TODO(johnniwinther): This is not actual Windows behavior: "b""a" is
|
|
// interpreted as b"a but "b""a""r" is interpreted as b"ar.
|
|
Expect.listEquals(["'f''o''o'", "bar"],
|
|
splitLine("'f''o''o' " + '"b""a""r"', windows: true));
|
|
|
|
Expect.listEquals(["\n", "\r", "\t", "\b", "\f", "\v", "\\",
|
|
"a", "Z", "-", '"', "'"],
|
|
splitLine(r"""\n \r \t \b \f \v \\ \a \Z \- \" \'"""));
|
|
Expect.listEquals(["\\n", "\\r", "\\t", "\\b", "\\f", "\\v",
|
|
"\\", "\\a", "\\Z", "\\-", '"', "\\'"],
|
|
splitLine(r"""\n \r \t \b \f \v \\ \a \Z \- \" \'""",
|
|
windows: true));
|
|
Expect.listEquals(["C:Users\foo\bar\baz.dart"],
|
|
splitLine(r"C:\Users\foo\bar\baz.dart"));
|
|
Expect.listEquals([r"C:\Users\foo\bar\baz.dart"],
|
|
splitLine(r"C:\Users\foo\bar\baz.dart", windows: true));
|
|
|
|
Expect.listEquals(["C:Users\foo\bar\name with spaces.dart"],
|
|
splitLine(r'"C:\Users\foo\bar\name with spaces.dart"'));
|
|
Expect.listEquals([r"C:\Users\foo\bar\name with spaces.dart"],
|
|
splitLine(r'"C:\Users\foo\bar\name with spaces.dart"', windows: true));
|
|
|
|
Expect.throws(() => splitLine(r"\"), (e) => e is FormatException);
|
|
Expect.throws(() => splitLine(r"\", windows: true),
|
|
(e) => e is FormatException);
|
|
}
|