Skip to content

Commit 25319ef

Browse files
lrhncommit-bot@chromium.org
authored andcommitted
Fix bug in codegen/string_escapes_test.dart.
Both a bug in the framework and the test not mathcing the current specification of multiline strings. Fixes #33060 Bug: http://dartbug.com/33060 Change-Id: I8937c768f560d119cb16f3684d9407db2ab04c35 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108408 Reviewed-by: Johnni Winther <[email protected]> Commit-Queue: Lasse R.H. Nielsen <[email protected]>
1 parent 7acecda commit 25319ef

File tree

2 files changed

+18
-19
lines changed

2 files changed

+18
-19
lines changed

tests/compiler/dart2js/codegen/string_escapes_test.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ main() {
1818

1919
await compileExpression("''' \n\r\u2028\u2029'''").then((String generated) {
2020
Expect.isTrue(
21-
generated.contains(r'"\r\u2028\u2029"') ||
22-
generated.contains(r"'\r\u2028\u2029'"),
21+
generated.contains(r'"\n\u2028\u2029"') ||
22+
generated.contains(r"'\n\u2028\u2029'"),
2323
generated);
2424
});
2525
await compileExpression("r''' \n\r\u2028\u2029'''")
2626
.then((String generated) {
2727
Expect.isTrue(
28-
generated.contains(r'"\r\u2028\u2029"') ||
29-
generated.contains(r"'\r\u2028\u2029'"),
28+
generated.contains(r'"\n\u2028\u2029"') ||
29+
generated.contains(r"'\n\u2028\u2029'"),
3030
generated);
3131
});
3232
await compileExpression("r''' \r\n\u2028\u2029'''")
@@ -52,24 +52,24 @@ main() {
5252
"r'''\t\t \t\t \t\t \t \t \n\r\u2028\u2029'''")
5353
.then((String generated) {
5454
Expect.isTrue(
55-
generated.contains(r'"\r\u2028\u2029"') ||
56-
generated.contains(r"'\r\u2028\u2029'"),
55+
generated.contains(r'"\n\u2028\u2029"') ||
56+
generated.contains(r"'\n\u2028\u2029'"),
5757
generated);
5858
});
5959
await compileExpression(
6060
"r'''\\\t\\\t \\ \\ \t\\\t \t \\\n\r\u2028\u2029'''")
6161
.then((String generated) {
6262
Expect.isTrue(
63-
generated.contains(r'"\r\u2028\u2029"') ||
64-
generated.contains(r"'\r\u2028\u2029'"),
63+
generated.contains(r'"\n\u2028\u2029"') ||
64+
generated.contains(r"'\n\u2028\u2029'"),
6565
generated);
6666
});
6767
await compileExpression(
6868
"r'''\t\t \t\t \t\t \t \t \\\n\r\u2028\u2029'''")
6969
.then((String generated) {
7070
Expect.isTrue(
71-
generated.contains(r'"\r\u2028\u2029"') ||
72-
generated.contains(r"'\r\u2028\u2029'"),
71+
generated.contains(r'"\n\u2028\u2029"') ||
72+
generated.contains(r"'\n\u2028\u2029'"),
7373
generated);
7474
});
7575
await compileExpression(

tests/compiler/dart2js/helpers/memory_source_file_helper.dart

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,19 @@ class MemorySourceFileProvider extends SourceFileProvider {
4343
'No such memory file $resourceUri in ${memorySourceFiles.keys}'));
4444
}
4545
Input<List<int>> input;
46+
StringSourceFile stringFile;
47+
if (source is String) {
48+
stringFile = new StringSourceFile.fromUri(resourceUri, source);
49+
}
4650
switch (inputKind) {
4751
case InputKind.UTF8:
48-
if (source is String) {
49-
input = new StringSourceFile.fromUri(resourceUri, source);
50-
} else {
51-
input = new Utf8BytesSourceFile(resourceUri, source);
52-
}
52+
input = stringFile ?? new Utf8BytesSourceFile(resourceUri, source);
5353
utf8SourceFiles[resourceUri] = input;
5454
break;
5555
case InputKind.binary:
56-
if (source is String) {
57-
utf8SourceFiles[resourceUri] =
58-
new StringSourceFile.fromUri(resourceUri, source);
59-
source = source.codeUnits;
56+
if (stringFile != null) {
57+
utf8SourceFiles[resourceUri] = stringFile;
58+
source = stringFile.data;
6059
}
6160
input =
6261
binarySourceFiles[resourceUri] = new Binary(resourceUri, source);

0 commit comments

Comments
 (0)