]> granicus.if.org Git - jq/commitdiff
Add tests for built-in function `contains`
authorDavid Haguenauer <ml@kurokatta.org>
Tue, 22 Jan 2019 01:33:55 +0000 (20:33 -0500)
committerNico Williams <nico@cryptonector.com>
Tue, 22 Jan 2019 17:00:08 +0000 (11:00 -0600)
tests/jq.test

index 041ca1eab9dd63f09df7422c5a852849bde70f4a..6ee657b6595b9c80d4a7618d7aa6f556feeef03f 100644 (file)
@@ -1092,9 +1092,26 @@ null
 [true, true, false]
 
 # containment operator (embedded NULs!)
-[contains("foo"), contains("\u0000b"), contains("\u0000z"),  contains("bar"), contains("baz")]
-"foo\u0000bar"
-[true, true, false, true, false]
+[contains(""), contains("\u0000")]
+"\u0000"
+[true, true]
+
+[contains(""), contains("a"), contains("ab"), contains("c"), contains("d")]
+"ab\u0000cd"
+[true, true, true, true, true]
+
+[contains("cd"), contains("b\u0000"), contains("ab\u0000")]
+"ab\u0000cd"
+[true, true, true]
+
+[contains("b\u0000c"), contains("b\u0000cd"), contains("b\u0000cd")]
+"ab\u0000cd"
+[true, true, true]
+
+[contains("@"), contains("\u0000@"), contains("\u0000what")]
+"ab\u0000cd"
+[false, false, false]
+
 
 # Try/catch and general `?` operator
 [.[]|try if . == 0 then error("foo") elif . == 1 then .a elif . == 2 then empty else . end catch .]