in class/WPF.Toolkit/:
[moon.git] / test / 2.0 / moon-unit / System.Xml / XmlXapResolverTest.cs
blob668dbbf8b7f4128a914d790be5cdb54cc9051d92
1 //
2 // Unit tests for System.Xml.XmlXapResolver
3 //
4 // Contact:
5 // Moonlight List (moonlight-list@lists.ximian.com)
6 //
7 // Copyright (C) 2009 Novell, Inc (http://www.novell.com)
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 using System;
30 using System.IO;
31 using System.Windows;
32 using System.Xml;
34 using Mono.Moonlight.UnitTesting;
35 using Microsoft.VisualStudio.TestTools.UnitTesting;
37 namespace MoonTest.System.Xml {
39 [TestClass]
40 public class XmlXapResolverTest {
42 [TestMethod]
43 public void GetEntity ()
45 XmlXapResolver xr = new XmlXapResolver ();
47 Assert.Throws<ArgumentNullException> (delegate {
48 xr.GetEntity (null, "role", typeof (Stream));
49 }, "null,string,type");
51 Uri absolute = new Uri ("http://www.mono-project.com/", UriKind.Absolute);
53 Assert.Throws<XmlException> (delegate {
54 xr.GetEntity (absolute, "role", typeof (Stream));
55 }, "absolute,string,type");
57 Uri relative = new Uri (String.Empty, UriKind.Relative);
58 Assert.Throws<IndexOutOfRangeException> (delegate {
59 xr.GetEntity (relative, "role", typeof (Stream));
60 }, "empty,string,type");
62 relative = new Uri ("AppManifest.xaml", UriKind.Relative);
64 Stream s = (Stream) xr.GetEntity (relative, null, typeof (Stream));
65 Assert.IsNotNull (s, "relative,null,type");
66 Assert.IsTrue (s is Stream, "Stream");
68 s = (Stream) xr.GetEntity (relative, String.Empty, null);
69 Assert.IsNotNull (s, "relative,empty,null");
71 Assert.Throws<XmlException> (delegate {
72 xr.GetEntity (relative, null, s.GetType ());
73 }, "relative,string,type/bad");
75 absolute = new Uri (Application.Current.Host.Source, relative);
76 Assert.Throws<XmlException> (delegate {
77 xr.GetEntity (absolute, String.Empty, null);
78 }, "absolute(app),empty,null");
80 absolute = new Uri (Application.Current.Host.Source + "#AppManifest.xaml");
81 Assert.Throws<XmlException> (delegate {
82 xr.GetEntity (absolute, String.Empty, null);
83 }, "absolute(fragment),empty,null");
85 relative = new Uri ("does-not-exists.file", UriKind.Relative);
86 Assert.Throws<XmlException> (delegate {
87 xr.GetEntity (relative, String.Empty, null);
88 }, "relative(doesnotexists),empty,null");