From 30cee886da219c24954a01a0524bb4bc5d58e6f4 Mon Sep 17 00:00:00 2001 From: A Pottinger Date: Sat, 29 Jan 2022 15:19:01 -0800 Subject: [PATCH] Closes #317: Preproc behavior when size defined in user class. Though this was already fixed, just adding a test to confirm that it stays fixed. Need to respect calls to user-definined size methods including those defined in user-made classes. --- .../processing/mode/java/ParserTests.java | 5 ++ java/test/resources/sizeclass.expected | 50 +++++++++++++++++++ java/test/resources/sizeclass.pde | 21 ++++++++ 3 files changed, 76 insertions(+) create mode 100644 java/test/resources/sizeclass.expected create mode 100644 java/test/resources/sizeclass.pde diff --git a/java/test/processing/mode/java/ParserTests.java b/java/test/processing/mode/java/ParserTests.java index e0df2f636..f57849129 100644 --- a/java/test/processing/mode/java/ParserTests.java +++ b/java/test/processing/mode/java/ParserTests.java @@ -410,4 +410,9 @@ public class ParserTests { expectRunnerException("mixing", 1); } + @Test + public void testSizeClass() { + expectGood("sizeclass"); + } + } diff --git a/java/test/resources/sizeclass.expected b/java/test/resources/sizeclass.expected new file mode 100644 index 000000000..d93e31c71 --- /dev/null +++ b/java/test/resources/sizeclass.expected @@ -0,0 +1,50 @@ +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 sizeclass extends PApplet { + +// Thanks StanLepunK: https://github.com/processing/processing4/issues/317 +Truc truc = new Truc(); + + public void setup() { + /* size commented out by preprocessor */; + truc.size(1,1); // problem >>> error \u00e0 "." + // func(); +} + + public void draw() { + truc.size(1,1); // no problem +} + + public void func() { + truc.size(1,1); // no problem +} + +class Truc { + public void size(int x, int y) { + } +} + + + public void settings() { size(200, 200); } + + static public void main(String[] passedArgs) { + String[] appletArgs = new String[] { "sizeclass" }; + if (passedArgs != null) { + PApplet.main(concat(appletArgs, passedArgs)); + } else { + PApplet.main(appletArgs); + } + } +} diff --git a/java/test/resources/sizeclass.pde b/java/test/resources/sizeclass.pde new file mode 100644 index 000000000..65d3d15df --- /dev/null +++ b/java/test/resources/sizeclass.pde @@ -0,0 +1,21 @@ +// Thanks StanLepunK: https://github.com/processing/processing4/issues/317 +Truc truc = new Truc(); + +void setup() { + size(200,200); + truc.size(1,1); // problem >>> error à "." + // func(); +} + +void draw() { + truc.size(1,1); // no problem +} + +void func() { + truc.size(1,1); // no problem +} + +class Truc { + void size(int x, int y) { + } +}