1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle
.MonoRail
.Framework
.Test
22 /// Represents a mock implementation of <see cref="IServerUtility"/> for unit test purposes.
24 public class MockServerUtility
: IServerUtility
27 /// Returns the physical path for the
28 /// specified virtual path.
30 /// <param name="virtualPath">The virtual path.</param>
31 /// <returns>The mapped path</returns>
32 public virtual string MapPath(string virtualPath
)
34 return Path
.Combine(AppDomain
.CurrentDomain
.BaseDirectory
, virtualPath
);
38 /// HTML encodes a string and returns the encoded string.
40 /// <param name="content">The text string to HTML encode.</param>
41 /// <returns>The HTML encoded text.</returns>
42 public virtual string HtmlEncode(string content
)
44 return HttpUtility
.HtmlEncode(content
);
48 /// URL encodes a string and returns the encoded string.
50 /// <param name="content">The text to URL encode.</param>
51 /// <returns>The URL encoded text.</returns>
52 public virtual string UrlEncode(string content
)
54 return HttpUtility
.UrlEncode(content
);
58 /// URL decodes a string and returns the decoded string.
60 /// <param name="content">The text to URL decode.</param>
61 /// <returns>The URL decoded text.</returns>
62 public virtual string UrlDecode(string content
)
64 return HttpUtility
.UrlDecode(content
);
68 /// URL encodes the path portion of a URL string and returns the encoded string.
70 /// <param name="content">The text to URL encode.</param>
71 /// <returns>The URL encoded text.</returns>
72 public virtual string UrlPathEncode(string content
)
74 return HttpUtility
.UrlPathEncode(content
);
78 /// Escapes JavaScript with Url encoding and returns the encoded string.
80 /// <param name="content">The text to URL encode and escape JavaScript within.</param>
82 /// The URL encoded and JavaScript escaped text.
85 /// Converts quotes, single quotes and CR/LFs to their representation as an escape character.
87 public virtual string JavaScriptEscape(string content
)
90 Replace("\"", "\\\"").