annotate Lang/XmlTranslationSetTest.cs @ 25:8a350c00797e

Fixes #32 (Add staged loading of translations) and fixes #30 (Improve Translations API): * Update tests to work with new method on XmlTranslationSet
author IBBoard <dev@ibboard.co.uk>
date Sat, 10 Apr 2010 19:06:29 +0000
parents acf828df8c0b
children 31fdc90f3556
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
1 // This file (XmlTranslationSet.cs) is a part of the IBBoard.Tests project and is copyright 2010 IBBoard
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
2 //
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
3 // // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
4
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
5 using System;
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
6 using System.Xml;
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
7 using NUnit.Framework;
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
8
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
9 namespace IBBoard.Lang
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
10 {
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
11 [TestFixture()]
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
12 public class XmlTranslationSetTest : AbstractTranslationSetTest
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
13 {
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
14 protected override AbstractTranslationSet GetTranslationSet(string language)
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
15 {
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
16 return new XmlTranslationSet(language);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
17 }
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
18
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
19 protected override AbstractTranslationSet GetTranslationSetWithFixedValue()
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
20 {
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
21 XmlTranslationSet translationSet = new XmlTranslationSet("en");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
22 XmlDocument doc = new XmlDocument();
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
23 doc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\"?><translations xmlns=\"http://ibboard.co.uk/translation\" lang=\"en\"><translation id=\""+TEST_KEY+"\">"+TEST_VALUE+"</translation></translations>");
25
8a350c00797e Fixes #32 (Add staged loading of translations) and fixes #30 (Improve Translations API):
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
24 translationSet.SetTranslationNodes(new TranslationXmlExtractor().GetTranslationNodes(doc));
23
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
25 return translationSet;
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
26 }
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
27
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
28 protected override AbstractTranslationSet GetTranslationSetWithInheritance(string language, string parentLanguage)
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
29 {
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
30 XmlTranslationSet translationSet = new XmlTranslationSet(language);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
31 XmlDocument doc = new XmlDocument();
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
32 doc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\"?><translations xmlns=\"http://ibboard.co.uk/translation\" lang=\""+language+"\" extends=\""+parentLanguage+"\"><translation id=\""+TEST_KEY+"\">"+TEST_VALUE+"</translation></translations>");
25
8a350c00797e Fixes #32 (Add staged loading of translations) and fixes #30 (Improve Translations API):
IBBoard <dev@ibboard.co.uk>
parents: 23
diff changeset
33 translationSet.SetTranslationNodes(new TranslationXmlExtractor().GetTranslationNodes(doc));
23
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
34 translationSet.SetParentLanguage(parentLanguage);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
35 ModifiableTranslationSet parentTranslationSet = new ModifiableTranslationSet(parentLanguage);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
36 parentTranslationSet.SetTranslation(INHERITED_KEY, INHERITED_VALUE);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
37 Translation.AddTranslationSet(parentTranslationSet);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
38 return translationSet;
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
39 }
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
40
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
41 protected override AbstractTranslationSet GetTranslationSetWithDirectLoop()
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
42 {
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
43 XmlTranslationSet translations = new XmlTranslationSet("en-US");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
44 XmlTranslationSet parentTranslations = new XmlTranslationSet("en");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
45 translations.SetParentLanguage("en");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
46 parentTranslations.SetParentLanguage("en-US");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
47 Translation.AddTranslationSet(translations);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
48 Translation.AddTranslationSet(parentTranslations);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
49 return translations;
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
50 }
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
51
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
52 protected override AbstractTranslationSet GetTranslationSetWithIndirectLoop()
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
53 {
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
54 XmlTranslationSet translations = new XmlTranslationSet("it");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
55 XmlTranslationSet parentTranslations = new XmlTranslationSet("en-US");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
56 XmlTranslationSet parentParentTranslations = new XmlTranslationSet("en");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
57 translations.SetParentLanguage("en-US");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
58 parentTranslations.SetParentLanguage("en");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
59 parentParentTranslations.SetParentLanguage("it");
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
60 Translation.AddTranslationSet(translations);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
61 Translation.AddTranslationSet(parentTranslations);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
62 Translation.AddTranslationSet(parentParentTranslations);
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
63 return translations;
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
64 }
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
65 }
acf828df8c0b Re #32: Add staged loading of translations
IBBoard <dev@ibboard.co.uk>
parents:
diff changeset
66 }