コード例 #1
0
        public void ShouldApplyMultipleTransformationsXlf(string inputFileName)
        {
            using (var inputStream = new FileStream(inputFileName, FileMode.Open, FileAccess.Read))
                using (var outputStream = new FileStream(OutputFileName, FileMode.Create, FileAccess.Write))
                {
                    var processor = new XlfProcessor();
                    processor.TransformString += (_, e) => e.Value += "1";
                    processor.TransformString += (_, e) => e.Value = Brackets.Instance.Transform(e.Value);
                    processor.TransformString += (_, e) => e.Value += "2";
                    processor.Transform(inputStream, outputStream);
                }

            var original    = File.ReadAllText(Xlf12FileName);
            var transformed = File.ReadAllText(OutputFileName);

            Assert.That(original.Contains("<source>Dude</source>"));
            Assert.That(original.Contains("<source>Whatever</source>"));
            Assert.That(original.Contains("<source>Something</source>"));
            Assert.That(original.Contains("<source>Anything</source>"));
            Assert.That(transformed.Contains("<target>[Dude1]2</target>"));
            Assert.That(transformed.Contains("<target>[Whatever1]2</target>"));
            Assert.That(transformed.Contains("<target state=\"translated\">[Something1]2</target>"));
            Assert.That(transformed.Contains("<target state=\"translated\">[Anything1]2</target>"));
            Assert.That(transformed.Contains("=\"qps-Ploc\""));
            Assert.That(!transformed.Contains("=\"ja-JP\""));
        }
コード例 #2
0
        public void ShouldLeaveTheXmlUntouchedWhenUsingAnIdentityTransformation(string inputFileName)
        {
            using (var inputStream = new FileStream(inputFileName, FileMode.Open, FileAccess.Read))
                using (var outputStream = new FileStream(OutputFileName, FileMode.Create, FileAccess.Write))
                {
                    var processor = new XlfProcessor();
                    processor.Transform(inputStream, outputStream);
                }

            Assert.That(File.ReadAllBytes(inputFileName), Is.EqualTo(File.ReadAllBytes(OutputFileName)), "the output file is identical to the input file.");
        }
コード例 #3
0
        public void ShouldAddFunnyAccentsWhenTransformingWithTheAccenterTransformation(string inputFileName)
        {
            using (var inputStream = new FileStream(inputFileName, FileMode.Open, FileAccess.Read))
                using (var outputStream = new FileStream(OutputFileName, FileMode.Create, FileAccess.Write))
                {
                    var processor = new XlfProcessor();
                    processor.TransformString += (_, e) => e.Value = Accents.Instance.Transform(e.Value);
                    processor.Transform(inputStream, outputStream);
                }

            var transformed = File.ReadAllText(OutputFileName);

            Assert.That(!transformed.Contains("<target>Dude</target>"));
            Assert.That(transformed.Contains("<target>\u00d0\u00fb\u00f0\u00e9</target>"));
        }
コード例 #4
0
        public void ShouldReverseStringsButLeaveTheCommentsUntouchedWhenTransformingWithAStringReverseTransformation(string inputFileName)
        {
            using (var inputStream = new FileStream(inputFileName, FileMode.Open, FileAccess.Read))
                using (var outputStream = new FileStream(OutputFileName, FileMode.Create, FileAccess.Write))
                {
                    var processor = new XlfProcessor();
                    processor.TransformString += (_, e) => e.Value = Mirror.Instance.Transform(e.Value);
                    processor.Transform(inputStream, outputStream);
                }

            var original    = File.ReadAllText(Xlf12FileName);
            var transformed = File.ReadAllText(OutputFileName);

            Assert.That(original.Contains("<source>Something</source>"));
            Assert.That(!original.Contains("<target state=\"translated\">gnihtemoS</target>"));
            Assert.That(transformed.Contains("<target state=\"translated\">gnihtemoS</target>"));
            Assert.That(!transformed.Contains("<target state=\"translated\">Something</target>"));
            Assert.That(transformed.Contains("=\"qps-Ploc\""));
            Assert.That(!transformed.Contains("=\"ja-JP\""));
        }