From 25319ef7a61854aba917fee0121830feef212488 Mon Sep 17 00:00:00 2001 From: "Lasse R.H. Nielsen" Date: Tue, 9 Jul 2019 13:56:32 +0000 Subject: [PATCH] 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 Commit-Queue: Lasse R.H. Nielsen --- .../dart2js/codegen/string_escapes_test.dart | 20 +++++++++---------- .../helpers/memory_source_file_helper.dart | 17 ++++++++-------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/tests/compiler/dart2js/codegen/string_escapes_test.dart b/tests/compiler/dart2js/codegen/string_escapes_test.dart index 16d469d418a..9e774d2a15a 100644 --- a/tests/compiler/dart2js/codegen/string_escapes_test.dart +++ b/tests/compiler/dart2js/codegen/string_escapes_test.dart @@ -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( diff --git a/tests/compiler/dart2js/helpers/memory_source_file_helper.dart b/tests/compiler/dart2js/helpers/memory_source_file_helper.dart index b1e0be0f93e..6c3baf49e29 100644 --- a/tests/compiler/dart2js/helpers/memory_source_file_helper.dart +++ b/tests/compiler/dart2js/helpers/memory_source_file_helper.dart @@ -43,20 +43,19 @@ class MemorySourceFileProvider extends SourceFileProvider { 'No such memory file $resourceUri in ${memorySourceFiles.keys}')); } Input> 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);