implement string unescape

Fixes #3543
This commit is contained in:
Kurtis Rader
2017-06-22 20:47:54 -07:00
parent 60bca14b37
commit f3cb625802
8 changed files with 319 additions and 34 deletions

View File

@@ -84,7 +84,7 @@ a%20b%23c%22%27d
%0Aa%0Ab%25c~d%0A
# string escape --style=var 'a b#c"\'d'
a_20_62_23_63_22_27_64_
a_20_b_23_c_22_27_d
# string escape --style=script a\nghi_
a_0A_ghi__
@@ -98,6 +98,37 @@ __a__b__c__
# string escape --style=var -- -
_2D_
# set x (string unescape (echo \x07 | string escape))
success
# string unescape --style=script (string escape --style=script 'a b#c"\'d')
a b#c"'d
# string unescape --style=url (string escape --style=url 'a b#c"\'d')
a b#c"'d
# string unescape --style=url (string escape --style=url \na\nb%c~d\n)
a
b%c~d
# string unescape --style=var (string escape --style=var 'a b#c"\'d')
a b#c"'d
# string unescape --style=var (string escape --style=var a\nghi_)
a
ghi_
# string unescape --style=var (string escape --style=var 'abc')
abc
# string unescape --style=var (string escape --style=var '_a_b_c_')
_a_b_c_
# string unescape --style=var (string escape --style=var -- -)
-
# string match "?" a
a