diff options
author | Lluis Sanchez <lluis@novell.com> | 2007-12-03 22:09:09 +0300 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2007-12-03 22:09:09 +0300 |
commit | a18e3e64d6d1259e6c95da9e9292907bc586cc94 (patch) | |
tree | 2df1f55f3fc7a213dba6ddc008fab7c84d16c3e3 /Test/UnitTests/TestLocalization.cs | |
parent | 48c4d3cac35bc57daf5ffbf0b0e0c5b25473853b (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.cs | 108 |
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 ()); + } +*/ + } +} |