Merge branch 'master' of github.com:processing/processing4

This commit is contained in:
Ben Fry
2022-02-12 06:59:09 -05:00
6 changed files with 124 additions and 2 deletions
@@ -116,7 +116,7 @@ BOOL_LITERAL: 'true'
CHAR_LITERAL: '\'' (~['\\\r\n] | EscapeSequence) '\'';
STRING_LITERAL: '"' (~["\\\r\n] | EscapeSequence)* '"';
MULTI_STRING_LIT: '"""' (~[\\] | EscapeSequence)* '"""';
MULTI_STRING_LIT: '"""' (~[\\] | EscapeSequence)*? '"""';
NULL_LITERAL: 'null';
// Separators
@@ -421,8 +421,18 @@ public class ParserTests {
}
@Test
public void testMultlineString() {
public void testMultilineString() {
expectGood("multilinestr");
}
@Test
public void testMultilineStringClass() {
expectGood("multilinestrclass");
}
@Test
public void testMultiMultilineString() {
expectGood("multimultilinestr");
}
}
@@ -0,0 +1,43 @@
import processing.core.*;
import processing.data.*;
import processing.event.*;
import processing.opengl.*;
import java.util.HashMap;
import java.util.ArrayList;
import java.io.File;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
public class multilinestrclass extends PApplet {
class TestClass {
final String testMultiline1 = "\nline1 \"\nline 2 \"\"\nline 3\nline 4";
public String getStr() {
return testMultiline1;
}
}
public void setup() {
TestClass test = new TestClass();
println(test.getStr());
}
public void draw() {
}
static public void main(String[] passedArgs) {
String[] appletArgs = new String[] { "multilinestrclass" };
if (passedArgs != null) {
PApplet.main(concat(appletArgs, passedArgs));
} else {
PApplet.main(appletArgs);
}
}
}
+20
View File
@@ -0,0 +1,20 @@
class TestClass {
final String testMultiline1 = """
line1 "
line 2 ""
line 3
line 4""";
String getStr() {
return testMultiline1;
}
}
void setup() {
TestClass test = new TestClass();
println(test.getStr());
}
void draw() {
}
@@ -0,0 +1,35 @@
import processing.core.*;
import processing.data.*;
import processing.event.*;
import processing.opengl.*;
import java.util.HashMap;
import java.util.ArrayList;
import java.io.File;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
public class multimultilinestr extends PApplet {
public void setup() {
String testMultiline1 = "\nline1 \"\nline 2 \"\"\nline 3\nline 4";
final String testMultiline2 = "\nline5 \"\nline 6 \"\"\nline 7\nline 8";
println(testMultiline1);
println(testMultiline2);
noLoop();
}
static public void main(String[] passedArgs) {
String[] appletArgs = new String[] { "multimultilinestr" };
if (passedArgs != null) {
PApplet.main(concat(appletArgs, passedArgs));
} else {
PApplet.main(appletArgs);
}
}
}
+14
View File
@@ -0,0 +1,14 @@
String testMultiline1 = """
line1 "
line 2 ""
line 3
line 4""";
final String testMultiline2 = """
line5 "
line 6 ""
line 7
line 8""";
println(testMultiline1);
println(testMultiline2);