Ejemplo n.º 1
0
        public void SourceWithXMLShouldReturnSubNodes()
        {
            var doc  = XDocument.Parse(xlf12doc);
            var ns   = doc.Root.Name.Namespace;
            var node = doc.Descendants(ns + "trans-unit")
                       .Where(t =>
            {
                return(t.Attribute(XName.Get("id")).Value == "Resx/State_translated_withXML");
            })
                       .Single();

            var unit = new XlfTransUnit(node, ns);

            Assert.AreEqual("XLIFF<span>Test</span>", unit.Source);

            doc  = XDocument.Parse(xlf11doc);
            ns   = doc.Root.Name.Namespace;
            node = doc.Descendants(ns + "trans-unit")
                   .Where(t =>
            {
                return(t.Attribute(XName.Get("resname")).Value == "Button_ContinueTest");
            })
                   .Single();

            unit = new XlfTransUnit(node, ns);

            Assert.AreEqual("Continue<span>Test</span>", unit.Source);
        }
Ejemplo n.º 2
0
        public void RemoveNoteTest()
        {
            var doc             = XDocument.Parse(xlf12doc);
            var ns              = doc.Root.Name.Namespace;
            var unit            = new XlfTransUnit(doc.Descendants(ns + "trans-unit").Where(d => d.Attribute("id").Value == "Resx/State_translated_withNotes").First(), ns);
            var noteCountBefore = unit.Optional.Notes.Count(n => n.Optional.From == "MultilingualEditor");

            Assert.AreNotEqual(0, noteCountBefore, "There must be at least one note of type 'MultilingualEditor' for this test to work");
            unit.Optional.RemoveNotes("from", "MultilingualEditor");
            var noteCountAfter = unit.Optional.Notes.Count(n => n.Optional.From == "MultilingualEditor");

            Assert.AreEqual(0, noteCountAfter, "There must not be any notes from 'MultilingualEditor' after removal");
        }
Ejemplo n.º 3
0
        public void AddNoteTest()
        {
            var doc  = XDocument.Parse(xlf12doc);
            var ns   = doc.Root.Name.Namespace;
            var unit = new XlfTransUnit(doc.Descendants(ns + "trans-unit").First(), ns);

            unit.Optional.AddNote("Valar morghulis!", "XliffParserTest");
            var isWithNote = doc.ToString().Replace(" ", string.Empty).Contains("</target><notefrom=\"XliffParserTest\">Valarmorghulis!</note></trans-unit>\r\n<trans-unit");

            Assert.IsTrue(isWithNote);

            doc  = XDocument.Parse(xlf11doc);
            ns   = doc.Root.Name.Namespace;
            unit = new XlfTransUnit(doc.Descendants(ns + "trans-unit").First(), ns);
            unit.Optional.AddNote("Valar morghulis!", "XliffParserTest");
            isWithNote = doc.ToString().Replace(" ", string.Empty).Contains("</target>\r\n<notefrom=\"XliffParserTest\">Valarmorghulis!</note>\r\n</trans-unit>\r\n<trans-unit");
            Assert.IsTrue(isWithNote);
        }
Ejemplo n.º 4
0
 private static string DebugString(XlfTransUnit transUnit)
 {
     return "!" + transUnit.Id + "!" + transUnit.Source + "!" + transUnit.Target + "!";
 }
Ejemplo n.º 5
0
        private StringResource GetOrCreateStringResource(Dictionary <string, StringResource> fileStringResources, string storageLocation, XlfTransUnit u)
        {
            if (!fileStringResources.TryGetValue(u.Id, out StringResource stringResource))
            {
                stringResource = new StringResource(u.Id, u.Optional.Notes.FirstOrDefault()?.Value ?? "")
                {
                    Name            = u.Id,
                    StorageLocation = storageLocation
                };
                stringResource.SetLocaleText(InvariantLanguage, RemoveMultipleWhitespaces(u.Source));

                fileStringResources.Add(u.Id, stringResource);
            }

            return(stringResource);
        }
Ejemplo n.º 6
0
 private static bool ShouldWriteTargetLanguage(string locale, XlfTransUnit translationUnit)
 {
     return((translationUnit.Target != null) &&
            (!string.IsNullOrWhiteSpace(locale)));
 }
Ejemplo n.º 7
0
 private static string DebugString(XlfTransUnit transUnit)
 {
     return("!" + transUnit.Id + "!" + transUnit.Source + "!" + transUnit.Target + "!");
 }