WizardTest.cs 68 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825
  1. //
  2. // Tests for System.Web.UI.WebControls.WizardTest.cs
  3. //
  4. // Author:
  5. // Vladimir Krasnov <[email protected]>
  6. // Yoni Klein ([email protected])
  7. //
  8. //
  9. // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
  10. //
  11. // Permission is hereby granted, free of charge, to any person obtaining
  12. // a copy of this software and associated documentation files (the
  13. // "Software"), to deal in the Software without restriction, including
  14. // without limitation the rights to use, copy, modify, merge, publish,
  15. // distribute, sublicense, and/or sell copies of the Software, and to
  16. // permit persons to whom the Software is furnished to do so, subject to
  17. // the following conditions:
  18. //
  19. // The above copyright notice and this permission notice shall be
  20. // included in all copies or substantial portions of the Software.
  21. //
  22. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  23. // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  24. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  25. // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
  26. // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
  27. // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
  28. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  29. #if NET_2_0
  30. using System;
  31. using System.Collections.Generic;
  32. using System.Text;
  33. using System.Web;
  34. using System.Web.UI;
  35. using System.Drawing;
  36. using System.Web.UI.WebControls;
  37. using Template = System.Web.UI.WebControls;
  38. using System.IO;
  39. using System.Collections;
  40. using System.Collections.Specialized;
  41. using NUnit.Framework;
  42. using MonoTests.SystemWeb.Framework;
  43. using MonoTests.stand_alone.WebHarness;
  44. using System.Threading;
  45. namespace MonoTests.System.Web.UI.WebControls
  46. {
  47. class PokerWizard : Wizard
  48. {
  49. // View state Stuff
  50. public PokerWizard ()
  51. : base ()
  52. {
  53. TrackViewState ();
  54. }
  55. public object SaveState ()
  56. {
  57. return SaveViewState ();
  58. }
  59. public void LoadState (object o)
  60. {
  61. LoadViewState (o);
  62. }
  63. public StateBag StateBag
  64. {
  65. get { return base.ViewState; }
  66. }
  67. public static string PokerCancelButtonID
  68. {
  69. get
  70. {
  71. return PokerWizard.CancelButtonID;
  72. }
  73. }
  74. public static string PokerCustomFinishButtonID
  75. {
  76. get
  77. {
  78. return PokerWizard.CustomFinishButtonID;
  79. }
  80. }
  81. public static string PokerCustomNextButtonID
  82. {
  83. get
  84. {
  85. return PokerWizard.CustomNextButtonID;
  86. }
  87. }
  88. public static string PokerCustomPreviousButtonID
  89. {
  90. get
  91. {
  92. return PokerWizard.CustomPreviousButtonID;
  93. }
  94. }
  95. public static string PokerDataListID
  96. {
  97. get
  98. {
  99. return PokerWizard.DataListID;
  100. }
  101. }
  102. public static string PokerFinishButtonID
  103. {
  104. get
  105. {
  106. return PokerWizard.FinishButtonID;
  107. }
  108. }
  109. public static string PokerFinishPreviousButtonID
  110. {
  111. get
  112. {
  113. return PokerWizard.FinishPreviousButtonID;
  114. }
  115. }
  116. public static string PokerSideBarButtonID
  117. {
  118. get
  119. {
  120. return PokerWizard.SideBarButtonID;
  121. }
  122. }
  123. public static string PokerStartNextButtonID
  124. {
  125. get
  126. {
  127. return PokerWizard.StartNextButtonID;
  128. }
  129. }
  130. public static string PokerStepNextButtonID
  131. {
  132. get
  133. {
  134. return PokerWizard.StepNextButtonID;
  135. }
  136. }
  137. public static string PokerStepPreviousButtonID
  138. {
  139. get
  140. {
  141. return PokerWizard.StepPreviousButtonID;
  142. }
  143. }
  144. public HtmlTextWriterTag PokerTagKey
  145. {
  146. get
  147. {
  148. return base.TagKey;
  149. }
  150. }
  151. public object PokerSaveControlState ()
  152. {
  153. return base.SaveControlState ();
  154. }
  155. public void PokerLoadControlState (object state)
  156. {
  157. base.LoadControlState (state);
  158. }
  159. public bool PokerAllowNavigationToStep (int index)
  160. {
  161. return base.AllowNavigationToStep (index);
  162. }
  163. public void PokerCreateChildControls ()
  164. {
  165. base.CreateChildControls ();
  166. }
  167. public ControlCollection PokerCreateControlCollection ()
  168. {
  169. return base.CreateControlCollection ();
  170. }
  171. public Style PokerCreateControlStyle ()
  172. {
  173. return base.CreateControlStyle ();
  174. }
  175. public void DoOnActiveStepChanged (object source, EventArgs e)
  176. {
  177. base.OnActiveStepChanged (source, e);
  178. }
  179. public void DoOnCancelButtonClick (EventArgs e)
  180. {
  181. base.OnCancelButtonClick (e);
  182. }
  183. public void DoOnDataBinding (EventArgs e)
  184. {
  185. base.OnDataBinding (e);
  186. }
  187. public void DoOnFinishButtonClick (WizardNavigationEventArgs e)
  188. {
  189. base.OnFinishButtonClick (e);
  190. }
  191. public void DoOnInit (EventArgs e)
  192. {
  193. base.OnInit (e);
  194. }
  195. public void DoOnLoad (EventArgs e)
  196. {
  197. base.OnLoad (e);
  198. }
  199. public void DoOnNextButtonClick (WizardNavigationEventArgs e)
  200. {
  201. base.OnNextButtonClick (e);
  202. }
  203. public void DoOnPreRender (EventArgs e)
  204. {
  205. base.OnPreRender (e);
  206. }
  207. public void DoOnPreviousButtonClick (WizardNavigationEventArgs e)
  208. {
  209. base.OnPreviousButtonClick (e);
  210. }
  211. public void DoOnSideBarButtonClick (WizardNavigationEventArgs e)
  212. {
  213. base.OnSideBarButtonClick (e);
  214. }
  215. public string Tag
  216. {
  217. get { return base.TagName; }
  218. }
  219. public string Render ()
  220. {
  221. StringWriter sw = new StringWriter ();
  222. sw.NewLine = "\n";
  223. HtmlTextWriter writer = new HtmlTextWriter (sw);
  224. base.Render (writer);
  225. return writer.InnerWriter.ToString ();
  226. }
  227. public Style GetStyle ()
  228. {
  229. return base.CreateControlStyle ();
  230. }
  231. public void TrackState ()
  232. {
  233. TrackViewState ();
  234. }
  235. private bool onBubble;
  236. public bool OnBubbleEventCalled
  237. {
  238. get { return onBubble; }
  239. set { onBubble = value; }
  240. }
  241. protected override bool OnBubbleEvent (object source, EventArgs e)
  242. {
  243. onBubble = true;
  244. return base.OnBubbleEvent (source, e);
  245. }
  246. public bool DoBubbleEvent (object source, EventArgs e)
  247. {
  248. return base.OnBubbleEvent (source, e);
  249. }
  250. public void DoEnsureChildControls ()
  251. {
  252. base.EnsureChildControls ();
  253. }
  254. }
  255. [TestFixture]
  256. public class WizardTest
  257. {
  258. [SetUp]
  259. public void SetupTestCase ()
  260. {
  261. Thread.Sleep (100);
  262. }
  263. [Test]
  264. public void Wizard_DefaultProperty ()
  265. {
  266. PokerWizard wizard = new PokerWizard ();
  267. // Static members
  268. Assert.AreEqual ("Cancel", Wizard.CancelCommandName, "CancelCommandName");
  269. Assert.AreEqual ("MoveComplete", Wizard.MoveCompleteCommandName, "MoveCompleteCommandName");
  270. Assert.AreEqual ("MoveNext", Wizard.MoveNextCommandName, "MoveNextCommandName");
  271. Assert.AreEqual ("MovePrevious", Wizard.MovePreviousCommandName, "MovePreviousCommandName");
  272. Assert.AreEqual ("Move", Wizard.MoveToCommandName, "MoveToCommandName");
  273. // Protected Fields
  274. Assert.AreEqual ("CancelButton", PokerWizard.PokerCancelButtonID, "CancelButtonID");
  275. Assert.AreEqual ("CustomFinishButton", PokerWizard.PokerCustomFinishButtonID, "CustomFinishButtonID");
  276. Assert.AreEqual ("CustomNextButton", PokerWizard.PokerCustomNextButtonID, "CustomNextButtonID");
  277. Assert.AreEqual ("CustomPreviousButton", PokerWizard.PokerCustomPreviousButtonID, "CustomPreviousButtonID");
  278. Assert.AreEqual ("SideBarList", PokerWizard.PokerDataListID, "DataListID");
  279. Assert.AreEqual ("FinishButton", PokerWizard.PokerFinishButtonID, "FinishButtonID");
  280. Assert.AreEqual ("FinishPreviousButton", PokerWizard.PokerFinishPreviousButtonID, "FinishPreviousButtonID");
  281. Assert.AreEqual ("SideBarButton", PokerWizard.PokerSideBarButtonID, "SideBarButtonID");
  282. Assert.AreEqual ("StartNextButton", PokerWizard.PokerStartNextButtonID, "StartNextButtonID");
  283. Assert.AreEqual ("StepNextButton", PokerWizard.PokerStepNextButtonID, "StepNextButtonID");
  284. Assert.AreEqual ("StepPreviousButton", PokerWizard.PokerStepPreviousButtonID, "StepPreviousButtonID");
  285. //Public Properties
  286. Assert.AreEqual ("", wizard.CancelButtonImageUrl, "CancelButtonImageUrl");
  287. Assert.AreEqual (typeof (Style), wizard.CancelButtonStyle.GetType (), "CancelButtonStyle");
  288. Assert.AreEqual ("Cancel", wizard.CancelButtonText, "CancelButtonText");
  289. Assert.AreEqual (ButtonType.Button, wizard.CancelButtonType, "CancelButtonType");
  290. Assert.AreEqual ("", wizard.CancelDestinationPageUrl, "CancelDestinationPageUrl");
  291. Assert.AreEqual (0, wizard.CellPadding, "CellPadding");
  292. Assert.AreEqual (0, wizard.CellSpacing, "CellSpacing");
  293. Assert.AreEqual (false, wizard.DisplayCancelButton, "DisplayCancelButton");
  294. Assert.AreEqual (true, wizard.DisplaySideBar, "DisplaySideBar");
  295. Assert.AreEqual ("", wizard.FinishCompleteButtonImageUrl, "FinishCompleteButtonImageUrl");
  296. Assert.AreEqual (typeof (Style), wizard.FinishCompleteButtonStyle.GetType (), "FinishCompleteButtonStyle");
  297. Assert.AreEqual ("Finish", wizard.FinishCompleteButtonText, "FinishCompleteButtonText");
  298. Assert.AreEqual (ButtonType.Button, wizard.FinishCompleteButtonType, "FinishCompleteButtonType");
  299. Assert.AreEqual ("", wizard.FinishDestinationPageUrl, "FinishDestinationPageUrl");
  300. Assert.AreEqual (null, wizard.FinishNavigationTemplate, "FinishNavigationTemplate");
  301. Assert.AreEqual ("", wizard.FinishPreviousButtonImageUrl, "FinishPreviousButtonImageUrl");
  302. Assert.AreEqual (typeof (Style), wizard.FinishPreviousButtonStyle.GetType (), "FinishPreviousButtonStyle");
  303. Assert.AreEqual ("Previous", wizard.FinishPreviousButtonText, "FinishPreviousButtonText");
  304. Assert.AreEqual (ButtonType.Button, wizard.FinishPreviousButtonType, "FinishPreviousButtonType");
  305. Assert.AreEqual (typeof (TableItemStyle), wizard.HeaderStyle.GetType (), "HeaderStyle");
  306. Assert.AreEqual (null, wizard.HeaderTemplate, "HeaderTemplate");
  307. Assert.AreEqual ("", wizard.HeaderText, "HeaderText");
  308. Assert.AreEqual (typeof (Style), wizard.NavigationButtonStyle.GetType (), "NavigationButtonStyle");
  309. Assert.AreEqual (typeof (TableItemStyle), wizard.NavigationStyle.GetType (), "NavigationStyle");
  310. Assert.AreEqual (typeof (Style), wizard.SideBarButtonStyle.GetType (), "SideBarButtonStyle");
  311. Assert.AreEqual (typeof (TableItemStyle), wizard.SideBarStyle.GetType (), "SideBarStyle");
  312. Assert.AreEqual (null, wizard.SideBarTemplate, "SideBarTemplate");
  313. Assert.AreEqual (null, wizard.StartNavigationTemplate, "StartNavigationTemplate");
  314. Assert.AreEqual ("", wizard.StartNextButtonImageUrl, "StartNextButtonImageUrl");
  315. Assert.AreEqual (typeof (Style), wizard.StartNextButtonStyle.GetType (), "StartNextButtonStyle");
  316. Assert.AreEqual ("Next", wizard.StartNextButtonText, "StartNextButtonText");
  317. Assert.AreEqual (ButtonType.Button, wizard.StartNextButtonType, "StartNextButtonType");
  318. Assert.AreEqual (null, wizard.StepNavigationTemplate, "StepNavigationTemplate");
  319. Assert.AreEqual ("", wizard.StepNextButtonImageUrl, "StepNextButtonImageUrl");
  320. Assert.AreEqual (typeof (Style), wizard.StepNextButtonStyle.GetType (), "StepNextButtonStyle");
  321. Assert.AreEqual ("Next", wizard.StepNextButtonText, "StepNextButtonText");
  322. Assert.AreEqual (ButtonType.Button, wizard.StepNextButtonType, "StepNextButtonType");
  323. Assert.AreEqual ("", wizard.StepPreviousButtonImageUrl, "StepPreviousButtonImageUrl");
  324. Assert.AreEqual (typeof (Style), wizard.StepPreviousButtonStyle.GetType (), "StepPreviousButtonStyle");
  325. Assert.AreEqual ("Previous", wizard.StepPreviousButtonText, "StepPreviousButtonText");
  326. Assert.AreEqual (ButtonType.Button, wizard.StepPreviousButtonType, "StepPreviousButtonType");
  327. Assert.AreEqual (typeof (TableItemStyle), wizard.StepStyle.GetType (), "StepStyle");
  328. Assert.AreEqual (typeof (WizardStepCollection), wizard.WizardSteps.GetType (), "WizardSteps");
  329. Assert.IsNotNull (wizard.WizardSteps, "WizardSteps");
  330. }
  331. [Test]
  332. public void Wizard_DefaultPropertyNotWorking ()
  333. {
  334. PokerWizard wizard = new PokerWizard ();
  335. Assert.AreEqual (null, wizard.ActiveStep, "ActiveStep");
  336. Assert.AreEqual ("Skip Navigation Links.", wizard.SkipLinkText, "SkipLinkText");
  337. // Protected Properties
  338. Assert.AreEqual (typeof (HtmlTextWriterTag), wizard.PokerTagKey.GetType (), "TagKey");
  339. }
  340. [Test]
  341. public void Wizard_StateBag ()
  342. {
  343. PokerWizard w = new PokerWizard ();
  344. Assert.AreEqual (0, w.Attributes.Count, "Attributes.Count");
  345. Assert.AreEqual (0, w.StateBag.Count, "ViewState.Count");
  346. w.CancelButtonImageUrl = "value";
  347. Assert.AreEqual ("value", w.CancelButtonImageUrl, "CancelButtonImageUrl");
  348. Assert.AreEqual (1, w.StateBag.Count, "ViewState.Count-1");
  349. w.CancelDestinationPageUrl = "value";
  350. Assert.AreEqual ("value", w.CancelDestinationPageUrl, "CancelDestinationPageUrl");
  351. Assert.AreEqual (2, w.StateBag.Count, "ViewState.Count-2");
  352. w.FinishCompleteButtonImageUrl = "value";
  353. Assert.AreEqual ("value", w.FinishCompleteButtonImageUrl, "FinishCompleteButtonImageUrl");
  354. Assert.AreEqual (3, w.StateBag.Count, "ViewState.Count-3");
  355. w.FinishDestinationPageUrl = "value";
  356. Assert.AreEqual ("value", w.FinishDestinationPageUrl, "FinishDestinationPageUrl");
  357. Assert.AreEqual (4, w.StateBag.Count, "ViewState.Count-4");
  358. w.FinishPreviousButtonImageUrl = "value";
  359. Assert.AreEqual ("value", w.FinishPreviousButtonImageUrl, "FinishPreviousButtonImageUrl");
  360. Assert.AreEqual (5, w.StateBag.Count, "ViewState.Count-5");
  361. w.StartNextButtonImageUrl = "value";
  362. Assert.AreEqual ("value", w.StartNextButtonImageUrl, "StartNextButtonImageUrl");
  363. Assert.AreEqual (6, w.StateBag.Count, "ViewState.Count-6");
  364. w.StepNextButtonImageUrl = "value";
  365. Assert.AreEqual ("value", w.StepNextButtonImageUrl, "StepNextButtonImageUrl");
  366. Assert.AreEqual (7, w.StateBag.Count, "ViewState.Count-7");
  367. w.StepPreviousButtonImageUrl = "value";
  368. Assert.AreEqual ("value", w.StepPreviousButtonImageUrl, "StepPreviousButtonImageUrl");
  369. Assert.AreEqual (8, w.StateBag.Count, "ViewState.Count-8");
  370. w.CancelButtonText = "value";
  371. Assert.AreEqual ("value", w.CancelButtonText, "CancelButtonText");
  372. Assert.AreEqual (9, w.StateBag.Count, "ViewState.Count-9");
  373. w.FinishCompleteButtonText = "value";
  374. Assert.AreEqual ("value", w.FinishCompleteButtonText, "FinishCompleteButtonText");
  375. Assert.AreEqual (10, w.StateBag.Count, "ViewState.Count-10");
  376. w.StartNextButtonText = "value";
  377. Assert.AreEqual ("value", w.StartNextButtonText, "StartNextButtonText");
  378. Assert.AreEqual (11, w.StateBag.Count, "ViewState.Count-11");
  379. w.StepNextButtonText = "value";
  380. Assert.AreEqual ("value", w.StepNextButtonText, "StepNextButtonText");
  381. Assert.AreEqual (12, w.StateBag.Count, "ViewState.Count-12");
  382. w.StepPreviousButtonText = "value";
  383. Assert.AreEqual ("value", w.StepPreviousButtonText, "StepPreviousButtonText");
  384. Assert.AreEqual (13, w.StateBag.Count, "ViewState.Count-13");
  385. w.CancelButtonType = ButtonType.Button;
  386. Assert.AreEqual (ButtonType.Button, w.CancelButtonType, "CancelButtonType");
  387. Assert.AreEqual (14, w.StateBag.Count, "ViewState.Count-14");
  388. w.FinishCompleteButtonType = ButtonType.Button;
  389. Assert.AreEqual (ButtonType.Button, w.FinishCompleteButtonType, "FinishCompleteButtonType");
  390. Assert.AreEqual (15, w.StateBag.Count, "ViewState.Count-15");
  391. w.FinishPreviousButtonType = ButtonType.Button;
  392. Assert.AreEqual (ButtonType.Button, w.FinishPreviousButtonType, "FinishPreviousButtonType");
  393. Assert.AreEqual (16, w.StateBag.Count, "ViewState.Count-16");
  394. w.StartNextButtonType = ButtonType.Button;
  395. Assert.AreEqual (ButtonType.Button, w.StartNextButtonType, "StartNextButtonType");
  396. Assert.AreEqual (17, w.StateBag.Count, "ViewState.Count-17");
  397. w.StepNextButtonType = ButtonType.Button;
  398. Assert.AreEqual (ButtonType.Button, w.StepNextButtonType, "StepNextButtonType");
  399. Assert.AreEqual (18, w.StateBag.Count, "ViewState.Count-18");
  400. w.StepPreviousButtonType = ButtonType.Button;
  401. Assert.AreEqual (ButtonType.Button, w.StepPreviousButtonType, "StepPreviousButtonType");
  402. Assert.AreEqual (19, w.StateBag.Count, "ViewState.Count-19");
  403. }
  404. [Test]
  405. [Category ("NunitWeb")]
  406. public void Wizard_CancelButtonPropertyRendering ()
  407. {
  408. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_CancelButtonPropertyRendering));
  409. string html = t.Run ();
  410. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  411. <tr style=""height:100%;"">
  412. <td>Start</td>
  413. </tr><tr>
  414. <td align=""right""><table cellspacing=""5"" cellpadding=""5"" border=""0"">
  415. <tr>
  416. <td align=""right""><input type=""submit"" name=""ctl00$StartNavigationTemplateContainerID$StartNextButton"" value=""Next"" id=""ctl00_StartNavigationTemplateContainerID_StartNextButton"" /></td><td align=""right""><input type=""submit"" name=""ctl00$StartNavigationTemplateContainerID$CancelButton"" value=""CancelButtonText"" id=""ctl00_StartNavigationTemplateContainerID_CancelButton"" style=""border-color:Red;"" /></td>
  417. </tr>
  418. </table></td>
  419. </tr>
  420. </table>";
  421. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "CancelButtonPropertyRendering");
  422. }
  423. public static void _CancelButtonPropertyRendering (Page p)
  424. {
  425. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  426. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  427. PokerWizard w = new PokerWizard ();
  428. w.CancelButtonStyle.BorderColor = Color.Red;
  429. w.CancelButtonImageUrl = "CancelButtonImageUrl";
  430. w.CancelDestinationPageUrl = "CancelDestinationPageUrl";
  431. w.CancelButtonText = "CancelButtonText";
  432. w.CancelButtonType = ButtonType.Button;
  433. w.DisplayCancelButton = true;
  434. WizardStep ws1 = new WizardStep ();
  435. ws1.ID = "step1";
  436. ws1.StepType = WizardStepType.Start;
  437. ws1.Controls.Add (new LiteralControl ("Start"));
  438. WizardStep ws2 = new WizardStep ();
  439. ws2.ID = "step2";
  440. ws2.StepType = WizardStepType.Finish;
  441. ws2.Controls.Add (new LiteralControl ("Finish"));
  442. w.DisplaySideBar = false;
  443. w.WizardSteps.Add (ws1);
  444. w.WizardSteps.Add (ws2);
  445. p.Controls.Add(lcb);
  446. p.Controls.Add (w);
  447. p.Controls.Add (lce);
  448. }
  449. [Test]
  450. [Category ("NunitWeb")]
  451. public void Wizard_FinishButtonPropertyRendering ()
  452. {
  453. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_FinishButtonPropertyRendering));
  454. string html = t.Run ();
  455. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  456. <tr style=""height:100%;"">
  457. <td>Finish</td>
  458. </tr><tr>
  459. <td align=""right""><table cellspacing=""5"" cellpadding=""5"" border=""0"">
  460. <tr>
  461. <td align=""right""><input type=""image"" name=""ctl00$FinishNavigationTemplateContainerID$FinishPreviousImageButton"" id=""ctl00_FinishNavigationTemplateContainerID_FinishPreviousImageButton"" src=""http://FinishPreviousButtonImageUrl"" alt=""FinishPreviousButtonText"" style=""background-color:Red;border-width:0px;"" /></td><td align=""right""><a id=""ctl00_FinishNavigationTemplateContainerID_FinishLinkButton"" href=""javascript:__doPostBack('ctl00$FinishNavigationTemplateContainerID$FinishLinkButton','')"" style=""border-color:Red;"">FinishCompleteButtonText</a></td>
  462. </tr>
  463. </table></td>
  464. </tr>
  465. </table>";
  466. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "CancelButtonPropertyRendering");
  467. }
  468. public static void _FinishButtonPropertyRendering (Page p)
  469. {
  470. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  471. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  472. PokerWizard w = new PokerWizard ();
  473. w.FinishCompleteButtonStyle.BorderColor = Color.Red;
  474. w.FinishCompleteButtonImageUrl = "http://FinishCompleteButtonImageUrl";
  475. w.FinishDestinationPageUrl = "FinishDestinationPageUrl";
  476. w.FinishCompleteButtonText = "FinishCompleteButtonText";
  477. w.FinishCompleteButtonType = ButtonType.Link;
  478. w.FinishPreviousButtonImageUrl = "http://FinishPreviousButtonImageUrl";
  479. w.FinishPreviousButtonStyle.BackColor = Color.Red;
  480. w.FinishPreviousButtonText = "FinishPreviousButtonText";
  481. w.FinishPreviousButtonType = ButtonType.Image;
  482. WizardStep ws0 = new WizardStep ();
  483. ws0.ID = "step0";
  484. ws0.StepType = WizardStepType.Start;
  485. ws0.Controls.Add (new LiteralControl ("Finish"));
  486. WizardStep ws1 = new WizardStep ();
  487. ws1.ID = "step1";
  488. ws1.StepType = WizardStepType.Finish;
  489. ws1.Controls.Add (new LiteralControl ("Finish"));
  490. w.DisplaySideBar = false;
  491. w.WizardSteps.Add (ws0);
  492. w.WizardSteps.Add (ws1);
  493. w.MoveTo (ws1);
  494. p.Controls.Add (lcb);
  495. p.Controls.Add (w);
  496. p.Controls.Add (lce);
  497. }
  498. [Test]
  499. [Category ("NunitWeb")]
  500. public void Wizard_HeaderRendering ()
  501. {
  502. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_HeaderRendering));
  503. string html = t.Run ();
  504. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  505. <tr>
  506. <td style=""background-color:Red;""><input name=""ctl00$HeaderContainer$TextBox1"" type=""text"" id=""ctl00_HeaderContainer_TextBox1"" /></td>
  507. </tr><tr style=""height:100%;"">
  508. <td>Finish</td>
  509. </tr><tr>
  510. <td align=""right""><table cellspacing=""5"" cellpadding=""5"" border=""0"">
  511. <tr>
  512. <td align=""right""><input type=""submit"" name=""ctl00$FinishNavigationTemplateContainerID$FinishPreviousButton"" value=""Previous"" id=""ctl00_FinishNavigationTemplateContainerID_FinishPreviousButton"" /></td><td align=""right""><input type=""submit"" name=""ctl00$FinishNavigationTemplateContainerID$FinishButton"" value=""Finish"" id=""ctl00_FinishNavigationTemplateContainerID_FinishButton"" /></td>
  513. </tr>
  514. </table></td>
  515. </tr>
  516. </table>";
  517. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "HeaderRendering");
  518. }
  519. public static void _HeaderRendering (Page p)
  520. {
  521. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  522. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  523. PokerWizard w = new PokerWizard ();
  524. w.HeaderStyle.BackColor = Color.Red;
  525. w.HeaderTemplate = new CompiledTemplateBuilder (_BuildHeader);
  526. w.HeaderText = "test";
  527. WizardStep ws0 = new WizardStep ();
  528. ws0.ID = "step0";
  529. ws0.StepType = WizardStepType.Start;
  530. ws0.Controls.Add (new LiteralControl ("Start"));
  531. WizardStep ws1 = new WizardStep ();
  532. ws1.ID = "step1";
  533. ws1.StepType = WizardStepType.Finish;
  534. ws1.Controls.Add (new LiteralControl ("Finish"));
  535. w.DisplaySideBar = false;
  536. w.WizardSteps.Add (ws0);
  537. w.WizardSteps.Add (ws1);
  538. w.MoveTo (ws1);
  539. p.Controls.Add (lcb);
  540. p.Controls.Add (w);
  541. p.Controls.Add (lce);
  542. }
  543. private static void _BuildHeader (Control container)
  544. {
  545. TextBox ctrl;
  546. ctrl = new TextBox ();
  547. ctrl.ID = "TextBox1";
  548. container.Controls.Add (ctrl);
  549. }
  550. [Test]
  551. [Category ("NunitWeb")]
  552. [Category ("NotWorking")]
  553. public void Wizard_SideBarRendering ()
  554. {
  555. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_SideBarRendering));
  556. string html = t.Run ();
  557. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  558. <tr>
  559. <td style=""background-color:Red;height:100%;""><a href=""#ctl00_SkipLink""><img alt=""Skip Navigation Links."" height=""0"" width=""0"" src=""/NunitWeb/WebResource.axd?d=u9knZDluAzVeq3S7b_Cm7w2&amp;t=632875336762459244"" style=""border-width:0px;"" /></a><table id=""ctl00_SideBarContainer_SideBarList"" cellspacing=""0"" border=""0"" style=""border-collapse:collapse;"">
  560. <tr>
  561. <td><input type=""button"" name=""ctl00$SideBarContainer$SideBarList$ctl00$SideBarButton"" value=""step1"" onclick=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl00$SideBarButton','')"" id=""ctl00_SideBarContainer_SideBarList_ctl00_SideBarButton"" /></td>
  562. </tr><tr>
  563. <td><input type=""button"" name=""ctl00$SideBarContainer$SideBarList$ctl01$SideBarButton"" value=""step2"" onclick=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl01$SideBarButton','')"" id=""ctl00_SideBarContainer_SideBarList_ctl01_SideBarButton"" /></td>
  564. </tr>
  565. </table><a id=""ctl00_SkipLink""></a></td><td style=""height:100%;""><table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""height:100%;width:100%;border-collapse:collapse;"">
  566. <tr style=""height:100%;"">
  567. <td>Step 1</td>
  568. </tr><tr>
  569. <td align=""right""><table cellspacing=""5"" cellpadding=""5"" border=""0"">
  570. <tr>
  571. <td align=""right""><input type=""submit"" name=""ctl00$StartNavigationTemplateContainerID$StartNextButton"" value=""Next"" id=""ctl00_StartNavigationTemplateContainerID_StartNextButton"" /></td>
  572. </tr>
  573. </table></td>
  574. </tr>
  575. </table></td>
  576. </tr>
  577. </table>";
  578. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "SideBarRendering");
  579. }
  580. public static void _SideBarRendering (Page p)
  581. {
  582. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  583. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  584. PokerWizard w = new PokerWizard ();
  585. w.SideBarButtonStyle.BackColor = Color.Red;
  586. w.SideBarStyle.BackColor = Color.Red;
  587. w.SideBarTemplate = new CompiledTemplateBuilder (_SideBarTemplate);
  588. WizardStep ws1 = new WizardStep ();
  589. ws1.ID = "step1";
  590. ws1.StepType = WizardStepType.Auto;
  591. ws1.Controls.Add (new LiteralControl ("Step 1"));
  592. WizardStep ws2 = new WizardStep ();
  593. ws2.ID = "step2";
  594. ws2.StepType = WizardStepType.Auto;
  595. ws2.Controls.Add (new LiteralControl ("Step 2"));
  596. w.WizardSteps.Add (ws1);
  597. w.WizardSteps.Add (ws2);
  598. p.Controls.Add (lcb);
  599. p.Controls.Add (w);
  600. p.Controls.Add (lce);
  601. }
  602. private static void _SideBarTemplate (Control container)
  603. {
  604. DataList list = new DataList ();
  605. list.ItemTemplate = new CompiledTemplateBuilder (_ItemTemplate);
  606. list.ID = "SideBarList";
  607. container.Controls.Add (list);
  608. }
  609. private static void _ItemTemplate (Control container)
  610. {
  611. Button button = new Button();
  612. button.ID = "SideBarButton";
  613. container.Controls.Add (button);
  614. }
  615. [Test]
  616. [Category ("NunitWeb")]
  617. public void Wizard_NavigationRendering ()
  618. {
  619. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_NavigationRendering));
  620. string html = t.Run ();
  621. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  622. <tr>
  623. <td style=""height:100%;""><a href=""#ctl00_SkipLink""><img alt=""Skip Navigation Links."" height=""0"" width=""0"" src=""/NunitWeb/WebResource.axd?d=u9knZDluAzVeq3S7b_Cm7w2&amp;t=632875336762459244"" style=""border-width:0px;"" /></a><table id=""ctl00_SideBarContainer_SideBarList"" cellspacing=""0"" border=""0"" style=""border-collapse:collapse;"">
  624. <tr>
  625. <td style=""font-weight:bold;""><a id=""ctl00_SideBarContainer_SideBarList_ctl00_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl00$SideBarButton','')"">step1</a></td>
  626. </tr><tr>
  627. <td><a id=""ctl00_SideBarContainer_SideBarList_ctl01_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl01$SideBarButton','')"">step2</a></td>
  628. </tr>
  629. </table><a id=""ctl00_SkipLink""></a></td><td style=""height:100%;""><table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""height:100%;width:100%;border-collapse:collapse;"">
  630. <tr style=""height:100%;"">
  631. <td>Start</td>
  632. </tr><tr>
  633. <td align=""right"" style=""background-color:Yellow;""><table cellspacing=""5"" cellpadding=""5"" border=""0"">
  634. <tr>
  635. <td align=""right""><input type=""submit"" name=""ctl00$StartNavigationTemplateContainerID$StartNextButton"" value=""Next"" id=""ctl00_StartNavigationTemplateContainerID_StartNextButton"" style=""background-color:Red;"" /></td>
  636. </tr>
  637. </table></td>
  638. </tr>
  639. </table></td>
  640. </tr>
  641. </table>";
  642. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "NavigationRendering");
  643. }
  644. public static void _NavigationRendering (Page p)
  645. {
  646. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  647. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  648. PokerWizard w = new PokerWizard ();
  649. WizardStep ws1 = new WizardStep ();
  650. WizardStep ws2 = new WizardStep ();
  651. ws1.ID = "step1";
  652. ws1.StepType = WizardStepType.Start;
  653. ws1.Controls.Add (new LiteralControl ("Start"));
  654. ws2.ID = "step2";
  655. ws2.StepType = WizardStepType.Start;
  656. ws2.Controls.Add (new LiteralControl ("Finish"));
  657. w.NavigationButtonStyle.BackColor = Color.Red;
  658. w.NavigationStyle.BackColor = Color.Yellow;
  659. w.WizardSteps.Add (ws1);
  660. w.WizardSteps.Add (ws2);
  661. p.Controls.Add (lcb);
  662. p.Controls.Add (w);
  663. p.Controls.Add (lce);
  664. }
  665. [Test]
  666. [Category ("NunitWeb")]
  667. public void Wizard_StartTypeRendering ()
  668. {
  669. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_StartTypeRendering));
  670. string html = t.Run ();
  671. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  672. <tr>
  673. <td style=""height:100%;""><a href=""#ctl00_SkipLink""><img alt=""Skip Navigation Links."" height=""0"" width=""0"" src=""/NunitWeb/WebResource.axd?d=u9knZDluAzVeq3S7b_Cm7w2&amp;t=632875336762459244"" style=""border-width:0px;"" /></a><table id=""ctl00_SideBarContainer_SideBarList"" cellspacing=""0"" border=""0"" style=""border-collapse:collapse;"">
  674. <tr>
  675. <td style=""font-weight:bold;""><a id=""ctl00_SideBarContainer_SideBarList_ctl00_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl00$SideBarButton','')"">step1</a></td>
  676. </tr><tr>
  677. <td><a id=""ctl00_SideBarContainer_SideBarList_ctl01_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl01$SideBarButton','')"">step2</a></td>
  678. </tr>
  679. </table><a id=""ctl00_SkipLink""></a></td><td style=""height:100%;""><table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""height:100%;width:100%;border-collapse:collapse;"">
  680. <tr style=""height:100%;"">
  681. <td>Start</td>
  682. </tr><tr>
  683. <td align=""right""><table cellspacing=""5"" cellpadding=""5"" border=""0"">
  684. <tr>
  685. <td align=""right""><input type=""submit"" name=""ctl00$StartNavigationTemplateContainerID$StartNextButton"" value=""StartNextButtonText"" id=""ctl00_StartNavigationTemplateContainerID_StartNextButton"" style=""background-color:Red;"" /></td>
  686. </tr>
  687. </table></td>
  688. </tr>
  689. </table></td>
  690. </tr>
  691. </table>";
  692. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "StartTypeRendering");
  693. }
  694. public static void _StartTypeRendering (Page p)
  695. {
  696. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  697. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  698. PokerWizard w = new PokerWizard ();
  699. WizardStep ws1 = new WizardStep ();
  700. WizardStep ws2 = new WizardStep ();
  701. ws1.ID = "step1";
  702. ws1.StepType = WizardStepType.Start;
  703. ws1.Controls.Add (new LiteralControl ("Start"));
  704. ws2.ID = "step2";
  705. ws2.StepType = WizardStepType.Finish;
  706. ws2.Controls.Add (new LiteralControl ("Finish"));
  707. w.StartNextButtonImageUrl = "StartNextButtonImageUrl";
  708. w.StartNextButtonStyle.BackColor = Color.Red;
  709. w.StartNextButtonText = "StartNextButtonText";
  710. w.StartNextButtonType = ButtonType.Button;
  711. w.WizardSteps.Add (ws1);
  712. w.WizardSteps.Add (ws2);
  713. p.Controls.Add (lcb);
  714. p.Controls.Add (w);
  715. p.Controls.Add (lce);
  716. }
  717. [Test]
  718. [Category ("NunitWeb")]
  719. public void Wizard_StartTemplateRendering ()
  720. {
  721. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_StartTemplateRendering));
  722. string html = t.Run ();
  723. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  724. <tr>
  725. <td style=""height:100%;""><a href=""#ctl00_SkipLink""><img alt=""Skip Navigation Links."" height=""0"" width=""0"" src=""/NunitWeb/WebResource.axd?d=gZrz8lvSQfolS1pG07HX9g2&amp;t=632784640484505569"" style=""border-width:0px;"" /></a><table id=""ctl00_SideBarContainer_SideBarList"" cellspacing=""0"" border=""0"" style=""border-collapse:collapse;"">
  726. <tr>
  727. <td style=""font-weight:bold;""><a id=""ctl00_SideBarContainer_SideBarList_ctl00_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl00$SideBarButton','')"">step1</a></td>
  728. </tr>
  729. </table><a id=""ctl00_SkipLink""></a></td><td style=""height:100%;""><table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""height:100%;width:100%;border-collapse:collapse;"">
  730. <tr style=""height:100%;"">
  731. <td>Start</td>
  732. </tr><tr>
  733. <td align=""right""><input type=""submit"" name=""ctl00$StartNavigationTemplateContainerID$SideBarButton"" value="""" id=""ctl00_StartNavigationTemplateContainerID_SideBarButton"" style=""background-color:Red;"" /></td>
  734. </tr>
  735. </table></td>
  736. </tr>
  737. </table>";
  738. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "StartTemplateRendering");
  739. }
  740. public static void _StartTemplateRendering (Page p)
  741. {
  742. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  743. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  744. PokerWizard w = new PokerWizard ();
  745. WizardStep ws1 = new WizardStep ();
  746. ws1.ID = "step1";
  747. ws1.StepType = WizardStepType.Start;
  748. ws1.Controls.Add (new LiteralControl ("Start"));
  749. w.StartNavigationTemplate = new CompiledTemplateBuilder (_StartTemplate);
  750. w.WizardSteps.Add (ws1);
  751. p.Controls.Add (lcb);
  752. p.Controls.Add (w);
  753. p.Controls.Add (lce);
  754. }
  755. private static void _StartTemplate (Control container)
  756. {
  757. Button button = new Button();
  758. button.ID = "SideBarButton";
  759. button.BackColor = Color.Red;
  760. container.Controls.Add (button);
  761. }
  762. [Test]
  763. [Category ("NunitWeb")]
  764. public void Wizard_StepTypeRendering ()
  765. {
  766. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_StepTypeRendering));
  767. string html = t.Run ();
  768. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  769. <tr>
  770. <td style=""height:100%;""><a href=""#ctl00_SkipLink""><img alt=""Skip Navigation Links."" height=""0"" width=""0"" src=""/NunitWeb/WebResource.axd?d=u9knZDluAzVeq3S7b_Cm7w2&amp;t=632875336762459244"" style=""border-width:0px;"" /></a><table id=""ctl00_SideBarContainer_SideBarList"" cellspacing=""0"" border=""0"" style=""border-collapse:collapse;"">
  771. <tr>
  772. <td><a id=""ctl00_SideBarContainer_SideBarList_ctl00_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl00$SideBarButton','')"">step1</a></td>
  773. </tr><tr>
  774. <td style=""font-weight:bold;""><a id=""ctl00_SideBarContainer_SideBarList_ctl01_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl01$SideBarButton','')"">step2</a></td>
  775. </tr><tr>
  776. <td><a id=""ctl00_SideBarContainer_SideBarList_ctl02_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl02$SideBarButton','')"">step3</a></td>
  777. </tr>
  778. </table><a id=""ctl00_SkipLink""></a></td><td style=""height:100%;""><table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""height:100%;width:100%;border-collapse:collapse;"">
  779. <tr style=""height:100%;"">
  780. <td style=""background-color:Red;"">Step2</td>
  781. </tr><tr>
  782. <td align=""right""><table cellspacing=""5"" cellpadding=""5"" border=""0"">
  783. <tr>
  784. <td align=""right""><a id=""ctl00_StepNavigationTemplateContainerID_StepPreviousLinkButton"" href=""javascript:__doPostBack('ctl00$StepNavigationTemplateContainerID$StepPreviousLinkButton','')"" style=""background-color:Red;"">StepPreviousButtonText</a></td><td align=""right""><input type=""image"" name=""ctl00$StepNavigationTemplateContainerID$StepNextImageButton"" id=""ctl00_StepNavigationTemplateContainerID_StepNextImageButton"" src=""http://StepNextButtonImageUrl"" alt=""StepNextButtonText"" style=""background-color:Red;border-width:0px;"" /></td>
  785. </tr>
  786. </table></td>
  787. </tr>
  788. </table></td>
  789. </tr>
  790. </table>";
  791. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "StepRendering");
  792. }
  793. public static void _StepTypeRendering (Page p)
  794. {
  795. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  796. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  797. PokerWizard w = new PokerWizard ();
  798. WizardStep ws1 = new WizardStep ();
  799. WizardStep ws2 = new WizardStep ();
  800. WizardStep ws3 = new WizardStep ();
  801. ws1.ID = "step1";
  802. ws1.StepType = WizardStepType.Start;
  803. ws1.Controls.Add (new LiteralControl ("Step1"));
  804. ws2.ID = "step2";
  805. ws2.StepType = WizardStepType.Step;
  806. ws2.Controls.Add (new LiteralControl ("Step2"));
  807. ws3.ID = "step3";
  808. ws3.StepType = WizardStepType.Finish;
  809. ws3.Controls.Add (new LiteralControl ("Step3"));
  810. w.StepNextButtonImageUrl = "http://StepNextButtonImageUrl";
  811. w.StepNextButtonStyle.BackColor = Color.Red;
  812. w.StepNextButtonText = "StepNextButtonText";
  813. w.StepNextButtonType = ButtonType.Image;
  814. w.StepPreviousButtonImageUrl = "http://StepPreviousButtonImageUrl";
  815. w.StepPreviousButtonStyle.BackColor = Color.Red;
  816. w.StepPreviousButtonText = "StepPreviousButtonText";
  817. w.StepPreviousButtonType = ButtonType.Link;
  818. w.StepStyle.BackColor = Color.Red;
  819. w.WizardSteps.Add (ws1);
  820. w.WizardSteps.Add (ws2);
  821. w.WizardSteps.Add (ws3);
  822. w.MoveTo (ws2);
  823. p.Controls.Add (lcb);
  824. p.Controls.Add (w);
  825. p.Controls.Add (lce);
  826. }
  827. [Test]
  828. [Category ("NunitWeb")]
  829. public void Wizard_StepNavigationTemplateRendering ()
  830. {
  831. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_StepNavigationTemplate));
  832. string html = t.Run ();
  833. string origin = @"<table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""border-collapse:collapse;"">
  834. <tr>
  835. <td style=""height:100%;""><a href=""#ctl00_SkipLink""><img alt=""Skip Navigation Links."" height=""0"" width=""0"" src=""/NunitWeb/WebResource.axd?d=gZrz8lvSQfolS1pG07HX9g2&amp;t=632784640484505569"" style=""border-width:0px;"" /></a><table id=""ctl00_SideBarContainer_SideBarList"" cellspacing=""0"" border=""0"" style=""border-collapse:collapse;"">
  836. <tr>
  837. <td style=""font-weight:bold;""><a id=""ctl00_SideBarContainer_SideBarList_ctl00_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl00$SideBarButton','')"">step1</a></td>
  838. </tr><tr>
  839. <td><a id=""ctl00_SideBarContainer_SideBarList_ctl01_SideBarButton"" href=""javascript:__doPostBack('ctl00$SideBarContainer$SideBarList$ctl01$SideBarButton','')"">step2</a></td>
  840. </tr>
  841. </table><a id=""ctl00_SkipLink""></a></td><td style=""height:100%;""><table cellspacing=""0"" cellpadding=""0"" border=""0"" style=""height:100%;width:100%;border-collapse:collapse;"">
  842. <tr style=""height:100%;"">
  843. <td>Step1</td>
  844. </tr><tr>
  845. <td align=""right""><input type=""submit"" name=""ctl00$StepNavigationTemplateContainerID$SideBarButton"" value="""" id=""ctl00_StepNavigationTemplateContainerID_SideBarButton"" style=""background-color:Red;"" />Test text</td>
  846. </tr>
  847. </table></td>
  848. </tr>
  849. </table>";
  850. HtmlDiff.AssertAreEqual (origin, HtmlDiff.GetControlFromPageHtml (html), "StepNavigationTemplateRendering");
  851. }
  852. public static void _StepNavigationTemplate (Page p)
  853. {
  854. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  855. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  856. PokerWizard w = new PokerWizard ();
  857. WizardStep ws1 = new WizardStep ();
  858. WizardStep ws2 = new WizardStep ();
  859. ws1.ID = "step1";
  860. ws1.StepType = WizardStepType.Step;
  861. ws1.Controls.Add (new LiteralControl ("Step1"));
  862. ws2.ID = "step2";
  863. ws2.StepType = WizardStepType.Step;
  864. ws2.Controls.Add (new LiteralControl ("Step2"));
  865. w.StepNavigationTemplate = new CompiledTemplateBuilder (_StepNavigationTemplateCreator);
  866. w.WizardSteps.Add (ws1);
  867. w.WizardSteps.Add (ws2);
  868. p.Controls.Add (lcb);
  869. p.Controls.Add (w);
  870. p.Controls.Add (lce);
  871. }
  872. private static void _StepNavigationTemplateCreator (Control container)
  873. {
  874. Button button = new Button();
  875. button.ID = "SideBarButton";
  876. button.BackColor = Color.Red;
  877. LiteralControl label = new LiteralControl ("Test text");
  878. container.Controls.Add (button);
  879. container.Controls.Add (label);
  880. }
  881. [Test]
  882. public void Wizard_AssignProperty ()
  883. {
  884. PokerWizard wizard = new PokerWizard ();
  885. wizard.CancelButtonImageUrl = "test";
  886. Assert.AreEqual ("test", wizard.CancelButtonImageUrl, "CancelButtonImageUrl");
  887. wizard.CancelButtonStyle.BackColor = Color.Red;
  888. Assert.AreEqual (Color.Red, wizard.CancelButtonStyle.BackColor, "CancelButtonStyle");
  889. wizard.CancelButtonText = "test";
  890. Assert.AreEqual ("test", wizard.CancelButtonText, "CancelButtonText");
  891. wizard.CancelButtonType = ButtonType.Image;
  892. Assert.AreEqual (ButtonType.Image, wizard.CancelButtonType, "CancelButtonType");
  893. wizard.CancelDestinationPageUrl = "test";
  894. Assert.AreEqual ("test", wizard.CancelDestinationPageUrl, "CancelDestinationPageUrl");
  895. wizard.CellPadding = 1;
  896. Assert.AreEqual (1, wizard.CellPadding, "CellPadding");
  897. wizard.CellSpacing = 1;
  898. Assert.AreEqual (1, wizard.CellSpacing, "CellSpacing");
  899. wizard.DisplayCancelButton = true;
  900. Assert.AreEqual (true, wizard.DisplayCancelButton, "DisplayCancelButton");
  901. wizard.DisplaySideBar = false;
  902. Assert.AreEqual (false, wizard.DisplaySideBar, "DisplaySideBar");
  903. wizard.FinishCompleteButtonImageUrl = "test";
  904. Assert.AreEqual ("test", wizard.FinishCompleteButtonImageUrl, "FinishCompleteButtonImageUrl");
  905. wizard.FinishCompleteButtonStyle.BackColor = Color.Red;
  906. Assert.AreEqual (Color.Red, wizard.FinishCompleteButtonStyle.BackColor, "FinishCompleteButtonStyle");
  907. wizard.FinishCompleteButtonText = "test";
  908. Assert.AreEqual ("test", wizard.FinishCompleteButtonText, "FinishCompleteButtonText");
  909. wizard.FinishCompleteButtonType = ButtonType.Image;
  910. Assert.AreEqual (ButtonType.Image, wizard.FinishCompleteButtonType, "FinishCompleteButtonType");
  911. wizard.FinishDestinationPageUrl = "test";
  912. Assert.AreEqual ("test", wizard.FinishDestinationPageUrl, "FinishDestinationPageUrl");
  913. wizard.FinishNavigationTemplate = new ImageTemplate ();
  914. Assert.AreEqual (typeof (ImageTemplate), wizard.FinishNavigationTemplate.GetType (), "FinishNavigationTemplate");
  915. wizard.FinishPreviousButtonImageUrl = "test";
  916. Assert.AreEqual ("test", wizard.FinishPreviousButtonImageUrl, "FinishPreviousButtonImageUrl");
  917. wizard.FinishPreviousButtonStyle.BackColor = Color.Red;
  918. Assert.AreEqual (Color.Red, wizard.FinishPreviousButtonStyle.BackColor, "FinishPreviousButtonStyle");
  919. wizard.FinishPreviousButtonText = "test";
  920. Assert.AreEqual ("test", wizard.FinishPreviousButtonText, "FinishPreviousButtonText");
  921. wizard.FinishPreviousButtonType = ButtonType.Image;
  922. Assert.AreEqual (ButtonType.Image, wizard.FinishPreviousButtonType, "FinishPreviousButtonType");
  923. wizard.HeaderStyle.BackColor = Color.Red;
  924. Assert.AreEqual (Color.Red, wizard.HeaderStyle.BackColor, "HeaderStyle");
  925. wizard.HeaderTemplate = new ImageTemplate ();
  926. Assert.AreEqual (typeof (ImageTemplate), wizard.HeaderTemplate.GetType (), "HeaderTemplate");
  927. wizard.HeaderText = "test";
  928. Assert.AreEqual ("test", wizard.HeaderText, "HeaderText");
  929. wizard.NavigationButtonStyle.BackColor = Color.Red;
  930. Assert.AreEqual (Color.Red, wizard.NavigationButtonStyle.BackColor, "NavigationButtonStyle");
  931. wizard.NavigationStyle.BackColor = Color.Red;
  932. Assert.AreEqual (Color.Red, wizard.NavigationStyle.BackColor, "NavigationStyle");
  933. wizard.SideBarButtonStyle.BackColor = Color.Red;
  934. wizard.SideBarButtonStyle.BackColor = Color.Red;
  935. Assert.AreEqual (Color.Red, wizard.SideBarButtonStyle.BackColor, "SideBarButtonStyle");
  936. wizard.SideBarStyle.BackColor = Color.Red;
  937. Assert.AreEqual (Color.Red, wizard.SideBarStyle.BackColor, "SideBarStyle");
  938. wizard.SideBarTemplate = new ImageTemplate ();
  939. Assert.AreEqual (typeof (ImageTemplate), wizard.SideBarTemplate.GetType (), "SideBarTemplate");
  940. // SkipLinkText throws System.NotImplementedException look not workihg properties
  941. // wizard.SkipLinkText = "test";
  942. // Assert.AreEqual ("test", wizard.SkipLinkText, "SkipLinkText");
  943. wizard.StartNavigationTemplate = new ImageTemplate ();
  944. Assert.AreEqual (typeof (ImageTemplate), wizard.StartNavigationTemplate.GetType (), "StartNavigationTemplate");
  945. wizard.StartNextButtonImageUrl = "test";
  946. Assert.AreEqual ("test", wizard.StartNextButtonImageUrl, "StartNextButtonImageUrl");
  947. wizard.StartNextButtonStyle.BackColor = Color.Red;
  948. Assert.AreEqual (Color.Red, wizard.StartNextButtonStyle.BackColor, "StartNextButtonStyle");
  949. wizard.StartNextButtonText = "test";
  950. Assert.AreEqual ("test", wizard.StartNextButtonText, "StartNextButtonText");
  951. wizard.StartNextButtonType = ButtonType.Image;
  952. Assert.AreEqual (ButtonType.Image, wizard.StartNextButtonType, "StartNextButtonType");
  953. wizard.StepNavigationTemplate = new ImageTemplate ();
  954. Assert.AreEqual (typeof (ImageTemplate), wizard.StepNavigationTemplate.GetType (), "StepNavigationTemplate");
  955. wizard.StepNextButtonImageUrl = "test";
  956. Assert.AreEqual ("test", wizard.StepNextButtonImageUrl, "StepNextButtonImageUrl");
  957. wizard.StepNextButtonStyle.BackColor = Color.Red;
  958. Assert.AreEqual (Color.Red, wizard.StepNextButtonStyle.BackColor, "StepNextButtonStyle");
  959. wizard.StepNextButtonText = "test";
  960. Assert.AreEqual ("test", wizard.StepNextButtonText, "StepNextButtonText");
  961. wizard.StepNextButtonType = ButtonType.Image;
  962. Assert.AreEqual (ButtonType.Image, wizard.StepNextButtonType, "StepNextButtonType");
  963. wizard.StepPreviousButtonImageUrl = "test";
  964. Assert.AreEqual ("test", wizard.StepPreviousButtonImageUrl, "StepPreviousButtonImageUrl");
  965. wizard.StepPreviousButtonStyle.BackColor = Color.Red;
  966. Assert.AreEqual (Color.Red, wizard.StepPreviousButtonStyle.BackColor, "StepPreviousButtonStyle");
  967. wizard.StepPreviousButtonText = "test";
  968. Assert.AreEqual ("test", wizard.StepPreviousButtonText, "StepPreviousButtonText");
  969. wizard.StepPreviousButtonType = ButtonType.Image;
  970. Assert.AreEqual (ButtonType.Image, wizard.StepPreviousButtonType, "StepPreviousButtonType");
  971. wizard.StepStyle.BackColor = Color.Red;
  972. Assert.AreEqual (Color.Red, wizard.StepStyle.BackColor, "StepStyle");
  973. }
  974. [Test]
  975. public void Wizard_GetHistory ()
  976. {
  977. PokerWizard wizard = new PokerWizard ();
  978. WizardStep step1 = new WizardStep ();
  979. step1.ID = "step1";
  980. step1.StepType = WizardStepType.Start;
  981. WizardStep step2 = new WizardStep ();
  982. step2.ID = "step2";
  983. step2.StepType = WizardStepType.Step;
  984. WizardStep step3 = new WizardStep ();
  985. step3.ID = "step3";
  986. step3.StepType = WizardStepType.Finish;
  987. wizard.WizardSteps.Add (step1);
  988. wizard.WizardSteps.Add (step2);
  989. wizard.WizardSteps.Add (step3);
  990. wizard.ActiveStepIndex = 0;
  991. wizard.MoveTo (step3);
  992. object o = wizard.PokerSaveControlState ();
  993. wizard.PokerLoadControlState (o);
  994. wizard.MoveTo (step2);
  995. o = wizard.PokerSaveControlState ();
  996. wizard.PokerLoadControlState (o);
  997. wizard.MoveTo (step3);
  998. o = wizard.PokerSaveControlState ();
  999. wizard.PokerLoadControlState (o);
  1000. ArrayList collection = (ArrayList) wizard.GetHistory ();
  1001. Assert.AreEqual (3, collection.Count, "GetHistoryCount");
  1002. }
  1003. [Test]
  1004. public void Wizard_GetStepType ()
  1005. {
  1006. PokerWizard wizard = new PokerWizard ();
  1007. WizardStep step1 = new WizardStep ();
  1008. step1.ID = "step1";
  1009. step1.StepType = WizardStepType.Start;
  1010. wizard.WizardSteps.Add (step1);
  1011. wizard.ActiveStepIndex = 0;
  1012. WizardStepType result = wizard.GetStepType (wizard.ActiveStep, wizard.ActiveStepIndex);
  1013. Assert.AreEqual (WizardStepType.Start, result, "GetStepType");
  1014. }
  1015. [Test]
  1016. public void Wizard_MoveTo ()
  1017. {
  1018. PokerWizard wizard = new PokerWizard ();
  1019. WizardStep step1 = new WizardStep ();
  1020. step1.ID = "step1";
  1021. step1.StepType = WizardStepType.Start;
  1022. WizardStep step2 = new WizardStep ();
  1023. step2.ID = "step2";
  1024. step2.StepType = WizardStepType.Step;
  1025. WizardStep step3 = new WizardStep ();
  1026. step3.ID = "step3";
  1027. step3.StepType = WizardStepType.Finish;
  1028. wizard.WizardSteps.Add (step1);
  1029. wizard.WizardSteps.Add (step2);
  1030. wizard.WizardSteps.Add (step3);
  1031. wizard.ActiveStepIndex = 0;
  1032. wizard.MoveTo (step3);
  1033. Assert.AreEqual (2, wizard.ActiveStepIndex, "MoveToStep3");
  1034. wizard.MoveTo (step2);
  1035. Assert.AreEqual (1, wizard.ActiveStepIndex, "MoveToStep2");
  1036. wizard.MoveTo (step1);
  1037. Assert.AreEqual (0, wizard.ActiveStepIndex, "MoveToStep1");
  1038. }
  1039. [Test]
  1040. [Category ("NotWorking")]
  1041. public void Wizard_AllowNavigationToStep ()
  1042. {
  1043. PokerWizard wizard = new PokerWizard ();
  1044. WizardStep step1 = new WizardStep ();
  1045. step1.ID = "step1";
  1046. step1.StepType = WizardStepType.Start;
  1047. WizardStep step2 = new WizardStep ();
  1048. step2.ID = "step2";
  1049. step2.StepType = WizardStepType.Step;
  1050. WizardStep step3 = new WizardStep ();
  1051. step3.ID = "step3";
  1052. step3.StepType = WizardStepType.Finish;
  1053. wizard.WizardSteps.Add (step1);
  1054. wizard.WizardSteps.Add (step2);
  1055. wizard.WizardSteps.Add (step3);
  1056. wizard.ActiveStepIndex = 0;
  1057. wizard.MoveTo (step3);
  1058. object o = wizard.PokerSaveControlState ();
  1059. wizard.PokerLoadControlState (o);
  1060. bool result = wizard.PokerAllowNavigationToStep (2);
  1061. Assert.AreEqual (true, result, "AllowNavigationToStep#1");
  1062. step3.AllowReturn = false;
  1063. result = wizard.PokerAllowNavigationToStep (2);
  1064. Assert.AreEqual (false, result, "AllowNavigationToStep#2");
  1065. }
  1066. [Test]
  1067. public void Wizard_CreateControlCollection ()
  1068. {
  1069. PokerWizard wizard = new PokerWizard ();
  1070. ControlCollection collection = wizard.PokerCreateControlCollection ();
  1071. Assert.IsNotNull (collection, "CreateControlCollection");
  1072. Assert.AreEqual (0, collection.Count, "CreateControlCollection#1");
  1073. }
  1074. [Test]
  1075. public void Wizard_CreateControlStyle ()
  1076. {
  1077. PokerWizard wizard = new PokerWizard ();
  1078. Style style = wizard.PokerCreateControlStyle ();
  1079. Assert.AreEqual (typeof (TableStyle), style.GetType (), "CreateControlStyle#1");
  1080. Assert.AreEqual (0, ((TableStyle) style).CellPadding, "CreateControlStyle#2");
  1081. Assert.AreEqual (0, ((TableStyle) style).CellSpacing, "CreateControlStyle#3");
  1082. }
  1083. [Test]
  1084. [Category ("NotWorking")]
  1085. public void Wizard_ControlState ()
  1086. {
  1087. PokerWizard wizard = new PokerWizard ();
  1088. WizardStep step1 = new WizardStep ();
  1089. step1.ID = "step1";
  1090. step1.StepType = WizardStepType.Start;
  1091. WizardStep step3 = new WizardStep ();
  1092. step3.ID = "step3";
  1093. step3.StepType = WizardStepType.Finish;
  1094. wizard.WizardSteps.Add (step1);
  1095. wizard.WizardSteps.Add (step3);
  1096. wizard.ActiveStepIndex = 0;
  1097. wizard.MoveTo (step3);
  1098. // LAMESPEC: history updated when SaveControlState occured
  1099. Assert.AreEqual (0, ((ArrayList) wizard.GetHistory ()).Count, "ControlState#1");
  1100. object o = wizard.PokerSaveControlState ();
  1101. wizard.PokerLoadControlState (o);
  1102. wizard.MoveTo (step1);
  1103. Assert.AreEqual (0, wizard.ActiveStepIndex, "ControlState#2");
  1104. wizard.PokerLoadControlState (o);
  1105. Assert.AreEqual (1, wizard.ActiveStepIndex, "ControlState#3");
  1106. Assert.AreEqual (1, ((ArrayList) wizard.GetHistory ()).Count, "ControlState#4");
  1107. }
  1108. [Test]
  1109. public void Wizard_ViewState ()
  1110. {
  1111. PokerWizard wizard = new PokerWizard ();
  1112. PokerWizard copy = new PokerWizard ();
  1113. wizard.ControlStyle.BackColor = Color.Red;
  1114. wizard.FinishCompleteButtonStyle.BackColor = Color.Red;
  1115. wizard.FinishPreviousButtonStyle.BackColor = Color.Red;
  1116. wizard.HeaderStyle.BackColor = Color.Red;
  1117. wizard.NavigationButtonStyle.BackColor = Color.Red;
  1118. wizard.NavigationStyle.BackColor = Color.Red;
  1119. wizard.SideBarButtonStyle.BackColor = Color.Red;
  1120. wizard.SideBarStyle.BackColor = Color.Red;
  1121. wizard.StartNextButtonStyle.BackColor = Color.Red;
  1122. wizard.StepPreviousButtonStyle.BackColor = Color.Red;
  1123. wizard.StepNextButtonStyle.BackColor = Color.Red;
  1124. wizard.StepStyle.BackColor = Color.Red;
  1125. object state = wizard.SaveState ();
  1126. copy.LoadState (state);
  1127. Assert.AreEqual (Color.Red, copy.ControlStyle.BackColor, "ViewStateControlStyle");
  1128. Assert.AreEqual (Color.Red, copy.FinishCompleteButtonStyle.BackColor, "ViewStateFinishCompleteButtonStyle");
  1129. Assert.AreEqual (Color.Red, copy.FinishPreviousButtonStyle.BackColor, "ViewStateFinishPreviousButtonStyle");
  1130. Assert.AreEqual (Color.Red, copy.HeaderStyle.BackColor, "ViewStateHeaderStyle");
  1131. Assert.AreEqual (Color.Red, copy.NavigationButtonStyle.BackColor, "ViewStateNavigationButtonStyle");
  1132. Assert.AreEqual (Color.Red, copy.NavigationStyle.BackColor, "ViewStateNavigationStyle");
  1133. Assert.AreEqual (Color.Red, copy.SideBarButtonStyle.BackColor, "ViewStateSideBarButtonStyle");
  1134. Assert.AreEqual (Color.Red, copy.SideBarStyle.BackColor, "ViewStateSideBarStyle");
  1135. Assert.AreEqual (Color.Red, copy.StartNextButtonStyle.BackColor, "ViewStateStartNextButtonStyle");
  1136. Assert.AreEqual (Color.Red, copy.StepNextButtonStyle.BackColor, "ViewStateStepNextButtonStyle");
  1137. Assert.AreEqual (Color.Red, copy.StepStyle.BackColor, "ViewStateStepStyle");
  1138. }
  1139. [Test]
  1140. public void Wizard_Steps ()
  1141. {
  1142. PokerWizard w = new PokerWizard ();
  1143. Assert.AreEqual (-1, w.ActiveStepIndex, "ActiveStepIndex on no steps");
  1144. w.WizardSteps.Add (new WizardStep ());
  1145. Assert.IsNotNull (w.WizardSteps[0].Wizard, "WizardStep.Wizard");
  1146. Assert.AreEqual (WizardStepType.Finish, w.GetStepType (w.WizardSteps[0], 0), "WizardStepType.Finish");
  1147. }
  1148. /// <summary>
  1149. /// EVENTS
  1150. /// </summary>
  1151. [Test]
  1152. public void Wizard_ActiveStepChanged ()
  1153. {
  1154. PokerWizard wizard = new PokerWizard ();
  1155. wizard.ActiveStepChanged += new EventHandler (wizard_handler);
  1156. wizard.DoOnActiveStepChanged (this, new EventArgs ());
  1157. eventassert ("ActiveStepChanged");
  1158. }
  1159. [Test]
  1160. public void Wizard_CancelButtonClick ()
  1161. {
  1162. PokerWizard wizard = new PokerWizard ();
  1163. wizard.CancelButtonClick += new EventHandler (wizard_handler);
  1164. wizard.DoOnCancelButtonClick (new EventArgs ());
  1165. eventassert ("CancelButtonClick");
  1166. }
  1167. [Test]
  1168. public void Wizard_FinishButtonClick ()
  1169. {
  1170. PokerWizard wizard = new PokerWizard ();
  1171. wizard.FinishButtonClick += new WizardNavigationEventHandler (wizard_handler);
  1172. wizard.DoOnFinishButtonClick (new WizardNavigationEventArgs (0, 0));
  1173. eventassert ("FinishButtonClick");
  1174. }
  1175. [Test]
  1176. [Category ("NotWorking")]
  1177. public void Wizard_Init ()
  1178. {
  1179. PokerWizard wizard = new PokerWizard ();
  1180. wizard.Init += new EventHandler (wizard_handler);
  1181. wizard.DoOnInit (new EventArgs ());
  1182. eventassert ("OnInit");
  1183. }
  1184. [Test]
  1185. public void Wizard_NextButtonClick ()
  1186. {
  1187. PokerWizard wizard = new PokerWizard ();
  1188. wizard.NextButtonClick += new WizardNavigationEventHandler (wizard_handler);
  1189. wizard.DoOnNextButtonClick (new WizardNavigationEventArgs (0, 1));
  1190. eventassert ("NextButtonClick");
  1191. }
  1192. [Test]
  1193. public void Wizard_PreviousButtonClick ()
  1194. {
  1195. PokerWizard wizard = new PokerWizard ();
  1196. wizard.PreviousButtonClick += new WizardNavigationEventHandler (wizard_handler);
  1197. wizard.DoOnPreviousButtonClick (new WizardNavigationEventArgs (0, 1));
  1198. eventassert ("PreviousButtonClick");
  1199. }
  1200. [Test]
  1201. public void Wizard_SideBarButtonClick ()
  1202. {
  1203. PokerWizard wizard = new PokerWizard ();
  1204. wizard.SideBarButtonClick += new WizardNavigationEventHandler (wizard_handler);
  1205. wizard.DoOnSideBarButtonClick (new WizardNavigationEventArgs (0, 1));
  1206. eventassert ("SideBarButtonClick");
  1207. }
  1208. public void wizard_handler (object o, EventArgs e)
  1209. {
  1210. _eventchecker = true;
  1211. }
  1212. /// <summary>
  1213. /// Bubble Event
  1214. /// </summary>
  1215. [Test]
  1216. public void Wizard_BubbleEvent_CancelEvent ()
  1217. {
  1218. PokerWizard wizard = new PokerWizard ();
  1219. wizard.CancelButtonClick += new EventHandler (wizard_handler);
  1220. WizardStep step1 = new WizardStep ();
  1221. step1.ID = "step1";
  1222. step1.StepType = WizardStepType.Start;
  1223. WizardStep step3 = new WizardStep ();
  1224. step3.ID = "step3";
  1225. step3.StepType = WizardStepType.Finish;
  1226. wizard.WizardSteps.Add (step1);
  1227. wizard.WizardSteps.Add (step3);
  1228. wizard.ActiveStepIndex = 0;
  1229. CommandEventArgs e = new CommandEventArgs (Wizard.CancelCommandName, null);
  1230. bool result = wizard.DoBubbleEvent (null, e);
  1231. Assert.AreEqual (true, result, "CancelButtonBubbleEventCommand");
  1232. eventassert ("OnCancelButtonClick");
  1233. }
  1234. [Test]
  1235. public void Wizard_BubbleEvent_MoveNext ()
  1236. {
  1237. PokerWizard wizard = new PokerWizard ();
  1238. wizard.NextButtonClick += new WizardNavigationEventHandler (wizard_handler);
  1239. WizardStep step1 = new WizardStep ();
  1240. step1.ID = "step1";
  1241. step1.StepType = WizardStepType.Start;
  1242. WizardStep step2 = new WizardStep ();
  1243. step2.ID = "step2";
  1244. step2.StepType = WizardStepType.Finish;
  1245. wizard.WizardSteps.Add (step1);
  1246. wizard.WizardSteps.Add (step2);
  1247. wizard.ActiveStepIndex = 0;
  1248. CommandEventArgs e = new CommandEventArgs (Wizard.MoveNextCommandName, null);
  1249. bool result = wizard.DoBubbleEvent (null, e);
  1250. Assert.AreEqual (true, result, "MoveNextBubbleEventCommand");
  1251. eventassert ("MoveNextBubbleEvent");
  1252. Assert.AreEqual (1, wizard.ActiveStepIndex, "ActiveStepIndexAfterBubble");
  1253. }
  1254. [Test]
  1255. public void Wizard_BubbleEvent_MovePrevious ()
  1256. {
  1257. PokerWizard wizard = new PokerWizard ();
  1258. wizard.PreviousButtonClick += new WizardNavigationEventHandler (wizard_handler);
  1259. WizardStep step1 = new WizardStep ();
  1260. step1.ID = "step1";
  1261. step1.StepType = WizardStepType.Start;
  1262. WizardStep step2 = new WizardStep ();
  1263. step2.ID = "step2";
  1264. step2.StepType = WizardStepType.Finish;
  1265. wizard.WizardSteps.Add (step1);
  1266. wizard.WizardSteps.Add (step2);
  1267. wizard.ActiveStepIndex = 1;
  1268. CommandEventArgs e = new CommandEventArgs (Wizard.MovePreviousCommandName, null);
  1269. bool result = wizard.DoBubbleEvent (null, e);
  1270. Assert.AreEqual (true, result, "MovePreviousBubbleEventCommand");
  1271. eventassert ("MovePreviousBubbleEvent");
  1272. }
  1273. [Test]
  1274. public void Wizard_BubbleEvent_MoveComplete ()
  1275. {
  1276. PokerWizard wizard = new PokerWizard ();
  1277. wizard.FinishButtonClick += new WizardNavigationEventHandler (wizard_handler);
  1278. WizardStep step1 = new WizardStep ();
  1279. step1.ID = "step1";
  1280. step1.StepType = WizardStepType.Start;
  1281. WizardStep step2 = new WizardStep ();
  1282. step2.ID = "step2";
  1283. step2.StepType = WizardStepType.Finish;
  1284. WizardStep step3 = new WizardStep ();
  1285. step3.ID = "step2";
  1286. step3.StepType = WizardStepType.Complete;
  1287. wizard.WizardSteps.Add (step1);
  1288. wizard.WizardSteps.Add (step2);
  1289. wizard.WizardSteps.Add (step3);
  1290. wizard.ActiveStepIndex = 1;
  1291. CommandEventArgs e = new CommandEventArgs (Wizard.MoveCompleteCommandName, null);
  1292. bool result = wizard.DoBubbleEvent (null, e);
  1293. Assert.AreEqual (true, result, "MoveCompleteEventCommand");
  1294. eventassert ("MoveCompleteBubbleEvent");
  1295. }
  1296. [Test]
  1297. public void Wizard_BubbleEvent_MoveTo ()
  1298. {
  1299. PokerWizard wizard = new PokerWizard ();
  1300. WizardStep step1 = new WizardStep ();
  1301. step1.ID = "step1";
  1302. step1.StepType = WizardStepType.Start;
  1303. WizardStep step2 = new WizardStep ();
  1304. step2.ID = "step2";
  1305. step2.StepType = WizardStepType.Finish;
  1306. wizard.WizardSteps.Add (step1);
  1307. wizard.WizardSteps.Add (step2);
  1308. wizard.ActiveStepIndex = 0;
  1309. CommandEventArgs e = new CommandEventArgs (Wizard.MoveToCommandName, "1");
  1310. bool result = wizard.DoBubbleEvent (null, e);
  1311. Assert.AreEqual (true, result, "MoveToEventCommand");
  1312. Assert.AreEqual (1, wizard.ActiveStepIndex, "ActiveStepIndexAfterMoveToBubble");
  1313. }
  1314. /// <summary>
  1315. /// Rendering
  1316. /// </summary>
  1317. [Test]
  1318. [Category ("NunitWeb")]
  1319. public void Wizard_RenderTest ()
  1320. {
  1321. string html = new WebTest (PageInvoker.CreateOnPreInit (
  1322. new PageDelegate (WizardPreInit))).Run ();
  1323. HtmlDiff.AssertAreEqual ("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"border-collapse:collapse;\"><tr style=\"height:100%;\"><td>123</td></tr><tr><td align=\"right\"><table cellspacing=\"5\" cellpadding=\"5\" border=\"0\"><tr><td align=\"right\"><input type=\"submit\" name=\"ctl02$FinishNavigationTemplateContainerID$FinishButton\" value=\"Finish\" id=\"ctl02_FinishNavigationTemplateContainerID_FinishButton\" /></td></tr></table></td></tr></table>", HtmlDiff.GetControlFromPageHtml (html), "BaseRender");
  1324. }
  1325. public static void WizardPreInit (Page p)
  1326. {
  1327. LiteralControl lcb = new LiteralControl (HtmlDiff.BEGIN_TAG);
  1328. LiteralControl lce = new LiteralControl (HtmlDiff.END_TAG);
  1329. Wizard w = new Wizard ();
  1330. WizardStep ws = new WizardStep ();
  1331. ws.Controls.Add (new LiteralControl ("123"));
  1332. try {
  1333. w.SkipLinkText = "";
  1334. }
  1335. catch (Exception) { }
  1336. w.DisplaySideBar = false;
  1337. w.WizardSteps.Add (ws);
  1338. p.Controls.Add (lcb);
  1339. p.Controls.Add (w);
  1340. p.Controls.Add (lce);
  1341. }
  1342. [Test]
  1343. [Category ("NunitWeb")]
  1344. public void Wizard_RenderTestStartItem ()
  1345. {
  1346. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_renderingWizard));
  1347. t.UserData = 0; // Active Index
  1348. string result = t.Run ();
  1349. if (result.IndexOf ("Start") < 0)
  1350. Assert.Fail ("StartItemRendering");
  1351. if (result.IndexOf ("Next") < 0)
  1352. Assert.Fail ("NextButtonNotCreated");
  1353. Assert.AreEqual (-1, result.IndexOf ("Previous"), "PreviousButtonCreatedOnFirstPage");
  1354. }
  1355. [Test]
  1356. [Category ("NunitWeb")]
  1357. public void Wizard_RenderTestStepItem ()
  1358. {
  1359. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_renderingWizard));
  1360. t.UserData = 1; // Active Index
  1361. string result = t.Run ();
  1362. if (result.IndexOf ("Step") < 0)
  1363. Assert.Fail ("StepItemRendering");
  1364. if (result.IndexOf ("Next") < 0)
  1365. Assert.Fail ("NextButtonNotCreated");
  1366. if (result.IndexOf ("Previous") < 0)
  1367. Assert.Fail ("PreviousButtonNotCreated");
  1368. }
  1369. [Test]
  1370. [Category ("NunitWeb")]
  1371. public void Wizard_RenderTestAutoItem ()
  1372. {
  1373. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_renderingWizard));
  1374. t.UserData = 2; // Active Index
  1375. string result = t.Run ();
  1376. if (result.IndexOf ("Auto") < 0)
  1377. Assert.Fail ("AutoItemRendering");
  1378. if (result.IndexOf ("Next") < 0)
  1379. Assert.Fail ("NextButtonNotCreated");
  1380. if (result.IndexOf ("Previous") < 0)
  1381. Assert.Fail ("PreviousButtonNotCreated");
  1382. }
  1383. [Test]
  1384. [Category ("NunitWeb")]
  1385. public void Wizard_RenderTestFinishItem ()
  1386. {
  1387. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_renderingWizard));
  1388. t.UserData = 3; // Active Index
  1389. string result = t.Run ();
  1390. if (result.IndexOf ("FinishText") < 0)
  1391. Assert.Fail ("FinishItemRendering");
  1392. if (result.IndexOf ("Previous") < 0)
  1393. Assert.Fail ("NextButtonNotCreated");
  1394. if (result.IndexOf ("Finish") < 0)
  1395. Assert.Fail ("FinishButtonNotCreated");
  1396. Assert.AreEqual (-1, result.IndexOf ("Next"), "NextButtonCreatedOnLastPage");
  1397. }
  1398. [Test]
  1399. [Category ("NunitWeb")]
  1400. public void Wizard_RenderTestCompleteItem ()
  1401. {
  1402. WebTest t = new WebTest (PageInvoker.CreateOnPreInit (_renderingWizard));
  1403. t.UserData = 4; // Active Index
  1404. string result = t.Run ();
  1405. if (result.IndexOf ("Complete") < 0)
  1406. Assert.Fail ("FinishItemRendering");
  1407. Assert.AreEqual (-1, result.IndexOf ("Previous"), "PreviousButtonCreatedOnLastPage");
  1408. Assert.AreEqual (-1, result.IndexOf ("Finish"), "FinishButtonCreatedOnLastPage");
  1409. Assert.AreEqual (-1, result.IndexOf ("Next"), "NextButtonCreatedOnLastPage");
  1410. }
  1411. public static void _renderingWizard (Page p)
  1412. {
  1413. Wizard w = new Wizard ();
  1414. w.ID = "Wizard";
  1415. WizardStep ws = new WizardStep ();
  1416. ws.ID = "step";
  1417. ws.StepType = WizardStepType.Start;
  1418. ws.Controls.Add (new LiteralControl ("Start"));
  1419. WizardStep ws1 = new WizardStep ();
  1420. ws1.ID = "step1";
  1421. ws1.StepType = WizardStepType.Step;
  1422. ws1.Controls.Add (new LiteralControl ("Step"));
  1423. WizardStep ws2 = new WizardStep ();
  1424. ws2.ID = "step2";
  1425. ws2.StepType = WizardStepType.Auto;
  1426. ws2.Controls.Add (new LiteralControl ("Auto"));
  1427. WizardStep ws3 = new WizardStep ();
  1428. ws3.ID = "step3";
  1429. ws3.StepType = WizardStepType.Finish;
  1430. ws3.Controls.Add (new LiteralControl ("FinishText"));
  1431. WizardStep ws4 = new WizardStep ();
  1432. ws4.ID = "step4";
  1433. ws4.StepType = WizardStepType.Complete;
  1434. ws4.Controls.Add (new LiteralControl ("Complete"));
  1435. w.DisplaySideBar = false;
  1436. w.WizardSteps.Add (ws);
  1437. w.WizardSteps.Add (ws1);
  1438. w.WizardSteps.Add (ws2);
  1439. w.WizardSteps.Add (ws3);
  1440. w.WizardSteps.Add (ws4);
  1441. w.ActiveStepIndex = (int) WebTest.CurrentTest.UserData;
  1442. p.Controls.Add (w);
  1443. }
  1444. [Test]
  1445. [Category ("NunitWeb")]
  1446. public void Wizard_PostBack()
  1447. {
  1448. WebTest t = new WebTest ();
  1449. PageDelegates pd = new PageDelegates ();
  1450. pd.PreInit = _postback;
  1451. pd.PreRenderComplete = _readControl;
  1452. t.Invoker = new PageInvoker (pd);
  1453. string result = t.Run ();
  1454. if (result.IndexOf ("Start") < 0)
  1455. Assert.Fail ("Rendering fault");
  1456. ArrayList list = t.UserData as ArrayList;
  1457. Assert.IsNotNull (list, "PostBackDataNotCreated");
  1458. FormRequest fr = new FormRequest (t.Response, "form1");
  1459. fr.Controls.Add ("__EVENTTARGET");
  1460. fr.Controls.Add ("__EVENTARGUMENT");
  1461. fr.Controls["__EVENTTARGET"].Value = list[1].ToString();
  1462. fr.Controls["__EVENTARGUMENT"].Value = "";
  1463. t.Request = fr;
  1464. result = t.Run ();
  1465. if (result.IndexOf ("StepType") < 0)
  1466. Assert.Fail ("MovedToStep1");
  1467. fr = new FormRequest (t.Response, "form1");
  1468. fr.Controls.Add ("__EVENTTARGET");
  1469. fr.Controls.Add ("__EVENTARGUMENT");
  1470. fr.Controls["__EVENTTARGET"].Value = list[2].ToString ();
  1471. fr.Controls["__EVENTARGUMENT"].Value = "";
  1472. t.Request = fr;
  1473. result = t.Run ();
  1474. if (result.IndexOf ("AutoType") < 0)
  1475. Assert.Fail ("MovedToStep2");
  1476. fr = new FormRequest (t.Response, "form1");
  1477. fr.Controls.Add ("__EVENTTARGET");
  1478. fr.Controls.Add ("__EVENTARGUMENT");
  1479. fr.Controls["__EVENTTARGET"].Value = list[3].ToString ();
  1480. fr.Controls["__EVENTARGUMENT"].Value = "";
  1481. t.Request = fr;
  1482. result = t.Run ();
  1483. if (result.IndexOf ("FinishType") < 0)
  1484. Assert.Fail ("MovedToStep3");
  1485. fr = new FormRequest (t.Response, "form1");
  1486. fr.Controls.Add ("__EVENTTARGET");
  1487. fr.Controls.Add ("__EVENTARGUMENT");
  1488. fr.Controls["__EVENTTARGET"].Value = list[4].ToString ();
  1489. fr.Controls["__EVENTARGUMENT"].Value = "";
  1490. t.Request = fr;
  1491. result = t.Run ();
  1492. if (result.IndexOf ("CompleteType") < 0)
  1493. Assert.Fail ("MovedToStep4");
  1494. }
  1495. public static void _postback (Page p)
  1496. {
  1497. p.EnableEventValidation = false;
  1498. Wizard w = new Wizard ();
  1499. w.ID = "Wizard";
  1500. WizardStep ws = new WizardStep ();
  1501. ws.ID = "step";
  1502. ws.StepType = WizardStepType.Start;
  1503. ws.Controls.Add (new LiteralControl ("StartType"));
  1504. WizardStep ws1 = new WizardStep ();
  1505. ws1.ID = "step1";
  1506. ws1.StepType = WizardStepType.Step;
  1507. ws1.Controls.Add (new LiteralControl ("StepType"));
  1508. WizardStep ws2 = new WizardStep ();
  1509. ws2.ID = "step2";
  1510. ws2.StepType = WizardStepType.Auto;
  1511. ws2.Controls.Add (new LiteralControl ("AutoType"));
  1512. WizardStep ws3 = new WizardStep ();
  1513. ws3.ID = "step3";
  1514. ws3.StepType = WizardStepType.Finish;
  1515. ws3.Controls.Add (new LiteralControl ("FinishType"));
  1516. WizardStep ws4 = new WizardStep ();
  1517. ws4.ID = "step4";
  1518. ws4.StepType = WizardStepType.Complete;
  1519. ws4.Controls.Add (new LiteralControl ("CompleteType"));
  1520. w.DisplaySideBar = true;
  1521. w.WizardSteps.Add (ws);
  1522. w.WizardSteps.Add (ws1);
  1523. w.WizardSteps.Add (ws2);
  1524. w.WizardSteps.Add (ws3);
  1525. w.WizardSteps.Add (ws4);
  1526. p.Controls.Add (w);
  1527. }
  1528. public static void _readControl (Page p)
  1529. {
  1530. ArrayList list = new ArrayList();
  1531. recurcivefind (list, typeof (LinkButton), p.FindControl ("Wizard"));
  1532. WebTest.CurrentTest.UserData = list;
  1533. }
  1534. public static void recurcivefind (ArrayList list, Type t, Control control )
  1535. {
  1536. foreach (Control c in control.Controls)
  1537. {
  1538. if (c == null)
  1539. continue;
  1540. if (t == c.GetType ()) {
  1541. list.Add (c.UniqueID);
  1542. }
  1543. recurcivefind (list, t, c);
  1544. }
  1545. }
  1546. /// <summary>
  1547. /// Exceptions
  1548. /// </summary>
  1549. [Test]
  1550. [ExpectedException (typeof (InvalidCastException))]
  1551. public void Wizard_ViewStateException ()
  1552. {
  1553. PokerWizard wizard = new PokerWizard ();
  1554. wizard.LoadState (new object ());
  1555. }
  1556. [Test]
  1557. [Category ("NotWorking")]
  1558. [ExpectedException (typeof (InvalidOperationException))]
  1559. public void Wizard_ActiveStepException1 ()
  1560. {
  1561. Wizard wizard = new Wizard ();
  1562. wizard.ActiveStepIndex = 1;
  1563. WizardStepBase step = wizard.ActiveStep;
  1564. }
  1565. [Test]
  1566. [Category ("NotWorking")]
  1567. [ExpectedException (typeof (ArgumentOutOfRangeException))]
  1568. public void Wizard_ActiveStepException2 ()
  1569. {
  1570. Wizard wizard = new Wizard ();
  1571. wizard.ActiveStepIndex = -2;
  1572. WizardStepBase step = wizard.ActiveStep;
  1573. }
  1574. [TestFixtureTearDown]
  1575. public void TearDown ()
  1576. {
  1577. WebTest.Unload ();
  1578. }
  1579. // A simple Template class to wrap an image.
  1580. public class ImageTemplate : ITemplate
  1581. {
  1582. private Template.Image myImage;
  1583. public Template.Image MyImage
  1584. {
  1585. get
  1586. {
  1587. return myImage;
  1588. }
  1589. set
  1590. {
  1591. myImage = value;
  1592. }
  1593. }
  1594. public void InstantiateIn (Control container)
  1595. {
  1596. container.Controls.Add (MyImage);
  1597. }
  1598. }
  1599. private bool _eventchecker;
  1600. private void eventassert (string message)
  1601. {
  1602. Assert.IsTrue (_eventchecker, message);
  1603. _eventchecker = false;
  1604. }
  1605. }
  1606. }
  1607. #endif