From 37d50228654bc9bb3f7b4ac2899a93750d95ea40 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 15 Jun 2022 13:45:46 -0700 Subject: Add test to verify variable syntax is allowed in ifdefs Closes 5259 --- .../WixToolsetTest.Core/PreprocessorFixture.cs | 159 +++++++++++++++++++++ 1 file changed, 159 insertions(+) (limited to 'src') diff --git a/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs b/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs index bbae4636..55f54cc2 100644 --- a/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs +++ b/src/wix/test/WixToolsetTest.Core/PreprocessorFixture.cs @@ -107,6 +107,165 @@ namespace WixToolsetTest.Core WixAssert.CompareLineByLine(expected, actual); } + [Fact] + public void CanPreprocessIfdefWithFullVariableSyntaxFalsy() + { + var input = String.Join(Environment.NewLine, + "", + "", + " ", + "", + "" + ); + var expected = new[] + { + "" + }; + + var result = PreprocessFromString(input); + + var actual = result.Document.ToString().Split("\r\n"); + WixAssert.CompareLineByLine(expected, actual); + } + + [Fact] + public void CanPreprocessIfdefWithFullVariableSyntaxTruthy() + { + var input = String.Join(Environment.NewLine, + "", + "", + "", + " ", + "", + "" + ); + var expected = new[] + { + "", + " ", + "" + }; + + var result = PreprocessFromString(input); + + var actual = result.Document.ToString().Split("\r\n"); + WixAssert.CompareLineByLine(expected, actual); + } + + [Fact] + public void CanPreprocessIfndefWithFullVariableSyntaxTruthy() + { + var input = String.Join(Environment.NewLine, + "", + "", + " ", + "", + "" + ); + var expected = new[] + { + "", + " ", + "" + }; + + var result = PreprocessFromString(input); + + var actual = result.Document.ToString().Split("\r\n"); + WixAssert.CompareLineByLine(expected, actual); + } + + [Fact] + public void CanPreprocessIfndefWithFullVariableSyntaxFalsy() + { + var input = String.Join(Environment.NewLine, + "", + "", + "", + " ", + "", + "" + ); + var expected = new[] + { + "" + }; + + var result = PreprocessFromString(input); + + var actual = result.Document.ToString().Split("\r\n"); + WixAssert.CompareLineByLine(expected, actual); + } + + [Fact] + public void CanPreprocessIfdefWithFullVariableV3SyntaxTruthy() + { + var input = String.Join(Environment.NewLine, + "", + "", + "", + " ", + "", + "" + ); + var expected = new[] + { + "", + " ", + "" + }; + + var result = PreprocessFromString(input); + + var actual = result.Document.ToString().Split("\r\n"); + WixAssert.CompareLineByLine(expected, actual); + } + + [Fact] + public void CanPreprocessIfndefWithFullVariableV3SyntaxTruthy() + { + var input = String.Join(Environment.NewLine, + "", + "", + " ", + "", + "" + ); + var expected = new[] + { + "", + " ", + "" + }; + + var result = PreprocessFromString(input); + + var actual = result.Document.ToString().Split("\r\n"); + WixAssert.CompareLineByLine(expected, actual); + } + + [Fact] + public void CanPreprocessIfndefWithFullVariableV3SyntaxFalsy() + { + var input = String.Join(Environment.NewLine, + "", + "", + "", + " ", + "", + "" + ); + var expected = new[] + { + "" + }; + + var result = PreprocessFromString(input); + + var actual = result.Document.ToString().Split("\r\n"); + WixAssert.CompareLineByLine(expected, actual); + } + private static IPreprocessResult PreprocessFromString(string xml) { using var stringReader = new StringReader(xml); -- cgit v1.2.3-55-g6feb