aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/WixToolsetTest.Converters/ConverterFixture.cs104
-rw-r--r--src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs10
-rw-r--r--src/test/WixToolsetTest.Converters/FormatFixture.cs117
3 files changed, 122 insertions, 109 deletions
diff --git a/src/test/WixToolsetTest.Converters/ConverterFixture.cs b/src/test/WixToolsetTest.Converters/ConverterFixture.cs
index 6e2ad2c5..cf89ba7e 100644
--- a/src/test/WixToolsetTest.Converters/ConverterFixture.cs
+++ b/src/test/WixToolsetTest.Converters/ConverterFixture.cs
@@ -40,110 +40,6 @@ namespace WixToolsetTest.Converters
40 } 40 }
41 41
42 [Fact] 42 [Fact]
43 public void CanFixWhitespace()
44 {
45 var parse = String.Join(Environment.NewLine,
46 "<?xml version='1.0' encoding='utf-8'?>",
47 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
48 " <Fragment>",
49 " <Property Id='Prop'",
50 " Value='Val'>",
51 " </Property>",
52 " </Fragment>",
53 "</Wix>");
54
55 var expected = String.Join(Environment.NewLine,
56 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
57 " <Fragment>",
58 " <Property Id=\"Prop\" Value=\"Val\" />",
59 " </Fragment>",
60 "</Wix>");
61
62 var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
63
64 var messaging = new MockMessaging();
65 var converter = new WixConverter(messaging, 4, null, null);
66
67 var errors = converter.ConvertDocument(document);
68
69 var actual = UnformattedDocumentString(document);
70
71 Assert.Equal(expected, actual);
72 Assert.Equal(5, errors);
73 }
74
75 [Fact]
76 public void CanPreserveNewLines()
77 {
78 var parse = String.Join(Environment.NewLine,
79 "<?xml version='1.0' encoding='utf-8'?>",
80 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
81 " <Fragment>",
82 "",
83 " <Property Id='Prop' Value='Val' />",
84 "",
85 " </Fragment>",
86 "</Wix>");
87
88 var expected = String.Join(Environment.NewLine,
89 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
90 " <Fragment>",
91 "",
92 " <Property Id=\"Prop\" Value=\"Val\" />",
93 "",
94 " </Fragment>",
95 "</Wix>");
96
97 var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
98
99 var messaging = new MockMessaging();
100 var converter = new WixConverter(messaging, 4, null, null);
101
102 var conversions = converter.ConvertDocument(document);
103
104 var actual = UnformattedDocumentString(document);
105
106 Assert.Equal(expected, actual);
107 Assert.Equal(4, conversions);
108 }
109
110 [Fact]
111 public void CanConvertWithNewLineAtEndOfFile()
112 {
113 var parse = String.Join(Environment.NewLine,
114 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
115 " <Fragment>",
116 "",
117 " <Property Id='Prop' Value='Val' />",
118 "",
119 " </Fragment>",
120 "</Wix>",
121 "");
122
123 var expected = String.Join(Environment.NewLine,
124 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
125 " <Fragment>",
126 "",
127 " <Property Id=\"Prop\" Value=\"Val\" />",
128 "",
129 " </Fragment>",
130 "</Wix>",
131 "");
132
133 var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
134
135 var messaging = new MockMessaging();
136 var converter = new WixConverter(messaging, 4, null, null);
137
138 var conversions = converter.ConvertDocument(document);
139
140 var actual = UnformattedDocumentString(document);
141
142 Assert.Equal(expected, actual);
143 Assert.Equal(3, conversions);
144 }
145
146 [Fact]
147 public void CanConvertMainNamespace() 43 public void CanConvertMainNamespace()
148 { 44 {
149 var parse = String.Join(Environment.NewLine, 45 var parse = String.Join(Environment.NewLine,
diff --git a/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs b/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs
index 5eaeb985..79cc3f69 100644
--- a/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs
+++ b/src/test/WixToolsetTest.Converters/ConverterIntegrationFixture.cs
@@ -84,7 +84,7 @@ namespace WixToolsetTest.Converters
84 var settingsFile = Path.Combine(folder, "wixcop.settings.xml"); 84 var settingsFile = Path.Combine(folder, "wixcop.settings.xml");
85 85
86 var result = RunConversion(targetFile, settingsFile: settingsFile); 86 var result = RunConversion(targetFile, settingsFile: settingsFile);
87 Assert.Equal(2, result.ExitCode); 87 Assert.Equal(7, result.ExitCode);
88 88
89 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); 89 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
90 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); 90 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
@@ -108,7 +108,7 @@ namespace WixToolsetTest.Converters
108 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName)); 108 File.Copy(Path.Combine(folder, beforeFileName), Path.Combine(baseFolder, beforeFileName));
109 109
110 var result = RunConversion(targetFile); 110 var result = RunConversion(targetFile);
111 Assert.Equal(2, result.ExitCode); 111 Assert.Equal(10, result.ExitCode);
112 112
113 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); 113 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
114 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n"); 114 var actual = File.ReadAllText(targetFile).Replace("\r\n", "\n");
@@ -133,7 +133,7 @@ namespace WixToolsetTest.Converters
133 133
134 var result = RunConversion(targetFile); 134 var result = RunConversion(targetFile);
135 135
136 Assert.Equal(2, result.ExitCode); 136 Assert.Equal(10, result.ExitCode);
137 Assert.Single(result.Messages.Where(message => message.ToString().EndsWith("(QtExecCmdTimeoutAmbiguous)"))); 137 Assert.Single(result.Messages.Where(message => message.ToString().EndsWith("(QtExecCmdTimeoutAmbiguous)")));
138 138
139 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n"); 139 var expected = File.ReadAllText(Path.Combine(folder, afterFileName)).Replace("\r\n", "\n");
@@ -142,7 +142,7 @@ namespace WixToolsetTest.Converters
142 142
143 // still fails because QtExecCmdTimeoutAmbiguous is unfixable 143 // still fails because QtExecCmdTimeoutAmbiguous is unfixable
144 var result2 = RunConversion(targetFile); 144 var result2 = RunConversion(targetFile);
145 Assert.Equal(2, result2.ExitCode); 145 Assert.Equal(1, result2.ExitCode);
146 } 146 }
147 } 147 }
148 148
@@ -153,7 +153,7 @@ namespace WixToolsetTest.Converters
153 var exitCode = WixRunner.Execute(new[] 153 var exitCode = WixRunner.Execute(new[]
154 { 154 {
155 "convert", 155 "convert",
156 fixErrors ? "-f" : null, 156 fixErrors ? null : "--dry-run",
157 String.IsNullOrEmpty(settingsFile) ? null : "-set1" + settingsFile, 157 String.IsNullOrEmpty(settingsFile) ? null : "-set1" + settingsFile,
158 targetFile 158 targetFile
159 }, serviceProvider, out var messages); 159 }, serviceProvider, out var messages);
diff --git a/src/test/WixToolsetTest.Converters/FormatFixture.cs b/src/test/WixToolsetTest.Converters/FormatFixture.cs
new file mode 100644
index 00000000..739fba66
--- /dev/null
+++ b/src/test/WixToolsetTest.Converters/FormatFixture.cs
@@ -0,0 +1,117 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolsetTest.Converters
4{
5 using System;
6 using System.Xml.Linq;
7 using WixToolset.Converters;
8 using WixToolsetTest.Converters.Mocks;
9 using Xunit;
10
11 public class FormatFixture : BaseConverterFixture
12 {
13 [Fact]
14 public void CanFixWhitespace()
15 {
16 var parse = String.Join(Environment.NewLine,
17 "<?xml version='1.0' encoding='utf-8'?>",
18 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
19 " <Fragment>",
20 " <Property Id='Prop'",
21 " Value='Val'>",
22 " </Property>",
23 " </Fragment>",
24 "</Wix>");
25
26 var expected = String.Join(Environment.NewLine,
27 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
28 " <Fragment>",
29 " <Property Id=\"Prop\" Value=\"Val\" />",
30 " </Fragment>",
31 "</Wix>");
32
33 var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
34
35 var messaging = new MockMessaging();
36 var converter = new WixConverter(messaging, 4, null, null);
37
38 var errors = converter.FormatDocument(document);
39
40 var actual = UnformattedDocumentString(document);
41
42 Assert.Equal(expected, actual);
43 Assert.Equal(5, errors);
44 }
45
46 [Fact]
47 public void CanPreserveNewLines()
48 {
49 var parse = String.Join(Environment.NewLine,
50 "<?xml version='1.0' encoding='utf-8'?>",
51 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
52 " <Fragment>",
53 "",
54 " <Property Id='Prop' Value='Val' />",
55 "",
56 " </Fragment>",
57 "</Wix>");
58
59 var expected = String.Join(Environment.NewLine,
60 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
61 " <Fragment>",
62 "",
63 " <Property Id=\"Prop\" Value=\"Val\" />",
64 "",
65 " </Fragment>",
66 "</Wix>");
67
68 var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
69
70 var messaging = new MockMessaging();
71 var converter = new WixConverter(messaging, 4, null, null);
72
73 var conversions = converter.FormatDocument(document);
74
75 var actual = UnformattedDocumentString(document);
76
77 Assert.Equal(expected, actual);
78 Assert.Equal(4, conversions);
79 }
80
81 [Fact]
82 public void CanFormatWithNewLineAtEndOfFile()
83 {
84 var parse = String.Join(Environment.NewLine,
85 "<Wix xmlns='http://wixtoolset.org/schemas/v4/wxs'>",
86 " <Fragment>",
87 "",
88 " <Property Id='Prop' Value='Val' />",
89 "",
90 " </Fragment>",
91 "</Wix>",
92 "");
93
94 var expected = String.Join(Environment.NewLine,
95 "<Wix xmlns=\"http://wixtoolset.org/schemas/v4/wxs\">",
96 " <Fragment>",
97 "",
98 " <Property Id=\"Prop\" Value=\"Val\" />",
99 "",
100 " </Fragment>",
101 "</Wix>",
102 "");
103
104 var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
105
106 var messaging = new MockMessaging();
107 var converter = new WixConverter(messaging, 4, null, null);
108
109 var conversions = converter.FormatDocument(document);
110
111 var actual = UnformattedDocumentString(document);
112
113 Assert.Equal(expected, actual);
114 Assert.Equal(3, conversions);
115 }
116 }
117}