|
4 | 4 | using System.Collections; |
5 | 5 | using System.Collections.Generic; |
6 | 6 | using System.Diagnostics; |
| 7 | +using System.Globalization; |
7 | 8 | using System.IO; |
8 | 9 | using System.Reflection; |
9 | 10 | using System.Reflection.Emit; |
10 | 11 | using System.Runtime.Loader; |
| 12 | +using System.Tests; |
11 | 13 | using System.Text; |
12 | 14 | using System.Xml.Tests; |
13 | 15 | using System.Xml.XPath; |
@@ -3169,84 +3171,87 @@ public void ValidCases_ExternalURI(object param0, object param1, object param2, |
3169 | 3171 | [Theory] |
3170 | 3172 | public void ValidCases(object param0, object param1, object param2, object param3, object param4, object param5) |
3171 | 3173 | { |
3172 | | - string xslFile = FullFilePath(param0 as string); |
3173 | | - string xmlFile = FullFilePath(param1 as string); |
3174 | | - string baseLineFile = Path.Combine("baseline", param2 as string); |
3175 | | - bool expectedResult = (bool)param4; |
3176 | | - bool actualResult = false; |
| 3174 | + using (new ThreadCultureChange(CultureInfo.InvariantCulture)) |
| 3175 | + { |
| 3176 | + string xslFile = FullFilePath(param0 as string); |
| 3177 | + string xmlFile = FullFilePath(param1 as string); |
| 3178 | + string baseLineFile = Path.Combine("baseline", param2 as string); |
| 3179 | + bool expectedResult = (bool)param4; |
| 3180 | + bool actualResult = false; |
3177 | 3181 |
|
3178 | | - XmlReader xmlReader = XmlReader.Create(xmlFile); |
3179 | | - //Let's select randomly how to create navigator |
3180 | | - IXPathNavigable navigator = null; |
3181 | | - Random randGenerator = new Random(unchecked((int)DateTime.Now.Ticks)); |
3182 | | - switch (randGenerator.Next(2)) |
3183 | | - { |
3184 | | - case 0: |
3185 | | - _output.WriteLine("Using XmlDocument.CreateNavigator()"); |
3186 | | - XmlDocument xmlDoc = new XmlDocument(); |
3187 | | - xmlDoc.Load(xmlFile); |
3188 | | - navigator = xmlDoc.CreateNavigator(); |
3189 | | - break; |
3190 | | - |
3191 | | - case 1: |
3192 | | - _output.WriteLine("Using XPathDocument.CreateNavigator()"); |
3193 | | - XPathDocument xpathDoc; |
3194 | | - using (XmlReader reader = XmlReader.Create(xmlFile)) |
3195 | | - { |
3196 | | - xpathDoc = new XPathDocument(reader); |
3197 | | - navigator = xpathDoc.CreateNavigator(); |
3198 | | - } |
3199 | | - break; |
| 3182 | + XmlReader xmlReader = XmlReader.Create(xmlFile); |
| 3183 | + //Let's select randomly how to create navigator |
| 3184 | + IXPathNavigable navigator = null; |
| 3185 | + Random randGenerator = new Random(unchecked((int)DateTime.Now.Ticks)); |
| 3186 | + switch (randGenerator.Next(2)) |
| 3187 | + { |
| 3188 | + case 0: |
| 3189 | + _output.WriteLine("Using XmlDocument.CreateNavigator()"); |
| 3190 | + XmlDocument xmlDoc = new XmlDocument(); |
| 3191 | + xmlDoc.Load(xmlFile); |
| 3192 | + navigator = xmlDoc.CreateNavigator(); |
| 3193 | + break; |
3200 | 3194 |
|
3201 | | - default: |
3202 | | - break; |
3203 | | - } |
| 3195 | + case 1: |
| 3196 | + _output.WriteLine("Using XPathDocument.CreateNavigator()"); |
| 3197 | + XPathDocument xpathDoc; |
| 3198 | + using (XmlReader reader = XmlReader.Create(xmlFile)) |
| 3199 | + { |
| 3200 | + xpathDoc = new XPathDocument(reader); |
| 3201 | + navigator = xpathDoc.CreateNavigator(); |
| 3202 | + } |
| 3203 | + break; |
3204 | 3204 |
|
3205 | | - XmlResolver resolver = null; |
3206 | | - switch (param3 as string) |
3207 | | - { |
3208 | | - case "NullResolver": |
3209 | | - break; |
| 3205 | + default: |
| 3206 | + break; |
| 3207 | + } |
3210 | 3208 |
|
3211 | | - case "XmlUrlResolver": |
3212 | | - resolver = new XmlUrlResolver(); |
3213 | | - break; |
| 3209 | + XmlResolver resolver = null; |
| 3210 | + switch (param3 as string) |
| 3211 | + { |
| 3212 | + case "NullResolver": |
| 3213 | + break; |
3214 | 3214 |
|
3215 | | - case "CustomXmlResolver": |
3216 | | - resolver = new CustomXmlResolver(Path.GetFullPath(Path.Combine(FilePathUtil.GetTestDataPath(), @"XsltApiV2"))); |
3217 | | - break; |
| 3215 | + case "XmlUrlResolver": |
| 3216 | + resolver = new XmlUrlResolver(); |
| 3217 | + break; |
3218 | 3218 |
|
3219 | | - default: |
3220 | | - break; |
3221 | | - } |
| 3219 | + case "CustomXmlResolver": |
| 3220 | + resolver = new CustomXmlResolver(Path.GetFullPath(Path.Combine(FilePathUtil.GetTestDataPath(), @"XsltApiV2"))); |
| 3221 | + break; |
3222 | 3222 |
|
3223 | | - try |
3224 | | - { |
3225 | | - XslCompiledTransform localXslt = new XslCompiledTransform(); |
3226 | | - XsltSettings settings = new XsltSettings(true, true); |
3227 | | - using (XmlReader xslReader = XmlReader.Create(xslFile)) |
3228 | | - localXslt.Load(xslReader, settings, resolver); |
| 3223 | + default: |
| 3224 | + break; |
| 3225 | + } |
3229 | 3226 |
|
3230 | | - using (XmlWriter writer = XmlWriter.Create("outputFile.txt")) |
| 3227 | + try |
3231 | 3228 | { |
3232 | | - if (param5 as string == "XmlReader") |
3233 | | - localXslt.Transform(xmlReader, null, writer, resolver); |
3234 | | - else |
3235 | | - localXslt.Transform(navigator, null, writer, resolver); |
3236 | | - } |
3237 | | - VerifyResult(baseLineFile, "outputFile.txt"); |
3238 | | - actualResult = true; |
3239 | | - } |
3240 | | - catch (Exception ex) |
3241 | | - { |
3242 | | - _output.WriteLine(ex.Message); |
3243 | | - actualResult = false; |
3244 | | - } |
| 3229 | + XslCompiledTransform localXslt = new XslCompiledTransform(); |
| 3230 | + XsltSettings settings = new XsltSettings(true, true); |
| 3231 | + using (XmlReader xslReader = XmlReader.Create(xslFile)) |
| 3232 | + localXslt.Load(xslReader, settings, resolver); |
3245 | 3233 |
|
3246 | | - if (actualResult != expectedResult) |
3247 | | - Assert.Fail(); |
| 3234 | + using (XmlWriter writer = XmlWriter.Create("outputFile.txt")) |
| 3235 | + { |
| 3236 | + if (param5 as string == "XmlReader") |
| 3237 | + localXslt.Transform(xmlReader, null, writer, resolver); |
| 3238 | + else |
| 3239 | + localXslt.Transform(navigator, null, writer, resolver); |
| 3240 | + } |
| 3241 | + VerifyResult(baseLineFile, "outputFile.txt"); |
| 3242 | + actualResult = true; |
| 3243 | + } |
| 3244 | + catch (Exception ex) |
| 3245 | + { |
| 3246 | + _output.WriteLine(ex.Message); |
| 3247 | + actualResult = false; |
| 3248 | + } |
3248 | 3249 |
|
3249 | | - return; |
| 3250 | + if (actualResult != expectedResult) |
| 3251 | + { |
| 3252 | + Assert.Fail(); |
| 3253 | + } |
| 3254 | + } |
3250 | 3255 | } |
3251 | 3256 |
|
3252 | 3257 | //[Variation("Invalid Arguments: null, valid, valid, valid", Pri = 0, Params = new object[] { 1, false })] |
|
0 commit comments