Skip to content

Commit 939ff6a

Browse files
committed
Version 3.9.0. A lot of cleanup. Tests should theoretically run faster. Removed duplicate code.
1 parent 891ee04 commit 939ff6a

12 files changed

Lines changed: 104 additions & 76 deletions

File tree

pom.xml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,19 @@
44

55
<groupId>com.applitools.imagetester</groupId>
66
<artifactId>ImageTester</artifactId>
7-
<version>3.8.0</version>
7+
<version>3.9.0</version>
88
<packaging>jar</packaging>
99
<properties>
1010
<maven.compiler.source>1.8</maven.compiler.source>
1111
<maven.compiler.target>1.8</maven.compiler.target>
1212
</properties>
1313

1414
<repositories>
15+
<repository>
16+
<id>central</id>
17+
<url>https://repo1.maven.org/maven2</url>
18+
</repository>
19+
1520
<repository>
1621
<id>jitpack.io</id>
1722
<url>https://jitpack.io</url>
@@ -29,6 +34,11 @@
2934
<artifactId>eyes-universal-core-mac</artifactId>
3035
<version>5.77.10</version>
3136
</dependency>
37+
<dependency>
38+
<groupId>com.applitools</groupId>
39+
<artifactId>eyes-universal-core-mac-arm</artifactId>
40+
<version>5.77.10</version>
41+
</dependency>
3242
<dependency>
3343
<groupId>com.applitools</groupId>
3444
<artifactId>eyes-universal-core-linux</artifactId>
@@ -118,11 +128,6 @@
118128
<version>1.7.32</version>
119129
<scope>compile</scope>
120130
</dependency>
121-
<dependency>
122-
<groupId>com.twelvemonkeys.imageio</groupId>
123-
<artifactId>imageio-jpeg</artifactId>
124-
<version>3.12.0</version>
125-
</dependency>
126131
<dependency>
127132
<groupId>com.applitools</groupId>
128133
<artifactId>eyes-sdk-core-java5</artifactId>

src/main/java/com/applitools/imagetester/BatchMapper/BatchMapPojo.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,15 @@ public void setMatchLevel(String matchLevel) {
9393
}
9494
public String getLayoutRegions() { return layoutRegions; }
9595

96-
public void setLayoutRegions() { this.layoutRegions = layoutRegions; }
96+
public void setLayoutRegions(String layoutRegions) { this.layoutRegions = layoutRegions; }
9797

9898
public String getIgnoreRegions() { return ignoreRegions; }
9999

100-
public void setIgnoreRegions() { this.ignoreRegions = ignoreRegions; }
100+
public void setIgnoreRegions(String ignoreRegions) { this.ignoreRegions = ignoreRegions; }
101101

102102
public String getContentRegions() { return contentRegions; }
103103

104-
public void setContentRegions() { this.contentRegions = contentRegions;}
104+
public void setContentRegions(String contentRegions) { this.contentRegions = contentRegions; }
105105

106106

107107
@Override

