|
|
@@ -0,0 +1,174 @@
|
|
|
+//
|
|
|
+// Authors:
|
|
|
+// Marek Habersack ([email protected])
|
|
|
+//
|
|
|
+// (C) 2010 Novell, Inc http://novell.com/
|
|
|
+//
|
|
|
+
|
|
|
+//
|
|
|
+// Permission is hereby granted, free of charge, to any person obtaining
|
|
|
+// a copy of this software and associated documentation files (the
|
|
|
+// "Software"), to deal in the Software without restriction, including
|
|
|
+// without limitation the rights to use, copy, modify, merge, publish,
|
|
|
+// distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
+// permit persons to whom the Software is furnished to do so, subject to
|
|
|
+// the following conditions:
|
|
|
+//
|
|
|
+// The above copyright notice and this permission notice shall be
|
|
|
+// included in all copies or substantial portions of the Software.
|
|
|
+//
|
|
|
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
|
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
|
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
+//
|
|
|
+#if NET_4_0
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Configuration;
|
|
|
+using System.Configuration.Provider;
|
|
|
+using System.IO;
|
|
|
+using System.Web;
|
|
|
+using System.Web.Hosting;
|
|
|
+
|
|
|
+using StandAloneRunnerSupport;
|
|
|
+using StandAloneTests;
|
|
|
+
|
|
|
+using NUnit.Framework;
|
|
|
+
|
|
|
+namespace StandAloneTests.WebFormsRouting
|
|
|
+{
|
|
|
+ [TestCase ("WebFormsRouting 01", "Web forms routing")]
|
|
|
+ public sealed class WebFormsRouting_01 : ITestCase
|
|
|
+ {
|
|
|
+ public string PhysicalPath {
|
|
|
+ get {
|
|
|
+ return Path.Combine (Consts.BasePhysicalDir, "WebFormsRouting");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public string VirtualPath {
|
|
|
+ get { return "/"; }
|
|
|
+ }
|
|
|
+
|
|
|
+ public bool SetUp (List <TestRunItem> runItems)
|
|
|
+ {
|
|
|
+ runItems.Add (new TestRunItem ("/Default.aspx", Default_Aspx));
|
|
|
+ runItems.Add (new TestRunItem ("/search/test", Search_Test));
|
|
|
+ runItems.Add (new TestRunItem ("/search/true", Search_True));
|
|
|
+ runItems.Add (new TestRunItem ("/search/red", Search_Red));
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ void Default_Aspx (string result, TestRunItem runItem)
|
|
|
+ {
|
|
|
+ string originalHtml = @"<a href=""/search/test"">Search for 'test'</a>";
|
|
|
+
|
|
|
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
|
|
|
+ }
|
|
|
+
|
|
|
+ void Search_Test (string result, TestRunItem runItem)
|
|
|
+ {
|
|
|
+ string originalHtml = @"Search term is: <span id=""label1"">test</span><br />
|
|
|
+ Search term from expression is: <span id=""label2"">test</span><br />
|
|
|
+ <pre id=""testLog"">.: Missing key (key: 'SearchTermd')
|
|
|
+ Returned null.
|
|
|
+.: Missing property (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': test
|
|
|
+.: No converter (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': test
|
|
|
+.: Valid conversion to target (key: 'SearchTerm')
|
|
|
+ Exception 'System.FormatException' caught
|
|
|
+.: Invalid conversion to target (key: 'SearchTerm')
|
|
|
+ Exception 'System.Exception' caught
|
|
|
+.: Complex type converter (key: 'SearchTerm')
|
|
|
+ Exception 'System.Exception' caught
|
|
|
+.: Null controlType (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': test
|
|
|
+.: Null propertyName (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': test
|
|
|
+.: Empty propertyName (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': test
|
|
|
+.: Non-string value (key: 'intValue')
|
|
|
+ Returned value of type 'System.Int32': 123
|
|
|
+.: Non-string value (key: 'boolValue')
|
|
|
+ Returned value of type 'System.Boolean': False
|
|
|
+.: Non-string value (key: 'doubleValue')
|
|
|
+ Returned value of type 'System.Double': 1,23
|
|
|
+</pre>";
|
|
|
+
|
|
|
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
|
|
|
+ }
|
|
|
+
|
|
|
+ void Search_True (string result, TestRunItem runItem)
|
|
|
+ {
|
|
|
+ string originalHtml = @"Search term is: <span id=""label1"">true</span><br />
|
|
|
+ Search term from expression is: <span id=""label2"">true</span><br />
|
|
|
+ <pre id=""testLog"">.: Missing key (key: 'SearchTermd')
|
|
|
+ Returned null.
|
|
|
+.: Missing property (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': true
|
|
|
+.: No converter (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': true
|
|
|
+.: Valid conversion to target (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.Boolean': True
|
|
|
+.: Invalid conversion to target (key: 'SearchTerm')
|
|
|
+ Exception 'System.Exception' caught
|
|
|
+.: Complex type converter (key: 'SearchTerm')
|
|
|
+ Exception 'System.Exception' caught
|
|
|
+.: Null controlType (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': true
|
|
|
+.: Null propertyName (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': true
|
|
|
+.: Empty propertyName (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': true
|
|
|
+.: Non-string value (key: 'intValue')
|
|
|
+ Returned value of type 'System.Int32': 123
|
|
|
+.: Non-string value (key: 'boolValue')
|
|
|
+ Returned value of type 'System.Boolean': False
|
|
|
+.: Non-string value (key: 'doubleValue')
|
|
|
+ Returned value of type 'System.Double': 1,23
|
|
|
+</pre>";
|
|
|
+
|
|
|
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
|
|
|
+ }
|
|
|
+
|
|
|
+ void Search_Red (string result, TestRunItem runItem)
|
|
|
+ {
|
|
|
+ string originalHtml = @"Search term is: <span id=""label1"">red</span><br />
|
|
|
+ Search term from expression is: <span id=""label2"">red</span><br />
|
|
|
+ <pre id=""testLog"">.: Missing key (key: 'SearchTermd')
|
|
|
+ Returned null.
|
|
|
+.: Missing property (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': red
|
|
|
+.: No converter (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': red
|
|
|
+.: Valid conversion to target (key: 'SearchTerm')
|
|
|
+ Exception 'System.FormatException' caught
|
|
|
+.: Invalid conversion to target (key: 'SearchTerm')
|
|
|
+ Exception 'System.Exception' caught
|
|
|
+.: Complex type converter (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.Drawing.Color': Color [Red]
|
|
|
+.: Null controlType (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': red
|
|
|
+.: Null propertyName (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': red
|
|
|
+.: Empty propertyName (key: 'SearchTerm')
|
|
|
+ Returned value of type 'System.String': red
|
|
|
+.: Non-string value (key: 'intValue')
|
|
|
+ Returned value of type 'System.Int32': 123
|
|
|
+.: Non-string value (key: 'boolValue')
|
|
|
+ Returned value of type 'System.Boolean': False
|
|
|
+.: Non-string value (key: 'doubleValue')
|
|
|
+ Returned value of type 'System.Double': 1,23
|
|
|
+</pre>";
|
|
|
+
|
|
|
+ Helpers.ExtractAndCompareCodeFromHtml (result, originalHtml, "#A1");
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+#endif
|