2006-01-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Wed, 25 Jan 2006 23:10:15 +0000 (23:10 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Wed, 25 Jan 2006 23:10:15 +0000 (23:10 -0000)
* VirtualPathProviderTest.cs: new tests.

svn path=/trunk/mcs/; revision=56083

mcs/class/System.Web/Test/System.Web.Hosting/ChangeLog
mcs/class/System.Web/Test/System.Web.Hosting/VirtualPathProviderTest.cs [new file with mode: 0644]

index 97127d29966765eb1f8f1aeba25dfeee1a63e3a8..6b9a49cd3c997d872fec704a9b24b648269e03ed 100644 (file)
@@ -1,3 +1,7 @@
+2006-01-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * VirtualPathProviderTest.cs: new tests.
+
 2005-11-23  Robert Jordan  <robertj@gmx.net>
 
        * SimpleWorkerRequestTest.cs: added a test case for #76794.
diff --git a/mcs/class/System.Web/Test/System.Web.Hosting/VirtualPathProviderTest.cs b/mcs/class/System.Web/Test/System.Web.Hosting/VirtualPathProviderTest.cs
new file mode 100644 (file)
index 0000000..e593b14
--- /dev/null
@@ -0,0 +1,171 @@
+//
+// System.Web.Hosting.VirtualPathProviderTest
+// 
+// Author:
+//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
+//
+//
+// Copyright (C) 2006 Novell, Inc (http://www.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_2_0
+using System;
+using System.Collections;
+using System.IO;
+using System.Web;
+using System.Web.Caching;
+using System.Web.Hosting;
+using NUnit.Framework;
+
+namespace MonoTests.System.Web.Hosting {
+       class DummyVPP : VirtualPathProvider {
+               public override bool FileExists (string virtualPath)
+               {
+                       bool de = base.FileExists (virtualPath);
+                       return de;
+               }
+
+               public override bool DirectoryExists (string virtualDir)
+               {
+                       bool de = base.DirectoryExists (virtualDir);
+                       return de;
+               }
+
+               public override VirtualFile GetFile (string virtualPath)
+               {
+                       VirtualFile vf = base.GetFile (virtualPath);
+                       return vf;
+               }
+
+               public override VirtualDirectory GetDirectory (string virtualDir)
+               {
+                       VirtualDirectory vd = base.GetDirectory (virtualDir);
+                       return vd;
+               }
+
+               public override CacheDependency GetCacheDependency (string virtualPath,
+                                               IEnumerable virtualPathDependencies, DateTime utcStart)
+               {
+                       CacheDependency cd = base.GetCacheDependency (virtualPath, virtualPathDependencies, utcStart);
+                       return cd;
+               }
+       }
+
+       [TestFixture]
+       public class ApplicationHostTest {
+               // Unhosted tests: not running inside an ASP.NET appdomain.
+               // Some tests may yield different results when hosted. I'll add those later.
+               [Test]
+               public void FileExists1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.IsNull (dummy.FileExists ("hola.aspx"));
+               }
+
+               [Test]
+               public void DirectoryExists1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.IsNull (dummy.DirectoryExists ("hola"));
+               }
+
+               [Test]
+               public void GetFile1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.IsNull (dummy.GetFile ("index.aspx"));
+               }
+
+               [Test]
+               public void GetDirectory1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.IsNull (dummy.GetDirectory ("some_directory"));
+               }
+
+               [Test]
+               public void GetCacheDependency1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.IsNull (dummy.GetCacheDependency (null, null, DateTime.UtcNow));
+               }
+
+               [Test]
+               public void GetCacheDependency1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.IsNull (dummy.GetCacheDependency (null, null, DateTime.UtcNow));
+               }
+
+               [Test]
+               public void GetCacheKey1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.IsNull (dummy.GetCacheKey ("index.aspx"));
+               }
+
+               [Test]
+               [ExpectedException (typeof (NullReferenceException))]
+               public void OpenFile1 ()
+               {
+                       VirtualPathProvider.OpenFile ("index.aspx");
+               }
+
+               [Test]
+               public void CombineVirtualPaths1 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.AreEquals ("/otherroot", vpp.CombineVirtualPaths ("/root", "/otherroot"));
+               }
+
+               [Test]
+               public void CombineVirtualPaths2 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.AreEquals ("/otherleaf", vpp.CombineVirtualPaths ("/root", "otherleaf"));
+               }
+
+               [Test]
+               public void CombineVirtualPaths3 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.AreEquals ("/otherleaf/index.aspx", vpp.CombineVirtualPaths ("/root", "otherleaf/index.aspx"));
+               }
+
+               [Test]
+               public void CombineVirtualPaths4 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       Assert.AreEquals ("/otherleaf/index.aspx", vpp.CombineVirtualPaths ("/root", "./otherleaf/index.aspx"));
+               }
+
+               [Test]
+               [ExpectedException (typeof (ArgumentException))]
+               public void CombineVirtualPaths5 ()
+               {
+                       DummyVPP dummy = new DummyVPP ();
+                       vpp.CombineVirtualPaths ("root", "./otherleaf/index.aspx");
+               }
+       }
+       
+}
+#endif
+