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 <johnniwinther@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
This commit is contained in:
Lasse R.H. Nielsen
2019-07-09 13:56:32 +00:00
committed by commit-bot@chromium.org
parent 7acecda2cc
commit 25319ef7a6
2 changed files with 18 additions and 19 deletions
@@ -18,15 +18,15 @@ main() {
await compileExpression("''' \n\r\u2028\u2029'''").then((String generated) {
Expect.isTrue(
generated.contains(r'"\r\u2028\u2029"') ||
generated.contains(r"'\r\u2028\u2029'"),
generated.contains(r'"\n\u2028\u2029"') ||
generated.contains(r"'\n\u2028\u2029'"),
generated);
});
await compileExpression("r''' \n\r\u2028\u2029'''")
.then((String generated) {
Expect.isTrue(
generated.contains(r'"\r\u2028\u2029"') ||
generated.contains(r"'\r\u2028\u2029'"),
generated.contains(r'"\n\u2028\u2029"') ||
generated.contains(r"'\n\u2028\u2029'"),
generated);
});
await compileExpression("r''' \r\n\u2028\u2029'''")
@@ -52,24 +52,24 @@ main() {
"r'''\t\t \t\t \t\t \t \t \n\r\u2028\u2029'''")
.then((String generated) {
Expect.isTrue(
generated.contains(r'"\r\u2028\u2029"') ||
generated.contains(r"'\r\u2028\u2029'"),
generated.contains(r'"\n\u2028\u2029"') ||
generated.contains(r"'\n\u2028\u2029'"),
generated);
});
await compileExpression(
"r'''\\\t\\\t \\ \\ \t\\\t \t \\\n\r\u2028\u2029'''")
.then((String generated) {
Expect.isTrue(
generated.contains(r'"\r\u2028\u2029"') ||
generated.contains(r"'\r\u2028\u2029'"),
generated.contains(r'"\n\u2028\u2029"') ||
generated.contains(r"'\n\u2028\u2029'"),
generated);
});
await compileExpression(
"r'''\t\t \t\t \t\t \t \t \\\n\r\u2028\u2029'''")
.then((String generated) {
Expect.isTrue(
generated.contains(r'"\r\u2028\u2029"') ||
generated.contains(r"'\r\u2028\u2029'"),
generated.contains(r'"\n\u2028\u2029"') ||
generated.contains(r"'\n\u2028\u2029'"),
generated);
});
await compileExpression(
@@ -43,20 +43,19 @@ class MemorySourceFileProvider extends SourceFileProvider {
'No such memory file $resourceUri in ${memorySourceFiles.keys}'));
}
Input<List<int>> input;
StringSourceFile stringFile;
if (source is String) {
stringFile = new StringSourceFile.fromUri(resourceUri, source);
}
switch (inputKind) {
case InputKind.UTF8:
if (source is String) {
input = new StringSourceFile.fromUri(resourceUri, source);
} else {
input = new Utf8BytesSourceFile(resourceUri, source);
}
input = stringFile ?? new Utf8BytesSourceFile(resourceUri, source);
utf8SourceFiles[resourceUri] = input;
break;
case InputKind.binary:
if (source is String) {
utf8SourceFiles[resourceUri] =
new StringSourceFile.fromUri(resourceUri, source);
source = source.codeUnits;
if (stringFile != null) {
utf8SourceFiles[resourceUri] = stringFile;
source = stringFile.data;
}
input =
binarySourceFiles[resourceUri] = new Binary(resourceUri, source);