@@ -187,7 +187,7 @@ private void reportErrorToFile(Analysis analysis, String errorMessage) throws IO
187187 ++errorCount ;
188188 }
189189
190- public static String removeWhitespace (String string ) {
190+ public static String removeWhitespace (String string , boolean diff ) {
191191 if (string .isEmpty ()) {
192192 return "" ;
193193 } else {
@@ -197,7 +197,11 @@ public static String removeWhitespace(String string) {
197197 String line = "" ;
198198 while ((line = in .readLine ()) != null ) {
199199 if (!line .replaceAll ("\\ s+" , "" ).isEmpty ()) {
200- result .append (line .trim ());
200+ String temp = line .trim ();
201+ if (diff && !(temp .charAt (0 ) == '+' || temp .charAt (0 ) == '-' )) {
202+ temp = " " + temp ;
203+ }
204+ result .append (temp );
201205 result .append ("\n " );
202206 }
203207 }
@@ -242,28 +246,28 @@ public static VariationDiffParseOptions optionsSetter(int i) {
242246 }
243247 }
244248
245- public static boolean equalsText (String text1 , String text2 , boolean whitespace ) {
249+ public static boolean equalsText (String text1 , String text2 , boolean whitespace , boolean diff ) {
246250 if (whitespace ) {
247251 return text1 .equals (text2 );
248252 } else {
249- return removeWhitespace (text1 ).equals (removeWhitespace (text2 ));
253+ return removeWhitespace (text1 , diff ).equals (removeWhitespace (text2 , diff ));
250254 }
251255 }
252256
253257 public static boolean [][] runTestsDiff (String text ) {
254258 boolean [][] array = new boolean [2 ][8 ];
255259 for (int i = 0 ; i < 4 ; i ++) {
256260 String diff = parseUnparseDiff (text , optionsSetter (i ));
257- array [0 ][i ] = equalsText (text , diff , true );
258- array [0 ][i + 4 ] = equalsText (text , diff , false );
261+ array [0 ][i ] = equalsText (text , diff , true , true );
262+ array [0 ][i + 4 ] = equalsText (text , diff , false , true );
259263 array [1 ][i ] = (equalsText (VariationUnparser .undiff (text , Time .BEFORE ),
260- VariationUnparser .undiff (diff , Time .BEFORE ), true )
264+ VariationUnparser .undiff (diff , Time .BEFORE ), true , true )
261265 && equalsText (VariationUnparser .undiff (text , Time .AFTER ),
262- VariationUnparser .undiff (diff , Time .AFTER ), true ))
266+ VariationUnparser .undiff (diff , Time .AFTER ), true , true ))
263267 || (equalsText (VariationUnparser .undiff (text , Time .BEFORE ),
264- VariationUnparser .undiff (diff , Time .BEFORE ), false )
268+ VariationUnparser .undiff (diff , Time .BEFORE ), false , true )
265269 && equalsText (VariationUnparser .undiff (text , Time .AFTER ),
266- VariationUnparser .undiff (diff , Time .AFTER ), false ));
270+ VariationUnparser .undiff (diff , Time .AFTER ), false , true ));
267271 array [1 ][i + 4 ] = false ;
268272 }
269273 return array ;
@@ -273,25 +277,26 @@ public static boolean[] runTestsTree(String text) {
273277 boolean [] array = new boolean [8 ];
274278 for (int i = 0 ; i < 4 ; i ++) {
275279 String temp = parseUnparseTree (text , optionsSetter (i ));
276- array [i ] = equalsText (text , temp , true );
277- array [i + 4 ] = equalsText (text , temp , false );
280+ array [i ] = equalsText (text , temp , true , false );
281+ array [i + 4 ] = equalsText (text , temp , false , false );
278282 }
279283 return array ;
280284 }
281285
282286 public static boolean [] runDataTest (String textDiff , String treeBefore , String treeAfter ) throws IOException {
283287 boolean [] array = new boolean [8 ];
284288 array [0 ] = JGitDiff .textDiff (treeBefore , treeAfter , SupportedAlgorithm .MYERS ).equals (textDiff );
285- array [1 ] = removeWhitespace (JGitDiff .textDiff (treeBefore , treeAfter , SupportedAlgorithm .MYERS ))
286- .equals (removeWhitespace (textDiff ));
289+ array [1 ] = removeWhitespace (JGitDiff .textDiff (treeBefore , treeAfter , SupportedAlgorithm .MYERS ), true )
290+ .equals (removeWhitespace (textDiff , true ));
287291 array [2 ] = JGitDiff .textDiff (treeBefore , treeAfter , SupportedAlgorithm .HISTOGRAM ).equals (textDiff );
288- array [3 ] = removeWhitespace (JGitDiff .textDiff (treeBefore , treeAfter , SupportedAlgorithm .HISTOGRAM ))
289- .equals (removeWhitespace (textDiff ));
292+ array [3 ] = removeWhitespace (JGitDiff .textDiff (treeBefore , treeAfter , SupportedAlgorithm .HISTOGRAM ), true )
293+ .equals (removeWhitespace (textDiff , true ));
290294 array [4 ] = treeBefore .equals (VariationUnparser .undiff (textDiff , Time .BEFORE ));
291- array [5 ] = removeWhitespace (treeBefore )
292- .equals (removeWhitespace (VariationUnparser .undiff (textDiff , Time .BEFORE )));
295+ array [5 ] = removeWhitespace (treeBefore , false )
296+ .equals (removeWhitespace (VariationUnparser .undiff (textDiff , Time .BEFORE ), false ));
293297 array [6 ] = treeAfter .equals (VariationUnparser .undiff (textDiff , Time .AFTER ));
294- array [7 ] = removeWhitespace (treeAfter ).equals (removeWhitespace (VariationUnparser .undiff (textDiff , Time .AFTER )));
298+ array [7 ] = removeWhitespace (treeAfter , false )
299+ .equals (removeWhitespace (VariationUnparser .undiff (textDiff , Time .AFTER ), false ));
295300 return array ;
296301 }
297302
0 commit comments