@@ -329,19 +329,21 @@ public JSONObject validate() {
329329 }
330330 }
331331 }
332+ overlapElements .clear ();
332333 }
333- if (!offsetLeftElements .isEmpty ()){
334+ if (!offsetLeftElements .isEmpty ()) {
334335 for (Map .Entry <WebElement , String > entry : offsetLeftElements .entrySet ()) {
335- if (!elementsHasEqualOffset (true , entry .getKey ())) {
336- errorMessage .add (String .format ("Element '%s' has not the same left offset as element '%s'" , rootElementReadableName , entry .getValue ()));
337- if (drawMap ) {
338- drawElementRect (g , Color .RED , rootElement );
339- drawElementRect (g , Color .MAGENTA , entry .getKey ());
340- }
336+ if (!elementsHasEqualOffset (true , entry .getKey ())) {
337+ errorMessage .add (String .format ("Element '%s' has not the same left offset as element '%s'" , rootElementReadableName , entry .getValue ()));
338+ if (drawMap ) {
339+ drawElementRect (g , Color .RED , rootElement );
340+ drawElementRect (g , Color .MAGENTA , entry .getKey ());
341341 }
342+ }
342343 }
344+ offsetLeftElements .clear ();
343345 }
344- if (!offsetRightElements .isEmpty ()){
346+ if (!offsetRightElements .isEmpty ()) {
345347 for (Map .Entry <WebElement , String > entry : offsetRightElements .entrySet ()) {
346348 if (!elementsHasEqualOffset (false , entry .getKey ())) {
347349 errorMessage .add (String .format ("Element '%s' has not the same right offset as element '%s'" , rootElementReadableName , entry .getValue ()));
@@ -351,6 +353,7 @@ public JSONObject validate() {
351353 }
352354 }
353355 }
356+ offsetRightElements .clear ();
354357 }
355358
356359 if (!errorMessage .isEmpty ()) {
@@ -387,14 +390,14 @@ private boolean elementsAreOverlapped(WebElement elementOverlapWith) {
387390 || (xRoot + widthRoot > elLoc .x && yRoot + heightRoot > elLoc .y && xRoot + widthRoot < elLoc .x + elSize .width && yRoot + widthRoot < elLoc .y + elSize .height );
388391 }
389392
390- private boolean elementsHasEqualOffset (boolean isLeft , WebElement elementToCompare ){
393+ private boolean elementsHasEqualOffset (boolean isLeft , WebElement elementToCompare ) {
391394 Point elLoc = elementToCompare .getLocation ();
392395 Dimension elSize = elementToCompare .getSize ();
393396
394- if (isLeft ){
395- return Math . abs ( xRoot - elLoc .getX ()) == 3 ;
396- }else {
397- return Math . abs (( pageWidth - xRoot + widthRoot ) - (pageWidth - elLoc .getX () + elSize .getWidth ())) == 3 ;
397+ if (isLeft ) {
398+ return xRoot == elLoc .getX ();
399+ } else {
400+ return ( pageWidth - xRoot + widthRoot ) == (pageWidth - elLoc .getX () + elSize .getWidth ());
398401 }
399402 }
400403
0 commit comments