You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2013/06/04 08:56:04 UTC

[4/4] git commit: [flex-sdk] [refs/heads/develop] - remove unique id chars from tag names in xml compare so embedded assets match

remove unique id chars from tag names in xml compare so embedded assets match


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/7f859dd5
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/7f859dd5
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/7f859dd5

Branch: refs/heads/develop
Commit: 7f859dd5b88acc118daa3c03575a195a02f54777
Parents: 0d1d19f
Author: Alex Harui <ah...@apache.org>
Authored: Tue Jun 4 07:52:58 2013 +0100
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Jun 4 07:55:08 2013 +0100

----------------------------------------------------------------------
 mustella/as3/src/mustella/CompareBitmap.as |   66 ++++++++++++++++++-----
 1 files changed, 52 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7f859dd5/mustella/as3/src/mustella/CompareBitmap.as
----------------------------------------------------------------------
diff --git a/mustella/as3/src/mustella/CompareBitmap.as b/mustella/as3/src/mustella/CompareBitmap.as
index d4bc71a..940fa7f 100644
--- a/mustella/as3/src/mustella/CompareBitmap.as
+++ b/mustella/as3/src/mustella/CompareBitmap.as
@@ -508,10 +508,8 @@ public class CompareBitmap extends Assert
 		var t:String = xmlreader.data;
 		s = s.replace(/\r/g, "");
 		t = t.replace(/\r/g, "");		
-		if (s !== t)
+		if (s !== t && differ(s, t))
 		{
-			differ(s, t);
-			
 			testResult.doFail ("compare returned" + compareVal, absolutePathResult(url) + ".bad.png");
 			
 			if (useRemoteDiffer)
@@ -1295,8 +1293,10 @@ public class CompareBitmap extends Assert
 		return xml;
 	}
 
-	private function differ(s:String, t:String):void
+	private function differ(s:String, t:String):Boolean
 	{
+		var retval:Boolean = false;
+		
 		var sl:Array = s.split("\n");
 		var tl:Array = t.split("\n");
 		trace(sl.length, tl.length);
@@ -1307,20 +1307,58 @@ public class CompareBitmap extends Assert
 			var b:String = (i < tl.length) ? tl[i] : "";
 			if (a != b)
 			{
-				var c:String = "";
-				var d:String = "";
-				trace(i, "cur: ", a);
-				trace(i, "xml: ", b);
-				var m:int = Math.max(a.length, b.length);
-				for (var j:int = 0; j < m; j++)
+				a = trimTag(a);
+				b = trimTag(b);
+				if (a != b)
+				{
+					retval = true;
+					var c:String = "";
+					var d:String = "";
+					trace(i, "cur: ", a);
+					trace(i, "xml: ", b);
+					var m:int = Math.max(a.length, b.length);
+					for (var j:int = 0; j < m; j++)
+					{
+						c += a.charCodeAt(j) + " ";
+						d += b.charCodeAt(j) + " ";
+					}
+					trace(i, "cur: ", c);
+					trace(i, "xml: ", d);
+				}
+			}
+		}
+		return retval;
+	}
+	
+	// attempt to strip off random unique name chars for embedded assets
+	private function trimTag(a:String):String
+	{
+		var c:int;
+		var d:int;
+		
+		d = a.indexOf("<");
+		if (d != -1)
+		{
+			c = a.indexOf(" ", d);
+			if (c == -1 && a.length > d + 2 && a.charAt(d + 1) == '/')
+				c = a.indexOf(">"); // closing tag
+			if (c != -1)
+			{
+				var rest:String = a.substring(c);
+				for (var i:int = c - 1;i > 0; i--)
 				{
-					c += a.charCodeAt(j) + " ";
-					d += b.charCodeAt(j) + " ";
+					var ch:String = a.charAt(i);
+					if ((ch >= '0' && ch <= '9') || ch == '_')
+					{
+						// assume it is a random char
+					}
+					else
+						break;
 				}
-				trace(i, "cur: ", c);
-				trace(i, "xml: ", d);
+				return a.substring(0, i + 1) + rest;
 			}
 		}
+		return a;
 	}
 }