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

github.com/mono/mono-addins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@novell.com>2007-12-03 22:09:09 +0300
committerLluis Sanchez <lluis@novell.com>2007-12-03 22:09:09 +0300
commita18e3e64d6d1259e6c95da9e9292907bc586cc94 (patch)
tree2df1f55f3fc7a213dba6ddc008fab7c84d16c3e3 /Test/UnitTests/TestLocalization.cs
parent48c4d3cac35bc57daf5ffbf0b0e0c5b25473853b (diff)
* UnitTests/UnitTests.mdp, UnitTests/TestLoadUnload.cs,
UnitTests/IWriter.cs, UnitTests/TestLocalization.cs, UnitTests/Makefile.am, UnitTests/TestBase.cs, FileContentExtension/FileContentExtensionNode.cs, FileContentExtension/FileContentExtension.addin.xml, HelloWorldExtension/HelloWorldWriter.cs, CommandExtension/CommandExtensionNode.cs, SystemInfoExtension/SystemInfoWriter.cs, SystemInfoExtension/Makefile.am, SystemInfoExtension/SystemInfoExtension.addin.xml, SystemInfoExtension/Resources.resx, SystemInfoExtension/ModuleExtensionNode.cs, SystemInfoExtension/SystemInfoExtension.mdp, SystemInfoExtension/Resources.ca.resx, FileExtender/ExtraExtender.addin.xml: Added localization tests. svn path=/trunk/mono-addins/; revision=90580
Diffstat (limited to 'Test/UnitTests/TestLocalization.cs')
-rw-r--r--Test/UnitTests/TestLocalization.cs108
1 files changed, 108 insertions, 0 deletions
diff --git a/Test/UnitTests/TestLocalization.cs b/Test/UnitTests/TestLocalization.cs
new file mode 100644
index 0000000..a09fa72
--- /dev/null
+++ b/Test/UnitTests/TestLocalization.cs
@@ -0,0 +1,108 @@
+
+using System;
+using NUnit.Framework;
+using Mono.Addins;
+using System.IO;
+using System.Threading;
+using System.Globalization;
+using SimpleApp;
+
+namespace UnitTests
+{
+ [TestFixture()]
+ public class TestLocalization: TestBase
+ {
+ public override void Setup ()
+ {
+ base.Setup ();
+ }
+
+ [Test]
+ public void TestStringTable ()
+ {
+ GlobalInfoCondition.Value = "testTranslation";
+
+ ExtensionContext ctx;
+ ExtensionNode node;
+
+ // Use a new extension context for every check, since strings are cached in
+ // the nodes, and every extension has its own copy of the tree
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
+ ctx = AddinManager.CreateExtensionContext ();
+ node = ctx.GetExtensionNode ("/SimpleApp/ExtraWriters/SomeFileTransTest1");
+ Assert.IsNotNull (node, "t1.1");
+ Assert.AreEqual ("First sample file", node.ToString ());
+ node = ctx.GetExtensionNode ("/SimpleApp/ExtraWriters/SomeFileTransTest2");
+ Assert.IsNotNull (node, "t1.2");
+ Assert.AreEqual ("Second sample file", node.ToString ());
+ node = ctx.GetExtensionNode ("/SimpleApp/ExtraWriters/SomeFileTransTest3");
+ Assert.IsNotNull (node, "t1.3");
+ Assert.AreEqual ("Third sample file", node.ToString ());
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo ("ca-ES");
+ ctx = AddinManager.CreateExtensionContext ();
+ node = ctx.GetExtensionNode ("/SimpleApp/ExtraWriters/SomeFileTransTest1");
+ Assert.IsNotNull (node, "t2.1");
+ Assert.AreEqual ("Primer arxiu d'exemple", node.ToString ());
+ node = ctx.GetExtensionNode ("/SimpleApp/ExtraWriters/SomeFileTransTest2");
+ Assert.IsNotNull (node, "t2.2");
+ Assert.AreEqual ("Segon arxiu d'exemple", node.ToString ());
+ node = ctx.GetExtensionNode ("/SimpleApp/ExtraWriters/SomeFileTransTest3");
+ Assert.IsNotNull (node, "t2.3");
+ Assert.AreEqual ("Tercer arxiu d'exemple", node.ToString ());
+ }
+
+ [Test]
+ public void TestStringResource ()
+ {
+ ExtensionContext ctx;
+ InstanceExtensionNode node;
+ IWriter w;
+
+ // Use a new extension context for every check, since strings are cached in
+ // the nodes, and every extension has its own copy of the tree
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
+ ctx = AddinManager.CreateExtensionContext ();
+ node = ctx.GetExtensionNode ("/SimpleApp/Writers/SystemInfoExtension.SystemInfoWriter") as InstanceExtensionNode;
+ Assert.IsNotNull (node, "t1");
+ w = (IWriter) node.CreateInstance ();
+ Assert.AreEqual ("System Info: File system information System information", w.Write ());
+ Assert.AreEqual ("Modules", w.Title);
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo ("ca-ES");
+ ctx = AddinManager.CreateExtensionContext ();
+ node = ctx.GetExtensionNode ("/SimpleApp/Writers/SystemInfoExtension.SystemInfoWriter") as InstanceExtensionNode;
+ Assert.IsNotNull (node, "t2");
+ w = (IWriter) node.CreateInstance ();
+ Assert.AreEqual ("System Info: File system information Informació del sistema", w.Write ());
+ Assert.AreEqual ("Mòduls", w.Title);
+ }
+
+/* The locale can't be changed at run-time.
+
+ [Test]
+ public void TestStringGetText ()
+ {
+ ExtensionContext ctx;
+ ExtensionNode node;
+
+ // Use a new extension context for every check, since strings are cached in
+ // the nodes, and every extension has its own copy of the tree
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo ("en-US");
+ ctx = AddinManager.CreateExtensionContext ();
+ node = ctx.GetExtensionNode ("/SimpleApp/Writers/SomeFile");
+ Assert.IsNotNull (node, "t1.1");
+ Assert.AreEqual ("Sample file", node.ToString ());
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo ("ca-ES");
+ ctx = AddinManager.CreateExtensionContext ();
+ node = ctx.GetExtensionNode ("/SimpleApp/Writers/SomeFile");
+ Assert.IsNotNull (node, "t2.1");
+ Assert.AreEqual ("Arxiu d'exemple", node.ToString ());
+ }
+*/
+ }
+}