src/main/java/com/applitools/imagetester/BatchObjects/PDFFileBatch.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public PDFFileBatch(File file, Config conf) throws IOException {
7777

7878
int totalPages = document_.getNumberOfPages();
7979
if (pageList_ == null || pageList_.isEmpty())
80-
pageList_ = Utils.generateRanage(totalPages + 1, 1);
80+
pageList_ = Utils.generateRange(totalPages + 1, 1);
8181

8282
this.disposeCountdown_ = pageList_.size();
8383

src/main/java/com/applitools/imagetester/ImageTester.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,14 @@
2626
import com.applitools.imagetester.lib.Utils;
2727

2828
public class ImageTester {
29-
private static final String cur_ver = "3.8.0";
29+
private static final String cur_ver = "3.9.0";
3030

3131
public static void main(String[] args) {
32+
run(args);
33+
System.exit(0);
34+
}
35+
36+
public static void run(String[] args) {
3237

3338
CommandLineParser parser = new DefaultParser();
3439
Options options = getOptions();
@@ -53,9 +58,9 @@ public static void main(String[] args) {
5358
String batchMapperPath = cmd.getOptionValue("mp", null);
5459
if (batchMapperPath != null) {
5560
runTestWithBatchMapper(logger, cmd);
61+
return;
5662
}
5763

58-
5964
Config config = new Config();
6065
config.apiKey = cmd.getOptionValue("k", System.getenv(ApplitoolsConstants.APPLITOOLS_API_KEY));
6166
config.serverUrl = cmd.getOptionValue("s", System.getenv(ApplitoolsConstants.APPLITOOLS_SERVER_URL));
@@ -86,13 +91,13 @@ public static void main(String[] args) {
8691
.hostOs(cmd.getOptionValue("os", null))
8792
.hostApp(cmd.getOptionValue("ap"))
8893
.environmentName(cmd.getOptionValue("en"))
89-
.saveFaliedTests(cmd.hasOption("as"))
94+
.saveFailedTests(cmd.hasOption("as"))
9095
.ignoreDisplacement(cmd.hasOption("id"))
91-
.saveNewTests(!cmd.hasOption("pn"))
96+
.saveNewTests(!cmd.hasOption("pt"))
9297
.imageCut(cmd.getOptionValues("ic"))
9398
.accSettings(accessibilityOptions)
9499
.logHandler(cmd.hasOption("log"))
95-
.deviceName(cmd.getOptionValue("de", null));
100+
.deviceName(cmd.getOptionValue("dn", null));
96101

97102
config.splitSteps = cmd.hasOption("st");
98103
config.logger = logger;
@@ -202,9 +207,9 @@ private static void runTestWithBatchMapper(final Logger logger, final CommandLin
202207
.logFile(cmd.getOptionValue("lf", null))
203208
.hostOs(currentBatch.os)
204209
.hostApp(currentBatch.browser)
205-
.saveFaliedTests(cmd.hasOption("as"))
210+
.saveFailedTests(cmd.hasOption("as"))
206211
.ignoreDisplacement(cmd.hasOption("id"))
207-
.saveNewTests(!cmd.hasOption("pn"))
212+
.saveNewTests(!cmd.hasOption("pt"))
208213
.imageCut(cmd.getOptionValues("ic"))
209214
.accSettings(accessibilityOptions)
210215
.deviceName(cmd.getOptionValue("dn", null));
@@ -431,7 +436,8 @@ private static Options getOptions() {
431436
.hasArg(false)
432437
.desc("Turn on log prints")
433438
.build());
434-
options.addOption(Option.builder("pn")
439+
options.addOption(Option.builder("pt")
440+
.longOpt("promptNewTests")
435441
.hasArg(false)
436442
.desc("Prompt new tests")
437443
.build());
@@ -570,12 +576,6 @@ private static Options getOptions() {
570576
.hasArgs()
571577
.optionalArg(false)
572578
.build());
573-
options.addOption(Option.builder("de")
574-
.longOpt("deviceName")
575-
.desc("Device Name")
576-
.hasArg()
577-
.argName("deviceNameArg")
578-
.build());
579579
options.addOption(Option.builder("pr")
580580
.longOpt("properties")
581581
.desc("Eyes Properties")

src/main/java/com/applitools/imagetester/TestObjects/BatchMappedPdfFileTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public BatchMappedPdfFileTest(File file, Config conf) {
2121
public TestResults run(Eyes eyes) throws Exception {
2222
try (PDDocument document = PDDocument.load(file(), config().pdfPass)) {
2323
if (pageList_ == null || pageList_.isEmpty())
24-
pageList_ = Utils.generateRanage(document.getNumberOfPages() + 1, 1);
24+
pageList_ = Utils.generateRange(document.getNumberOfPages() + 1, 1);
2525
PDFRenderer pdfRenderer = new PDFRenderer(document);
2626
for (Integer page : pageList_) {
2727
try {

src/main/java/com/applitools/imagetester/TestObjects/PdfFileTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public TestResults run(Eyes eyes) throws Exception {
2424

2525
try (PDDocument document = PDDocument.load(file(), config().pdfPass)) {
2626
if (pageList_ == null || pageList_.isEmpty())
27-
pageList_ = Utils.generateRanage(document.getNumberOfPages() + 1, 1);
27+
pageList_ = Utils.generateRange(document.getNumberOfPages() + 1, 1);
2828
PDFRenderer pdfRenderer = new PDFRenderer(document);
2929
for (Integer page : pageList_) {
3030
try {

src/main/java/com/applitools/imagetester/lib/EyesFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ public EyesFactory environmentName(String environmentName) {
176176
return this;
177177
}
178178

179-
public EyesFactory saveFaliedTests(boolean saveFailed) {
179+
public EyesFactory saveFailedTests(boolean saveFailed) {
180180
this.saveFailed = saveFailed;
181181
return this;
182182
}

src/main/java/com/applitools/imagetester/lib/Utils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public static List<Integer> parsePagesNotation(String input) {
9696
return pagesToInclude;
9797
}
9898

99-
public static List<Integer> generateRanage(int range, int start) {
99+
public static List<Integer> generateRange(int range, int start) {
100100
List<Integer> retRange = new ArrayList<>(range);
101101
for (int i = start; i < range; ++i)
102102
retRange.add(i);

src/test/java/Tests/EyesIntegrationTest.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,119 +3,119 @@
33
import infra.TestBase;
44
import org.junit.Test;
55

6-
import com.applitools.imagetester.ImageTester;
7-
86
/**
97
* End-to-end Eyes integration tests. Requires APPLITOOLS_API_KEY env var.
10-
* Run with: mvn test -Peyes-tests
8+
*
9+
* Against compiled code: mvn test -Peyes-tests
10+
* Against packaged JAR: mvn test -Peyes-tests -Djar=jars/ImageTester_3.9.0.jar
1111
*/
1212
public class EyesIntegrationTest extends TestBase {
1313

1414
// --- Single file tests ---
1515

1616
@Test
1717
public void singlePdf() {
18-
ImageTester.main("-f TestData/b/c/JustPDF/Lorem2.pdf".split(" "));
18+
runImageTester("-f TestData/b/c/JustPDF/Lorem2.pdf");
1919
}
2020

2121
@Test
2222
public void singleImage() {
23-
ImageTester.main("-f TestData/b/c/googleforgoogle.png".split(" "));
23+
runImageTester("-f TestData/b/c/googleforgoogle.png");
2424
}
2525

2626
// --- Folder tests ---
2727

2828
@Test
2929
public void folderWithMixedContent() {
30-
ImageTester.main("-f TestData/b/c -th 10".split(" "));
30+
runImageTester("-f TestData/b/c -th 10");
3131
}
3232

3333
@Test
3434
public void imageFolder() {
35-
ImageTester.main("-f TestData/a/".split(" "));
35+
runImageTester("-f TestData/a/");
3636
}
3737

3838
@Test
3939
public void pdfFolder() {
40-
ImageTester.main("-f TestData/b/c/JustPDF/".split(" "));
40+
runImageTester("-f TestData/b/c/JustPDF/");
4141
}
4242

4343
// --- Split mode ---
4444

4545
@Test
4646
public void pdfSplitMode() {
47-
ImageTester.main("-f TestData/b/c/JustPDF/Lorem3.pdf -st -th 10".split(" "));
47+
runImageTester("-f TestData/b/c/JustPDF/Lorem3.pdf -st -th 10");
4848
}
4949

5050
// --- Page selection ---
5151

5252
@Test
5353
public void pdfPageSelection() {
54-
ImageTester.main("-f TestData/b/c/JustPDF/Lorem3.pdf -sp 1-2 -th 10".split(" "));
54+
runImageTester("-f TestData/b/c/JustPDF/Lorem3.pdf -sp 1-2 -th 10");
5555
}
5656

5757
// --- Forced name ---
5858

5959
@Test
6060
public void forcedName() {
61-
ImageTester.main("-f TestData/b/Lorem1.pdf -fn MyForcedName".split(" "));
61+
runImageTester("-f TestData/b/Lorem1.pdf -fn MyForcedName");
6262
}
6363

6464
// --- Flat batch ---
6565

6666
@Test
6767
public void flatBatchWithId() {
68-
ImageTester.main("-f TestData/b/Lorem1.pdf -fb TestBatch<>testBatchId".split(" "));
68+
runImageTester("-f TestData/b/Lorem1.pdf -fb TestBatch<>testBatchId");
6969
}
7070

7171
// --- Batch notifications ---
7272

7373
@Test
7474
public void batchNotification() {
75-
ImageTester.main("-f TestData/b/c/JustPDF/Lorem2.pdf -nc".split(" "));
75+
runImageTester("-f TestData/b/c/JustPDF/Lorem2.pdf -nc");
7676
}
7777

7878
// --- Image scaling ---
7979

8080
@Test
8181
public void imageScaling() {
82-
ImageTester.main("-f TestData/a/ -ms 1000x1000".split(" "));
82+
runImageTester("-f TestData/a/ -ms 1000x1000");
8383
}
8484

8585
// --- Image cut ---
8686

8787
@Test
8888
public void imageCut() {
89-
ImageTester.main("-f TestData/a/ -ic 10,20,30,40".split(" "));
89+
runImageTester("-f TestData/a/ -ic 10,20,30,40");
9090
}
9191

9292
// --- Ordering ---
9393

9494
@Test
9595
public void imageOrderAlphabetic() {
96-
ImageTester.main("-f TestData/jpegs/alphabetic".split(" "));
96+
runImageTester("-f TestData/jpegs/alphabetic");
9797
}
9898

9999
@Test
100100
public void imageOrderMixed() {
101-
ImageTester.main("-f TestData/jpegs/mixed".split(" "));
101+
runImageTester("-f TestData/jpegs/mixed");
102102
}
103103

104104
// --- Accessibility ---
105105

106106
@Test
107107
public void accessibilityWithRegions() {
108-
ImageTester.main("-f TestData/b/Lorem1.pdf -ac AAA -ari \"100,100,100,100\" -arr \"200,200,200,200\"".split(" "));
108+
runImageTester("-f TestData/b/Lorem1.pdf -ac AAA -ari \"100,100,100,100\" -arr \"200,200,200,200\"");
109109
}
110110

111111
// --- Regions ---
112112

113113
@Test
114114
public void ignoreContentLayoutRegions() {
115-
ImageTester.main("-f TestData/b/Lorem1.pdf -ir \"100,100,100,100\" -cr \"200,200,200,200\" -lr \"300,300,300,300\"".split(" "));
115+
runImageTester("-f TestData/b/Lorem1.pdf -ir \"100,100,100,100\" -cr \"200,200,200,200\" -lr \"300,300,300,300\"");
116116
}
117117

118-
// --- Whitebox: multithreaded folder ---
118+
// --- Whitebox: multithreaded folder (always runs in-process) ---
119119

120120
@Test
121121
public void multithreadedFolderTraversal() {

src/test/java/com/applitools/imagetester/BatchMapper/BatchMapPojoTest.java

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,30 +73,25 @@ public void getterSetterRoundTrip_matchLevel() {
7373
assertEquals("Strict", pojo.getMatchLevel());
7474
}
7575

76-
// CONCERN: setLayoutRegions() is a no-arg setter — it ignores its caller's value
77-
// and leaves the field null. The field can only be set by direct assignment or
78-
// via Jackson's public-field access. The test below documents actual behavior.
7976
@Test
80-
public void setter_layoutRegions_isNoArgAndLeavesFieldNull() {
77+
public void setter_layoutRegions_roundTrip() {
8178
BatchMapPojo pojo = new BatchMapPojo();
82-
pojo.setLayoutRegions();
83-
assertNull(pojo.getLayoutRegions());
79+
pojo.setLayoutRegions("10,20,30,40");
80+
assertEquals("10,20,30,40", pojo.getLayoutRegions());
8481
}
8582

86-
// CONCERN: same broken no-arg setter for ignoreRegions.
8783
@Test
88-
public void setter_ignoreRegions_isNoArgAndLeavesFieldNull() {
84+
public void setter_ignoreRegions_roundTrip() {
8985
BatchMapPojo pojo = new BatchMapPojo();
90-
pojo.setIgnoreRegions();
91-
assertNull(pojo.getIgnoreRegions());
86+
pojo.setIgnoreRegions("50,60,70,80");
87+
assertEquals("50,60,70,80", pojo.getIgnoreRegions());
9288
}
9389

94-
// CONCERN: same broken no-arg setter for contentRegions.
9590
@Test
96-
public void setter_contentRegions_isNoArgAndLeavesFieldNull() {
91+
public void setter_contentRegions_roundTrip() {
9792
BatchMapPojo pojo = new BatchMapPojo();
98-
pojo.setContentRegions();
99-
assertNull(pojo.getContentRegions());
93+
pojo.setContentRegions("90,100,110,120");
94+
assertEquals("90,100,110,120", pojo.getContentRegions());
10095
}
10196

10297
@Test

0 commit comments

Comments
 (0)