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\"")); }
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."); }
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>")); }
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\"")); }