c9d54c12f6
Change-Id: I3c5cfbc1bc5e41d2ef1598427067dea00f9f42b4 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/425403 Reviewed-by: Lasse Nielsen <lrn@google.com> Commit-Queue: Lasse Nielsen <lrn@google.com> Auto-Submit: Bob Nystrom <rnystrom@google.com>
331 lines
4.2 KiB
Dart
331 lines
4.2 KiB
Dart
// 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.
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
class Conster {
|
|
const Conster(this.value);
|
|
|
|
final value;
|
|
|
|
toString() {
|
|
return value.toString();
|
|
}
|
|
}
|
|
|
|
main() {
|
|
testEmpty();
|
|
testInterpolation();
|
|
testMultiline();
|
|
}
|
|
|
|
testEmpty() {
|
|
Expect.equals(
|
|
"",
|
|
(const Conster(
|
|
""
|
|
""
|
|
"",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"",
|
|
(const Conster(
|
|
""
|
|
''
|
|
"",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"",
|
|
(const Conster(
|
|
""
|
|
""
|
|
r"",
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"a",
|
|
(const Conster(
|
|
"a"
|
|
"",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"a",
|
|
(const Conster(
|
|
"a"
|
|
'',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"a",
|
|
(const Conster(
|
|
"a"
|
|
r'',
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"b",
|
|
(const Conster(
|
|
'b'
|
|
"",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"b",
|
|
(const Conster(
|
|
'b'
|
|
'',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"b",
|
|
(const Conster(
|
|
'b'
|
|
r'',
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"c",
|
|
(const Conster(
|
|
r'c'
|
|
"",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"c",
|
|
(const Conster(
|
|
r'c'
|
|
'',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"c",
|
|
(const Conster(
|
|
r'c'
|
|
r'',
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"a",
|
|
(const Conster(
|
|
""
|
|
"a",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"a",
|
|
(const Conster(
|
|
""
|
|
'a',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"a",
|
|
(const Conster(
|
|
""
|
|
r'a',
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"b",
|
|
(const Conster(
|
|
''
|
|
"b",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"b",
|
|
(const Conster(
|
|
''
|
|
'b',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"b",
|
|
(const Conster(
|
|
''
|
|
r'b',
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"c",
|
|
(const Conster(
|
|
r''
|
|
"c",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"c",
|
|
(const Conster(
|
|
r''
|
|
'c',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"c",
|
|
(const Conster(
|
|
r''
|
|
r'c',
|
|
)).toString(),
|
|
);
|
|
}
|
|
|
|
const s = "a";
|
|
|
|
testInterpolation() {
|
|
Expect.equals(
|
|
r"ab",
|
|
(const Conster(
|
|
"$s"
|
|
"b",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"ab",
|
|
(const Conster(
|
|
'$s'
|
|
"b",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"$sb",
|
|
(const Conster(
|
|
r'$s'
|
|
"b",
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
r"-a-b",
|
|
(const Conster(
|
|
"-$s-"
|
|
"b",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"-a-b",
|
|
(const Conster(
|
|
'-$s-'
|
|
"b",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"-$s-b",
|
|
(const Conster(
|
|
r'-$s-'
|
|
"b",
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
r"ba",
|
|
(const Conster(
|
|
'b'
|
|
"$s",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"ba",
|
|
(const Conster(
|
|
'b'
|
|
'$s',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"b$s",
|
|
(const Conster(
|
|
'b'
|
|
r'$s',
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
r"b-a-",
|
|
(const Conster(
|
|
'b'
|
|
"-$s-",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"b-a-",
|
|
(const Conster(
|
|
'b'
|
|
'-$s-',
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
r"b-$s-",
|
|
(const Conster(
|
|
'b'
|
|
r'-$s-',
|
|
)).toString(),
|
|
);
|
|
}
|
|
|
|
testMultiline() {
|
|
Expect.equals(
|
|
"abe",
|
|
(const Conster(
|
|
"a"
|
|
"b"
|
|
"e",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"a b e",
|
|
(const Conster(
|
|
"a "
|
|
"b "
|
|
"e",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"a b e",
|
|
(const Conster(
|
|
"a"
|
|
" b"
|
|
" e",
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"abe",
|
|
(const Conster(
|
|
"""
|
|
a"""
|
|
"b"
|
|
"e",
|
|
)).toString(),
|
|
);
|
|
Expect.equals(
|
|
"a b e",
|
|
(const Conster(
|
|
"""
|
|
a"""
|
|
" b"
|
|
" e",
|
|
)).toString(),
|
|
);
|
|
|
|
Expect.equals(
|
|
"abe",
|
|
(const Conster(
|
|
"""
|
|
a"""
|
|
"""
|
|
b"""
|
|
"""
|
|
e""",
|
|
)).toString(),
|
|
);
|
|
}
|