forked from phoedos/pmd
Escaped characters in Dart multiline string are now handled correctly
This commit is contained in:
@ -373,6 +373,7 @@ MultiLineString
|
||||
fragment
|
||||
StringContentTDQ
|
||||
: ~('\\' | '"' | '$')
|
||||
| '\\' ~('\n' | '\r')
|
||||
| '"' ~'"' | '""' ~'"'
|
||||
| StringInterpolation
|
||||
;
|
||||
@ -380,6 +381,7 @@ StringContentTDQ
|
||||
fragment
|
||||
StringContentTSQ
|
||||
: ~('\\' | '\'' | '$')
|
||||
| '\\' ~('\n' | '\r')
|
||||
| '\'' ~'\'' | '\'\'' ~'\''
|
||||
| StringInterpolation
|
||||
;
|
||||
|
@ -59,6 +59,11 @@ public class DartTokenizerTest extends CpdTextComparisonTest {
|
||||
doTest("string_interpolation");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEscapedDollar() {
|
||||
doTest("escaped_dollar");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegex() {
|
||||
doTest("regex");
|
||||
|
3
pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/testdata/escaped_dollar.dart
vendored
Normal file
3
pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/testdata/escaped_dollar.dart
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
var multiLineStringWithDollar = """
|
||||
\$
|
||||
""";
|
7
pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/testdata/escaped_dollar.txt
vendored
Normal file
7
pmd-dart/src/test/resources/net/sourceforge/pmd/cpd/testdata/escaped_dollar.txt
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
[Image] or [Truncated image[ Bcol Ecol
|
||||
L1
|
||||
[var] 1 3
|
||||
[multiLineStringWithDollar] 5 29
|
||||
[=] 31 31
|
||||
["""\n \\$\n """] 33 9
|
||||
EOF
|
Reference in New Issue
Block a user