Skip to content

Commit 6db1bbf

Browse files
author
Egor Martsynkovsky
committed
Unify test behaviour on java and android
DEVSIX-6330 Autoported commit. Original commit hash: [32b7cef68] Manual files: styled-xml-parser/src/test/java/com/itextpdf/styledxmlparser/resolver/resource/UriResolverTest.java
1 parent e653c27 commit 6db1bbf

File tree

4 files changed

+49
-9
lines changed

4 files changed

+49
-9
lines changed

itext.tests/itext.styledxmlparser.tests/itext/styledxmlparser/resolver/resource/UriResolverTest.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,12 +253,20 @@ public virtual void UriResolverTest14() {
253253
UriResolver resolver = new UriResolver("base/uri/index.html");
254254
String runFolder = new Uri(Path.GetFullPath(Directory.GetCurrentDirectory() )).ToExternalForm() + "/";
255255
NUnit.Framework.Assert.AreEqual(runFolder + "base/uri/index.html", resolver.GetBaseUri());
256-
NUnit.Framework.Assert.AreEqual("file:///c:/test/folder/img.txt", resolver.ResolveAgainstBaseUri("file:/c:/test/folder/img.txt"
257-
).ToExternalForm());
256+
257+
String firstUriResolvingResult = resolver.ResolveAgainstBaseUri("file:/c:/test/folder/img.txt")
258+
.ToExternalForm();
259+
String expectedUriWithSingleSlash = "file:/c:/test/folder/img.txt";
260+
String expectedUriWithTripleSlash = "file:///c:/test/folder/img.txt";
261+
NUnit.Framework.Assert.True(expectedUriWithSingleSlash.Equals(firstUriResolvingResult)
262+
|| expectedUriWithTripleSlash.Equals(firstUriResolvingResult));
258263
NUnit.Framework.Assert.AreEqual("file:///c:/test/folder/img.txt", resolver.ResolveAgainstBaseUri("file://c:/test/folder/img.txt"
259264
).ToExternalForm());
260-
NUnit.Framework.Assert.AreEqual("file:///c:/test/folder/data.jpg", resolver.ResolveAgainstBaseUri("file:///c:/test/folder/data.jpg"
261-
).ToExternalForm());
265+
266+
String thirdUriResolvingResult = resolver.ResolveAgainstBaseUri("file:///c:/test/folder/img.txt")
267+
.ToExternalForm();
268+
// Result of resolving uri with triple slash should be the same as if it contained single slash.
269+
NUnit.Framework.Assert.AreEqual(firstUriResolvingResult, thirdUriResolvingResult);
262270
}
263271

264272

itext.tests/itext.svg.tests/itext/svg/css/SvgStyleResolverTest.cs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,22 @@ public virtual void SvgCssResolverXlinkTest() {
162162
SvgStyleResolver sr = new SvgStyleResolver(node, processorContext);
163163
IDictionary<String, String> attr = sr.ResolveStyles(node, new SvgCssContext());
164164
String fileName = baseUri + "itis.jpg";
165-
String expectedURL = UrlUtil.ToNormalizedURI(fileName).ToString();
166-
NUnit.Framework.Assert.AreEqual(expectedURL, attr.Get("xlink:href"));
165+
String expectedUrl = UrlUtil.ToNormalizedURI(fileName).ToString();
166+
String expectedUrlAnotherValidVersion;
167+
if (expectedUrl.StartsWith("file:///")) {
168+
expectedUrlAnotherValidVersion = "file:/" + expectedUrl.Substring("file:///".Length);
169+
}
170+
else {
171+
if (expectedUrl.StartsWith("file:/")) {
172+
expectedUrlAnotherValidVersion = "file:///" + expectedUrl.Substring("file:/".Length);
173+
}
174+
else {
175+
expectedUrlAnotherValidVersion = expectedUrl;
176+
}
177+
}
178+
String url = attr.Get("xlink:href");
179+
// Both variants(namely with triple and single slashes) are valid.
180+
NUnit.Framework.Assert.IsTrue(expectedUrl.Equals(url) || expectedUrlAnotherValidVersion.Equals(url));
167181
}
168182

169183
[NUnit.Framework.Test]

itext.tests/itext.svg.tests/itext/svg/processors/impl/DefaultSvgProcessorUnitTest.cs

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,9 +251,11 @@ public virtual void XLinkAttributeBaseDirDoesNotExistTest() {
251251
();
252252
String fileName = resolvedBaseUrl + "/img.png";
253253
String expectedURL = UrlUtil.ToNormalizedURI(fileName).ToString();
254+
String expectedURLAnotherValidVersion = CreateAnotherValidUrlVersion(expectedURL);
254255
ISvgNodeRenderer imageRendered = rootActual.GetChildren()[0];
255256
String url = imageRendered.GetAttribute(SvgConstants.Attributes.XLINK_HREF);
256-
NUnit.Framework.Assert.AreEqual(expectedURL, url);
257+
// Both variants(namely with triple and single slashes) are valid.
258+
NUnit.Framework.Assert.IsTrue(expectedURL.Equals(url) || expectedURLAnotherValidVersion.Equals(url));
257259
}
258260

259261
[NUnit.Framework.Test]
@@ -266,9 +268,11 @@ public virtual void XLinkAttributeResolveNonEmptyBaseUrlTest() {
266268
();
267269
String fileName = baseUrl + "/img.png";
268270
String expectedURL = UrlUtil.ToNormalizedURI(fileName).ToString();
271+
String expectedURLAnotherValidVersion = CreateAnotherValidUrlVersion(expectedURL);
269272
ISvgNodeRenderer imageRendered = rootActual.GetChildren()[0];
270273
String url = imageRendered.GetAttribute(SvgConstants.Attributes.XLINK_HREF);
271-
NUnit.Framework.Assert.AreEqual(expectedURL, url);
274+
// Both variants(namely with triple and single slashes) are valid.
275+
NUnit.Framework.Assert.IsTrue(expectedURL.Equals(url) || expectedURLAnotherValidVersion.Equals(url));
272276
}
273277

274278
private INode CreateSvgContainingImage() {
@@ -283,6 +287,20 @@ private INode CreateSvgContainingImage() {
283287
return root;
284288
}
285289

290+
private static String CreateAnotherValidUrlVersion(String url) {
291+
if (url.StartsWith("file:///")) {
292+
return "file:/" + url.Substring("file:///".Length);
293+
}
294+
else {
295+
if (url.StartsWith("file:/")) {
296+
return "file:///" + url.Substring("file:/".Length);
297+
}
298+
else {
299+
return url;
300+
}
301+
}
302+
}
303+
286304
private static ISvgProcessor Processor() {
287305
return new DefaultSvgProcessor();
288306
}

port-hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6a34fa41b7628954736c356949ff456b1b6c8f61
1+
32b7cef68810f31fbac4035995430d0d6025ce76

0 commit comments

Comments
 (0)