From 722c720a064b106cb59576995fde15b2ab346966 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 6 Jun 2015 16:08:28 +0100 Subject: [PATCH] Added Edited wi --- .../TestLootFilterScriptTranslator.cs | 26 ++++++++++++++++++- .../Translators/LootFilterScriptTranslator.cs | 8 +++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs b/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs index beef40f..74f2dcf 100644 --- a/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs +++ b/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs @@ -119,7 +119,8 @@ namespace Filtration.Tests.Translators script.LootFilterBlocks.Add(block1); script.LootFilterBlocks.Add(block2); - var expectedOutput = "# Test script description" + Environment.NewLine + + var expectedOutput = "# Script edited with Filtration - http://ben-wallis.github.io/Filtration/" + Environment.NewLine + + "# Test script description" + Environment.NewLine + "# This is a really great script!" + Environment.NewLine + "# Multiple line script descriptions are fun!" + Environment.NewLine + Environment.NewLine + @@ -141,6 +142,29 @@ namespace Filtration.Tests.Translators // Assert Assert.AreEqual(expectedOutput, result); } + + [Test] + public void TranslateLootFilterScriptToString_FullScriptWithExistingFiltrationTagline_ReturnsCorrectOutput() + { + var script = new LootFilterScript + { + Description = "Script edited with Filtration - http://ben-wallis.github.io/Filtration/" + Environment.NewLine + + "Test script description" + Environment.NewLine + }; + + var expectedOutput = "# Script edited with Filtration - http://ben-wallis.github.io/Filtration/" + + Environment.NewLine + + "# Test script description" + Environment.NewLine + Environment.NewLine; + + var blockTranslator = new LootFilterBlockTranslator(); + var translator = new LootFilterScriptTranslator(blockTranslator); + + // Act + var result = translator.TranslateLootFilterScriptToString(script); + + // Assert + Assert.AreEqual(expectedOutput, result); + } [Test] public void TranslateStringToLootFilterScript_SectionDirectlyBeforeBlockWithoutDescription_ReturnsCorrectObject() diff --git a/Filtration/Translators/LootFilterScriptTranslator.cs b/Filtration/Translators/LootFilterScriptTranslator.cs index fe03e91..5375875 100644 --- a/Filtration/Translators/LootFilterScriptTranslator.cs +++ b/Filtration/Translators/LootFilterScriptTranslator.cs @@ -82,12 +82,18 @@ namespace Filtration.Translators { var outputString = string.Empty; + outputString += "# Script edited with Filtration - http://ben-wallis.github.io/Filtration/" + + Environment.NewLine; + if (!string.IsNullOrEmpty(script.Description)) { // ReSharper disable once LoopCanBeConvertedToQuery foreach (var line in new LineReader(() => new StringReader(script.Description))) { - outputString += "# " + line + Environment.NewLine; + if (!line.Contains("Script edited with Filtration")) + { + outputString += "# " + line + Environment.NewLine; + } } outputString += Environment.NewLine; }