1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
//
// WebRequestTest.cs - NUnit Test Cases for System.Net.WebRequest
//
// Author:
// Lawrence Pit (loz@cable.a2000.nl)
//
using NUnit.Framework;
using System;
using System.Net;
using System.Collections;
using System.Security;
using System.Security.Permissions;
namespace MonoTests.System.Net
{
public class WebRequestTest : TestCase
{
public WebRequestTest () :
base ("[MonoTests.System.Net.WebRequestTest]") {}
public WebRequestTest (string name) : base (name) {}
protected override void SetUp () {}
protected override void TearDown () {}
public static ITest Suite
{
get {
return new TestSuite (typeof (WebRequestTest));
}
}
public void TestAll ()
{
WebRequest req = WebRequest.Create ("http://www.contoso.com");
Assert ("#1", req is HttpWebRequest);
req = WebRequest.Create ("https://www.contoso.com");
Assert ("#2", req is HttpWebRequest);
req = WebRequest.Create ("file://www.contoso.com");
Assert ("#3", req is FileWebRequest);
WebRequest.RegisterPrefix ("http://www.contoso.com", new TestWebRequestCreator ());
bool ret = WebRequest.RegisterPrefix ("http://WWW.contoso.com", new TestWebRequestCreator ());
AssertEquals ("#4a", false, ret);
ret = WebRequest.RegisterPrefix ("http://www.contoso.com/foo/bar", new TestWebRequestCreator2 ());
AssertEquals ("#4b", true, ret);
ret = WebRequest.RegisterPrefix ("http://www", new TestWebRequestCreator3 ());
AssertEquals ("#4c", true, ret);
req = WebRequest.Create ("http://WWW.contoso.com");
Assert ("#5", req is TestWebRequest);
req = WebRequest.Create ("http://WWW.contoso.com/foo/bar/index.html");
Assert ("#6", req is TestWebRequest2);
req = WebRequest.Create ("http://WWW.x.com");
Assert ("#7", req is TestWebRequest3);
req = WebRequest.Create ("http://WWW.c");
Assert ("#8", req is TestWebRequest3);
req = WebRequest.CreateDefault (new Uri("http://WWW.contoso.com"));
Assert ("#9", req is HttpWebRequest);
try {
req = WebRequest.Create ("tcp://www.contoso.com");
Fail ("#10 should have failed with NotSupportedException");
} catch (NotSupportedException) {
}
}
internal class TestWebRequestCreator : IWebRequestCreate
{
internal TestWebRequestCreator () { }
public WebRequest Create (Uri uri)
{
return new TestWebRequest ();
}
}
internal class TestWebRequest : WebRequest
{
internal TestWebRequest () { }
}
internal class TestWebRequestCreator2 : IWebRequestCreate
{
internal TestWebRequestCreator2 () { }
public WebRequest Create (Uri uri)
{
return new TestWebRequest2 ();
}
}
internal class TestWebRequest2 : WebRequest
{
internal TestWebRequest2 () { }
}
internal class TestWebRequestCreator3 : IWebRequestCreate
{
internal TestWebRequestCreator3 () { }
public WebRequest Create (Uri uri)
{
return new TestWebRequest3 ();
}
}
internal class TestWebRequest3 : WebRequest
{
internal TestWebRequest3 () { }
}
}
}
|