Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgaryb <unknown-user@192.168.2.7>2012-08-19 00:59:11 +0400
committergaryb <garyb@system1.(none)>2012-10-11 02:20:06 +0400
commit8f56d2fcaee475167dfd058c584b829bb36b10d2 (patch)
tree63356db30fb81e3b5e7bd917f50a917348fb80c5 /mcs/class/Managed.Windows.Forms/Test
parent1553a275aea37e7d1c2a337bc6cdb6eddb713473 (diff)
Support for ResXResourceWriter.BasePath being deeper than actual filepath
Diffstat (limited to 'mcs/class/Managed.Windows.Forms/Test')
-rw-r--r--mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs64
-rw-r--r--[-rwxr-xr-x]mcs/class/Managed.Windows.Forms/Test/automated/harness.sh0
2 files changed, 41 insertions, 23 deletions
diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs b/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs
index 35bbec24833..9ae1f68076c 100644
--- a/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs
+++ b/mcs/class/Managed.Windows.Forms/Test/System.Resources/WriterTest.cs
@@ -206,18 +206,18 @@ namespace MonoTests.System.Resources
[Test]
public void BasePath_ChangesAbsoluteFileRef_Node ()
{
- var node = new ResXDataNode ("name", new ResXFileRef (@"/adir/filename.ext", "System.String"));
- var returnedNode = GetNodeFromResXWithBasePath (node, @"/");
+ var node = new ResXDataNode ("name", new ResXFileRef (@"/dir/dir/filename.ext", "System.String"));
+ var returnedNode = GetNodeFromResXWithBasePath (node, @"/dir");
Assert.IsNotNull (returnedNode, "#A1");
- Assert.AreEqual (@"adir/filename.ext", returnedNode.FileRef.FileName, "#A2");
+ Assert.AreEqual (@"dir/filename.ext", returnedNode.FileRef.FileName, "#A2");
}
[Test]
public void BasePath_ChangesAbsoluteFileRef_Object ()
{
- var fileref = new ResXFileRef (@"/adir/filename.ext", "System.String");
+ var fileref = new ResXFileRef (@"/dir/dir/filename.ext", "System.String");
- string basePath = @"/";
+ string basePath = @"/dir";
StringWriter sw = new StringWriter ();
using (ResXResourceWriter writer = new ResXResourceWriter (sw)) {
@@ -232,58 +232,76 @@ namespace MonoTests.System.Resources
IDictionaryEnumerator enumerator = reader.GetEnumerator ();
enumerator.MoveNext ();
var returnedNode = ((DictionaryEntry) enumerator.Current).Value as ResXDataNode;
- Assert.AreEqual (@"adir/filename.ext", returnedNode.FileRef.FileName);
+ Assert.AreEqual (@"dir/filename.ext", returnedNode.FileRef.FileName);
}
}
+
+ [Test]
+ public void BasePath_ChangesAbsoluteFileRef_Deeper ()
+ {
+ var node = new ResXDataNode ("name", new ResXFileRef (@"/adir/filename.ext", "System.String"));
+ var returnedNode = GetNodeFromResXWithBasePath (node, @"/dir1/dir2");
+ Assert.IsNotNull (returnedNode, "#A1");
+ Assert.AreEqual (@"../../adir/filename.ext", returnedNode.FileRef.FileName, "#A2");
+ }
[Test]
public void BasePath_ComplexPath ()
{
- var node = new ResXDataNode ("name", new ResXFileRef (@"/adir/../filename.ext", "System.String"));
- var returnedNode = GetNodeFromResXWithBasePath (node, @"/");
+ var node = new ResXDataNode ("name", new ResXFileRef (@"/dir/dir/../filename.ext", "System.String"));
+ var returnedNode = GetNodeFromResXWithBasePath (node, @"/dir");
Assert.IsNotNull (returnedNode, "#A1");
- Assert.AreEqual (@"adir/../filename.ext", returnedNode.FileRef.FileName, "#A2");
+ Assert.AreEqual (@"dir/../filename.ext", returnedNode.FileRef.FileName, "#A2");
}
[Test]
public void BasePath_IgnoresTrailingSeparator ()
{
- var node = new ResXDataNode ("name", new ResXFileRef (@"/adir/filename.ext", "System.String"));
- var nonTrailNode = GetNodeFromResXWithBasePath (node, @"/adir");
+ var node = new ResXDataNode ("name", new ResXFileRef (@"/dir/filename.ext", "System.String"));
+ var nonTrailNode = GetNodeFromResXWithBasePath (node, @"/dir");
Assert.IsNotNull (nonTrailNode, "#A1");
Assert.AreEqual (@"filename.ext", nonTrailNode.FileRef.FileName, "#A2");
- var trailingNode = GetNodeFromResXWithBasePath (node, @"/adir/");
+ var trailingNode = GetNodeFromResXWithBasePath (node, @"/dir/");
Assert.IsNotNull (trailingNode, "#A3");
Assert.AreEqual (@"filename.ext", trailingNode.FileRef.FileName, "#A4");
}
[Test]
- public void BasePath_IgnoredIfNotPartOfPath ()
+ public void BasePath_IgnoredIfNotPartOfPath () // not really a valid test on linux systems
{
- var node = new ResXDataNode ("name", new ResXFileRef (@"/adir/filename.ext", "System.String"));
- var returnedNode = GetNodeFromResXWithBasePath (node, @"D:/");
+ var node = new ResXDataNode ("name", new ResXFileRef (@"/dir/filename.ext", "System.String"));
+ var returnedNode = GetNodeFromResXWithBasePath (node, @"D/");
Assert.IsNotNull (returnedNode, "#A1");
- Assert.AreEqual (@"/adir/filename.ext", returnedNode.FileRef.FileName, "#A2");
+ Assert.AreEqual (@"/dir/filename.ext", returnedNode.FileRef.FileName, "#A2");
+ }
+
+ [Test] // FIXME: this fails on mono ("/dir/filename.ext" is returned) but passes on .net
+ public void BasePath_Root ()
+ {
+ var node = new ResXDataNode ("name", new ResXFileRef (@"/dir/filename.ext", "System.String"));
+ var returnedNode = GetNodeFromResXWithBasePath (node, @"/");
+ Assert.IsNotNull (returnedNode, "#A1");
+ Assert.AreEqual (@"dir/filename.ext", returnedNode.FileRef.FileName, "#A2");
}
[Test]
- public void BasePath_IgnoredOnRelativeFileRef ()
+ public void BasePath_RelativeFileRef ()
{
var node = new ResXDataNode ("name", new ResXFileRef (@"../../filename.ext", "System.String"));
- var returnedNode = GetNodeFromResXWithBasePath (node, @"/");
+ var returnedNode = GetNodeFromResXWithBasePath (node, @"../");
Assert.IsNotNull (returnedNode, "#A1");
- Assert.AreEqual (@"../../filename.ext", returnedNode.FileRef.FileName, "#A2");
+ Assert.AreEqual (@"../filename.ext", returnedNode.FileRef.FileName, "#A2");
}
[Test]
public void BasePath_DoesntAffectOriginalNode ()
{
- var node = new ResXDataNode ("name", new ResXFileRef (@"/adir/filename.ext", "System.String"));
- var returnedNode = GetNodeFromResXWithBasePath (node, @"/");
+ var node = new ResXDataNode ("name", new ResXFileRef (@"/dir/dir/filename.ext", "System.String"));
+ var returnedNode = GetNodeFromResXWithBasePath (node, @"/dir");
Assert.IsNotNull (returnedNode, "#A1");
- Assert.AreEqual (@"adir/filename.ext", returnedNode.FileRef.FileName, "#A2");
- Assert.AreEqual (@"/adir/filename.ext", node.FileRef.FileName, "#A3");
+ Assert.AreEqual (@"dir/filename.ext", returnedNode.FileRef.FileName, "#A2");
+ Assert.AreEqual (@"/dir/dir/filename.ext", node.FileRef.FileName, "#A3");
}
}
diff --git a/mcs/class/Managed.Windows.Forms/Test/automated/harness.sh b/mcs/class/Managed.Windows.Forms/Test/automated/harness.sh
index c4bcc4a5f1a..c4bcc4a5f1a 100755..100644
--- a/mcs/class/Managed.Windows.Forms/Test/automated/harness.sh
+++ b/mcs/class/Managed.Windows.Forms/Test/automated/harness.sh