2 // Tests for System.Web.UI.WebControls.FormView.cs
5 // Merav Sudri (meravs@mainsoft.com)
8 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
34 using System.Collections.Generic;
36 using NUnit.Framework;
39 using System.Web.UI.WebControls;
41 namespace MonoTests.System.Web.UI.WebControls
43 public class CookieParameterPoker : CookieParameter
45 public CookieParameterPoker (CookieParameter param)
50 public CookieParameterPoker (string name, TypeCode type, string cookieName)
51 : base (name, type, cookieName)
55 public CookieParameterPoker (string name, string cookieName)
56 : base (name, cookieName)
60 public CookieParameterPoker () // constructor
65 public object DoEvaluate (HttpContext context, Control control)
67 return base.Evaluate (context, control);
70 public Parameter DoClone ()
75 public object SaveState ()
77 return SaveViewState ();
81 public void LoadState (object o)
86 public StateBag StateBag
88 get { return base.ViewState; }
94 public class CookieParameterTest
97 public void CookieParameter_DefaultProperties ()
99 CookieParameterPoker cookieParam1 = new CookieParameterPoker ();
100 Assert.AreEqual ("", cookieParam1.CookieName, "DefaultCookieName");
101 CookieParameterPoker cookieParam2 = new CookieParameterPoker ("CookieTest", "CookieName");
102 Assert.AreEqual ("CookieTest", cookieParam2.Name, "OverloadContructorName1");
103 Assert.AreEqual ("CookieName", cookieParam2.CookieName, "OverloadContructorCookieName1");
104 CookieParameterPoker cookieParam3 = new CookieParameterPoker ("Salary", TypeCode.UInt64, "SalaryCookie");
105 Assert.AreEqual ("Salary", cookieParam3.Name, "OverloadContructorName2");
106 Assert.AreEqual ("SalaryCookie",cookieParam3.CookieName ,"OverloadContructorCookieName2");
107 Assert.AreEqual (TypeCode.UInt64, cookieParam3.Type, "OverloadContructorType");
108 CookieParameterPoker cookieParam4 = new CookieParameterPoker (cookieParam3);
109 Assert.AreEqual ("Salary", cookieParam4.Name, "OverloadContructorName2");
110 Assert.AreEqual ("SalaryCookie", cookieParam4.CookieName, "OverloadContructorCookieName2");
111 Assert.AreEqual (TypeCode.UInt64, cookieParam4.Type, "OverloadContructorType");
117 public void CookieParameter_AssignToDefaultProperties ()
119 CookieParameterPoker cookieParam = new CookieParameterPoker ();
120 cookieParam.CookieName = "CookieNameTest";
121 Assert.AreEqual ("CookieNameTest", cookieParam.CookieName, "AssignToCookieName");
127 public void CookieParameter_Clone ()
129 HttpCookie cookie = new HttpCookie ("EmployeeCookie");
130 CookieParameterPoker cookieParam = new CookieParameterPoker ("Employee", TypeCode.String ,"EmployeeCookie");
131 CookieParameter clonedParam = (CookieParameter) cookieParam.DoClone ();
132 Assert.AreEqual ("Employee", clonedParam.Name, "CookieParameterCloneName");
133 Assert.AreEqual (TypeCode.String, clonedParam.Type, "CookieParameterCloneType");
134 Assert.AreEqual ("EmployeeCookie", clonedParam.CookieName, "CookieParameterCloneCookieName");
138 [Category("NotWorking")]
139 public void CookieParameter_Evaluate ()
141 CookieParameterPoker cookieParam = new CookieParameterPoker ("Salary", TypeCode.Int64, "SalaryCookie");
142 HttpRequest request = new HttpRequest (String.Empty, "http://www.mono-project.com", String.Empty);
143 HttpResponse response= new HttpResponse (new StringWriter());
144 HttpCookie cookie = new HttpCookie ("SalaryCookie", "1000");
145 Label lbl = new Label ();
146 string value = (string) cookieParam.DoEvaluate (null, lbl);
147 Assert.AreEqual (null, value, "EvaluateWhenNullContext");
148 HttpContext context = new HttpContext (request,response);
149 response.Cookies.Add (cookie) ;
150 request.Cookies.Add (cookie);
151 value = (string)cookieParam.DoEvaluate (context, lbl);
152 Assert.AreEqual ("1000", value, "EvaluateCookieValue1");
153 cookie.Value = "2000";
154 value = (string) cookieParam.DoEvaluate (context, lbl);
155 Assert.AreEqual ("2000", value, "EvaluateCookieValue2");