aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2016-10-07 18:10:20 -0700
committerJakob Odersky <jakob@odersky.com>2016-12-09 11:23:05 -0800
commit6d39df3c352d4af7e071adb099ddecd07e60fbf5 (patch)
tree22aeb1b7b6ed5da6e438f7c7302e103db15eb535
parent2c7af0f65321c2d0c50a86d3887530c501aa03e1 (diff)
downloadspark-6d39df3c352d4af7e071adb099ddecd07e60fbf5.tar.gz
spark-6d39df3c352d4af7e071adb099ddecd07e60fbf5.tar.bz2
spark-6d39df3c352d4af7e071adb099ddecd07e60fbf5.zip
Add more tests for various combinations of backslashes and SQL pattern characters
-rw-r--r--sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/RegexpExpressionsSuite.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/RegexpExpressionsSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/RegexpExpressionsSuite.scala
index 9b42489cb2..9316f76190 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/RegexpExpressionsSuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/RegexpExpressionsSuite.scala
@@ -55,6 +55,20 @@ class RegexpExpressionsSuite extends SparkFunSuite with ExpressionEvalHelper {
checkEvaluation("a\nb" like "a%b", true)
checkEvaluation("""\\\\""" like """%\\%""", true) // triple quotes to avoid java string escaping
+ checkEvaluation("""\_%""" like """%\\__""", true)
+ checkEvaluation("""\_%""" like "%\\\\__", true)
+ checkEvaluation("""\_%""" like """%\\_%""", true)
+ checkEvaluation("""\\\\%%""" like """\\%""", true)
+ checkEvaluation("""\%\""" like """%\%%""", true)
+ checkEvaluation("\\\n\n%\\" like "\\\\___\\\\", true)
+ checkEvaluation("""%%""" like """%%""", true)
+ checkEvaluation("""\__""" like """\\\__""", true)
+
+ checkEvaluation("""\\\__""" like """%\\%\%""", false)
+ checkEvaluation("""\_""" like """\_\_""", false)
+ checkEvaluation("""_\\\%""" like """%\\""", false)
+ checkEvaluation("""_\\__""" like """_\___""", false)
+
}
test("LIKE Non-literal Regular Expression") {