Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(625)

Unified Diff: pkg/analyzer/test/generated/parser_test.dart

Issue 1034953002: Fix value computation for multi-line strings (issue 22993) (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Cleanup Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/src/generated/parser.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/test/generated/parser_test.dart
diff --git a/pkg/analyzer/test/generated/parser_test.dart b/pkg/analyzer/test/generated/parser_test.dart
index 648ea6bfa913931cbcdf119ebd4e015801ca4fba..0b936832d89ddca188e6f43e706dd0b6e091c4b6 100644
--- a/pkg/analyzer/test/generated/parser_test.dart
+++ b/pkg/analyzer/test/generated/parser_test.dart
@@ -8834,6 +8834,82 @@ void''');
expect(elements[4] is InterpolationString, isTrue);
}
+ void test_parseStringLiteral_multiline_encodedSpace() {
+ SimpleStringLiteral literal =
+ parse4("parseStringLiteral", "'''\\x20\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, " \na");
+ }
+
+ void test_parseStringLiteral_multiline_escapedBackslash() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "'''\\\\\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "\\\na");
+ }
+
+ void test_parseStringLiteral_multiline_escapedBackslash_raw() {
+ SimpleStringLiteral literal =
+ parse4("parseStringLiteral", "r'''\\\\\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "\\\\\na");
+ }
+
+ void test_parseStringLiteral_multiline_escapedEolMarker() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "'''\\\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "a");
+ }
+
+ void test_parseStringLiteral_multiline_escapedEolMarker_raw() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "r'''\\\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "a");
+ }
+
+ void test_parseStringLiteral_multiline_escapedSpaceAndEolMarker() {
+ SimpleStringLiteral literal =
+ parse4("parseStringLiteral", "'''\\ \\\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "a");
+ }
+
+ void test_parseStringLiteral_multiline_escapedSpaceAndEolMarker_raw() {
+ SimpleStringLiteral literal =
+ parse4("parseStringLiteral", "'''\\ \\\na'''");
Paul Berry 2015/03/26 21:40:52 Missing the "r" character on this line.
Brian Wilkerson 2015/03/26 21:45:21 Good catch! Done.
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "a");
+ }
+
+ void test_parseStringLiteral_multiline_escapedTab() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "'''\\t\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "\t\na");
+ }
+
+ void test_parseStringLiteral_multiline_escapedTab_raw() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "r'''\\t\na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "\\t\na");
+ }
+
+ void test_parseStringLiteral_multiline_twoSpaces() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "''' \na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "a");
+ }
+
+ void test_parseStringLiteral_multiline_twoSpaces_raw() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "r''' \na'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, "a");
+ }
+
+ void test_parseStringLiteral_multiline_untrimmed() {
+ SimpleStringLiteral literal = parse4("parseStringLiteral", "''' a\nb'''");
+ expect(literal.literal, isNotNull);
+ expect(literal.value, " a\nb");
+ }
+
void test_parseStringLiteral_single() {
SimpleStringLiteral literal = parse4("parseStringLiteral", "'a'");
expect(literal.literal, isNotNull);
« no previous file with comments | « pkg/analyzer/lib/src/generated/parser.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698