Add @base64d for decoding base64 #47
This commit is contained in:
1 parent
dc679081fa
commit
e0b784ac6d
8 files changed
+124
-5
No files matched your search
@@ -0,0 +1,35 @@
|
||||
# Tests are groups of three lines: program, input, expected output
|
||||
# Blank lines and lines starting with # are ignored
|
||||
|
||||
@base64
|
||||
"<>&'\"\t"
|
||||
"PD4mJyIJ"
|
||||
|
||||
# decoding encoded output results in same text
|
||||
(@base64|@base64d)
|
||||
"<>&'\"\t"
|
||||
"<>&'\"\t"
|
||||
|
||||
# regression test for #436
|
||||
@base64
|
||||
"foóbar\n"
|
||||
"Zm/Ds2Jhcgo="
|
||||
|
||||
@base64d
|
||||
"Zm/Ds2Jhcgo="
|
||||
"foóbar\n"
|
||||
|
||||
# optional trailing equals padding (With padding, this is cWl4YmF6Cg==)
|
||||
@base64d
|
||||
"cWl4YmF6Cg"
|
||||
"qixbaz\n"
|
||||
|
||||
# invalid base64 characters (whitespace)
|
||||
. | try @base64d catch .
|
||||
"Not base64 data"
|
||||
"string (\"Not base64...) is not valid base64 data"
|
||||
|
||||
# invalid base64 (too many bytes, QUJD = "ABCD"
|
||||
. | try @base64d catch .
|
||||
"QUJDa"
|
||||
"string (\"QUJDa\") trailing base64 byte found"
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
. "${0%/*}/setup" "$@"
|
||||
|
||||
$VALGRIND $Q $JQ -L "$mods" --run-tests $JQTESTDIR/base64.test
|
||||
+6
-1
@@ -61,7 +61,7 @@ null
|
||||
null
|
||||
"interpolation"
|
||||
|
||||
@text,@json,([1,.] | (@csv, @tsv)),@html,@uri,@sh,@base64
|
||||
@text,@json,([1,.] | (@csv, @tsv)),@html,@uri,@sh,@base64,(@base64 | @base64d)
|
||||
"<>&'\"\t"
|
||||
"<>&'\"\t"
|
||||
"\"<>&'\\\"\\t\""
|
||||
@@ -71,12 +71,17 @@ null
|
||||
"%3C%3E%26'%22%09"
|
||||
"'<>&'\\''\"\t'"
|
||||
"PD4mJyIJ"
|
||||
"<>&'\"\t"
|
||||
|
||||
# regression test for #436
|
||||
@base64
|
||||
"foóbar\n"
|
||||
"Zm/Ds2Jhcgo="
|
||||
|
||||
@base64d
|
||||
"Zm/Ds2Jhcgo="
|
||||
"foóbar\n"
|
||||
|
||||
@uri
|
||||
"\u03bc"
|
||||
"%CE%BC"
|
||||
|
||||
Reference in new issue
Block a user