diff options
author | Jason Smith <jason.smith@xamarin.com> | 2016-03-22 13:02:25 -0700 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-03-22 16:13:41 -0700 |
commit | 17fdde66d94155fc62a034fa6658995bef6fd6e5 (patch) | |
tree | b5e5073a2a7b15cdbe826faa5c763e270a505729 /Xamarin.Forms.Core.iOS.UITests/Utilities/ParsingUtils.cs | |
download | xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.gz xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.bz2 xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.zip |
Initial import
Diffstat (limited to 'Xamarin.Forms.Core.iOS.UITests/Utilities/ParsingUtils.cs')
-rw-r--r-- | Xamarin.Forms.Core.iOS.UITests/Utilities/ParsingUtils.cs | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.iOS.UITests/Utilities/ParsingUtils.cs b/Xamarin.Forms.Core.iOS.UITests/Utilities/ParsingUtils.cs new file mode 100644 index 00000000..6598e0f5 --- /dev/null +++ b/Xamarin.Forms.Core.iOS.UITests/Utilities/ParsingUtils.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Runtime.Remoting.Messaging; + +using NUnit.Framework; + +using Xamarin.UITest; +using Xamarin.UITest.Queries; +using Xamarin.UITest.Android; +using Xamarin.UITest.iOS; +using System.Globalization; +using System.Text.RegularExpressions; +using System.IO; + +namespace Xamarin.Forms.Core.UITests +{ + + internal static class ParsingUtils + { + public static Font ParseUIFont (string font) + { + FontAttributes fontAttrs = FontAttributes.None; + + // Logger.LogLine ("TEST PARSING"); + + if (font.Contains ("font-weight: bold;")) { + // Logger.LogLine ("Found Bold"); + fontAttrs = FontAttributes.Bold; + } + + return new Font ().WithAttributes (fontAttrs); + } + + public static Color ParseUIColor (string backgroundColor) + { + var delimiters = new char[] { ' ' }; + string[] words = backgroundColor.Split (delimiters, StringSplitOptions.RemoveEmptyEntries); + return new Color (double.Parse (words[1]), double.Parse (words[2]), double.Parse (words[3]), double.Parse (words[4])); + } + + public static Point ParseCGPoint (object CGPoint) { + var point = new Point { X = 0, Y = 0 }; + return point; + } + + public static Matrix ParseCATransform3D (string CATransform3D) + { + // Logger.Log (CATransform3D); + char[] delimiters = { '<', ' ', '>' }; + string[] words = CATransform3D.Split (delimiters, StringSplitOptions.RemoveEmptyEntries); + + List<double> numbers = new List<double> (); + + // Each number is represented by 2 blocks returned by server + for (int i = 0; i < (words.Length - 1); i += 2) { + string word = words[i] + words[i + 1]; + var number = Int64.Parse (word, NumberStyles.HexNumber); + byte[] bytes = BitConverter.GetBytes (number); + byte[] reversedBytes = bytes.Reverse ().ToArray (); + double value = BitConverter.ToDouble (reversedBytes, 0); + numbers.Add (value); + } + + var transformationMatrix = new Matrix (); + transformationMatrix.M00 = numbers[0]; + transformationMatrix.M01 = numbers[1]; + transformationMatrix.M02 = numbers[2]; + transformationMatrix.M03 = numbers[3]; + transformationMatrix.M10 = numbers[4]; + transformationMatrix.M11 = numbers[5]; + transformationMatrix.M12 = numbers[6]; + transformationMatrix.M13 = numbers[7]; + transformationMatrix.M20 = numbers[8]; + transformationMatrix.M21 = numbers[9]; + transformationMatrix.M22 = numbers[10]; + transformationMatrix.M23 = numbers[11]; + transformationMatrix.M30 = numbers[12]; + transformationMatrix.M31 = numbers[13]; + transformationMatrix.M32 = numbers[14]; + transformationMatrix.M33 = numbers[15]; + + return transformationMatrix; + } + + } + +}
\ No newline at end of file |