3 using System.Security.Permissions;
6 namespace MonoTests.System.Drawing {
9 [SecurityPermission (SecurityAction.Deny, UnmanagedCode = true)]
10 public class ColorTranslatorFixture {
12 public void FromHtml ()
14 Color [] colors = new Color [] {
15 Color.Aqua, Color.Black, Color.Blue, Color.Fuchsia, Color.Gray,
16 Color.Green, Color.Lime, Color.Maroon, Color.Navy, Color.Olive,
17 Color.Purple, Color.Red, Color.Silver, Color.Teal, Color.White,
20 SystemColors.ActiveBorder, SystemColors.ActiveCaption,
22 //SystemColors.ControlLightLight,
23 SystemColors.ActiveCaptionText, SystemColors.GrayText,
24 //SystemColors.InactiveBorder, SystemColors.InactiveCaption,
25 SystemColors.InfoText, SystemColors.Menu,
26 SystemColors.ControlDarkDark,
27 //SystemColors.ControlText, SystemColors.ControlDark,
29 SystemColors.AppWorkspace, SystemColors.Desktop,
30 //SystemColors.ControlDark,
31 SystemColors.ControlText,
32 SystemColors.Highlight, SystemColors.HighlightText,
33 //SystemColors.InactiveCaptionText,
35 SystemColors.MenuText, SystemColors.ScrollBar,
36 //SystemColors.ControlLight, SystemColors.ControlLightLight
38 string [] htmlColors = new string [] {
39 "Aqua", "Black", "Blue", "Fuchsia", "Gray", "Green",
40 "Lime", "Maroon", "Navy", "Olive", "Purple", "Red",
41 "Silver", "Teal", "White", "Yellow",
43 "activeborder", "activecaption", "buttonface",
45 "captiontext", "graytext",
46 //"iborder", "Icaption",
47 "infotext", "menu", "threeddarkshadow",
48 //"thrface", "Threedshadow",
49 "window", "appworkspace",
52 "buttontext", "highlight",
56 "menutext", "scrollbar",
57 //"thhighlight", "thlightshadow"
60 for (int i=0; i<colors.Length; i++)
61 Assert.AreEqual (colors[i], ColorTranslator.FromHtml (htmlColors [i]));
65 public void FromOle ()
67 Assert.AreEqual (Color.FromArgb (0x10, 0x20, 0x30), ColorTranslator.FromOle (0x302010));
68 Assert.AreEqual (Color.FromArgb (0xbb, 0x20, 0x30), ColorTranslator.FromOle (unchecked ((int)0xee3020bb)));
72 public void FromWin32 ()
74 Assert.AreEqual (Color.FromArgb (0x10, 0x20, 0x30), ColorTranslator.FromWin32 (0x302010));
75 Assert.AreEqual (Color.FromArgb (0xbb, 0x20, 0x30), ColorTranslator.FromWin32 (unchecked ((int)0xee3020bb)));
81 string [] htmlColors = new string [] {
82 "activeborder", "activecaption", "captiontext", "appworkspace", "buttonface",
83 "buttonshadow", "threeddarkshadow", "buttonface", "buttonhighlight", "buttontext",
84 "background", "graytext", "highlight", "highlighttext", "highlight", "inactiveborder",
85 "inactivecaption", "inactivecaptiontext", "infobackground", "infotext", "menu",
86 "menutext", "scrollbar", "window", "windowframe", "windowtext",
88 "Transparent", "AliceBlue", "AntiqueWhite", "Aqua", "Aquamarine", "Azure", "Beige",
89 "Bisque", "Black", "BlanchedAlmond", "Blue", "BlueViolet", "Brown", "BurlyWood",
90 "CadetBlue", "Chartreuse", "Chocolate", "Coral", "CornflowerBlue", "Cornsilk",
91 "Crimson", "Cyan", "DarkBlue", "DarkCyan", "DarkGoldenrod", "DarkGray", "DarkGreen",
92 "DarkKhaki", "DarkMagenta", "DarkOliveGreen", "DarkOrange", "DarkOrchid", "DarkRed",
93 "DarkSalmon", "DarkSeaGreen", "DarkSlateBlue", "DarkSlateGray", "DarkTurquoise", "DarkViolet",
94 "DeepPink", "DeepSkyBlue", "DimGray", "DodgerBlue", "Firebrick", "FloralWhite", "ForestGreen",
95 "Fuchsia", "Gainsboro", "GhostWhite", "Gold", "Goldenrod", "Gray", "Green", "GreenYellow",
96 "Honeydew", "HotPink", "IndianRed", "Indigo", "Ivory", "Khaki", "Lavender", "LavenderBlush",
97 "LawnGreen", "LemonChiffon", "LightBlue", "LightCoral", "LightCyan", "LightGoldenrodYellow",
98 "LightGrey", "LightGreen", "LightPink", "LightSalmon", "LightSeaGreen", "LightSkyBlue",
99 "LightSlateGray", "LightSteelBlue", "LightYellow", "Lime", "LimeGreen", "Linen", "Magenta",
100 "Maroon", "MediumAquamarine", "MediumBlue", "MediumOrchid", "MediumPurple", "MediumSeaGreen",
101 "MediumSlateBlue", "MediumSpringGreen", "MediumTurquoise", "MediumVioletRed", "MidnightBlue",
102 "MintCream", "MistyRose", "Moccasin", "NavajoWhite", "Navy", "OldLace", "Olive", "OliveDrab",
103 "Orange", "OrangeRed", "Orchid", "PaleGoldenrod", "PaleGreen", "PaleTurquoise", "PaleVioletRed",
104 "PapayaWhip", "PeachPuff", "Peru", "Pink", "Plum", "PowderBlue", "Purple", "Red", "RosyBrown",
105 "RoyalBlue", "SaddleBrown", "Salmon", "SandyBrown", "SeaGreen", "SeaShell", "Sienna", "Silver",
106 "SkyBlue", "SlateBlue", "SlateGray", "Snow", "SpringGreen", "SteelBlue", "Tan", "Teal",
107 "Thistle", "Tomato", "Turquoise", "Violet", "Wheat", "White", "WhiteSmoke", "Yellow", "YellowGreen",
110 for (KnownColor i=KnownColor.ActiveBorder; i<=KnownColor.YellowGreen; i++)
111 Assert.AreEqual (htmlColors[(int)i-1], ColorTranslator.ToHtml (Color.FromKnownColor (i)));
115 public void ToOle () {
116 Assert.AreEqual (0x302010, ColorTranslator.ToOle (Color.FromArgb (0x10, 0x20, 0x30)));
117 Assert.AreEqual (unchecked ((int)0x3020bb), ColorTranslator.ToOle (Color.FromArgb (0xee, 0xbb, 0x20, 0x30)));
121 public void ToWin32 () {
122 Assert.AreEqual (0x302010, ColorTranslator.ToWin32 (Color.FromArgb (0x10, 0x20, 0x30)));
123 Assert.AreEqual (unchecked ((int)0x3020bb), ColorTranslator.ToWin32 (Color.FromArgb (0xee, 0xbb, 0x20, 0x30)));