From 558264af5690b370203edee97ccbf66ded854f71 Mon Sep 17 00:00:00 2001 From: Olaf Tomczak Date: Mon, 29 Jan 2018 15:05:44 +0100 Subject: [PATCH 1/2] Fix for #183 --- shared/src/main/scala/scala/xml/Utility.scala | 2 +- shared/src/test/scala/scala/xml/UtilityTest.scala | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/shared/src/main/scala/scala/xml/Utility.scala b/shared/src/main/scala/scala/xml/Utility.scala index 117c62aa4..539bcd5cd 100755 --- a/shared/src/main/scala/scala/xml/Utility.scala +++ b/shared/src/main/scala/scala/xml/Utility.scala @@ -201,7 +201,7 @@ object Utility extends AnyRef with parsing.TokenTests { minimizeTags: MinimizeMode.Value = MinimizeMode.Default): StringBuilder = { x match { - case c: Comment if !stripComments => c buildString sb + case c: Comment => if (!stripComments) c buildString sb; sb case s: SpecialNode => s buildString sb case g: Group => for (c <- g.nodes) serialize(c, g.scope, sb, stripComments, decodeEntities, preserveWhitespace, minimizeTags); sb diff --git a/shared/src/test/scala/scala/xml/UtilityTest.scala b/shared/src/test/scala/scala/xml/UtilityTest.scala index 5c7d39496..eac05075b 100644 --- a/shared/src/test/scala/scala/xml/UtilityTest.scala +++ b/shared/src/test/scala/scala/xml/UtilityTest.scala @@ -56,4 +56,11 @@ class UtilityTest { assertEquals("", Utility.serialize(x, minimizeTags = MinimizeMode.Always).toString) } + @Test + def issue183: Unit = { + val x = + assertEquals("", Utility.serialize(x, stripComments = true).toString) + assertEquals("", Utility.serialize(x, stripComments = false).toString) + } + } From abb3fe6afe44ca0882e36dd4da6a56b0632b9f78 Mon Sep 17 00:00:00 2001 From: Olaf Tomczak Date: Mon, 29 Jan 2018 15:05:44 +0100 Subject: [PATCH 2/2] Fixes regression bug causing `stripComments` parameter of Utility.serialize to be effectively ignored (#183) --- shared/src/main/scala/scala/xml/Utility.scala | 2 +- shared/src/test/scala/scala/xml/UtilityTest.scala | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/shared/src/main/scala/scala/xml/Utility.scala b/shared/src/main/scala/scala/xml/Utility.scala index 117c62aa4..539bcd5cd 100755 --- a/shared/src/main/scala/scala/xml/Utility.scala +++ b/shared/src/main/scala/scala/xml/Utility.scala @@ -201,7 +201,7 @@ object Utility extends AnyRef with parsing.TokenTests { minimizeTags: MinimizeMode.Value = MinimizeMode.Default): StringBuilder = { x match { - case c: Comment if !stripComments => c buildString sb + case c: Comment => if (!stripComments) c buildString sb; sb case s: SpecialNode => s buildString sb case g: Group => for (c <- g.nodes) serialize(c, g.scope, sb, stripComments, decodeEntities, preserveWhitespace, minimizeTags); sb diff --git a/shared/src/test/scala/scala/xml/UtilityTest.scala b/shared/src/test/scala/scala/xml/UtilityTest.scala index 5c7d39496..eac05075b 100644 --- a/shared/src/test/scala/scala/xml/UtilityTest.scala +++ b/shared/src/test/scala/scala/xml/UtilityTest.scala @@ -56,4 +56,11 @@ class UtilityTest { assertEquals("", Utility.serialize(x, minimizeTags = MinimizeMode.Always).toString) } + @Test + def issue183: Unit = { + val x = + assertEquals("", Utility.serialize(x, stripComments = true).toString) + assertEquals("", Utility.serialize(x, stripComments = false).toString) + } + }