ZyX
a64114eba0
functests: Make json_functions_spec use new NIL where appropriate
2016-04-18 02:48:20 +03:00
ZyX
bda0165514
eval/encode: Make sure that encoder can encode NULL variables
...
Adds two undocumented v: variables: _null_list and _null_dict because I do not
know a reproducible way to get such lists (though I think I heard about this)
and dictionaries (do not remember hearing about them). NULL strings are obtained
using $XXX_UNEXISTENT_VAR_XXX.
Fixes crash in json_encode($XXX_UNEXISTENT_VAR_XXX). Other added tests worked
fine before this commit.
2016-04-18 02:48:20 +03:00
ZyX
3e435df42c
functests: Replace \xXX escapes with \DDD in lua code
2016-04-18 02:48:20 +03:00
ZyX
fd92e648ac
eval/encode: Dump FF character correctly
2016-04-18 02:48:20 +03:00
ZyX
9af400f979
eval: Treat [] and [""] as any other empty string
2016-04-18 02:48:20 +03:00
ZyX
af7ff808c7
eval: Fix overflow in error message in f_json_decode
2016-04-18 02:48:20 +03:00
ZyX
4f8b686435
documentation,functests: State that UTF-8-only support is intentional
2016-04-18 02:48:20 +03:00
ZyX
c129f6cfaf
eval/decode: Accept \r
as space character
2016-04-18 02:48:20 +03:00
ZyX
d06c2a1b18
eval/decode: Do not overflow when parsing -
...
Also makes if’s less nested.
2016-04-18 02:48:20 +03:00
ZyX
515fea1ef0
eval/decode: Reject even more numbers
...
Rejects leading zeroes and numbers like 1.e+5 (decimal dot with missing number
with signed exponent).
2016-04-18 02:48:20 +03:00
ZyX
9c543f2e24
eval/decode: Reject more numbers, accept 1e5
2016-04-18 02:48:20 +03:00
ZyX
032ac502ff
eval/decode: Do not loose high surrogates followed by high surrogates
2016-04-18 02:48:20 +03:00
ZyX
eb806c9620
eval/decode: Make sure that error messages do not cause overflow
2016-04-18 02:48:20 +03:00
ZyX
52c6cc2189
eval/decode: Make sure that parsing strings does not overflow
2016-04-18 02:48:20 +03:00
ZyX
224d7df630
eval/decode: Make sure that blank input does not crash Neovim
2016-04-18 02:48:20 +03:00
ZyX
394830631f
eval/decode: Make sure that U+00C3 is parsed correctly
2016-04-18 02:48:20 +03:00
ZyX
b725f6b428
functests: Make sure that json functions are tested with C messages
2016-04-18 02:48:20 +03:00
ZyX
4eb5d05f01
eval/decode: Avoid overflow when parsing incomplete null/true/false
...
Note: second test does not crash or produce asan errors, even though it should.
2016-04-18 02:48:20 +03:00
ZyX
4a29995fe7
eval/decode: Rename brackets in error messages
...
U+007D is officially RIGHT CURLY BRACKET.
U+005D is officially RIGHT SQUARE BRACKET.
2016-04-18 02:48:20 +03:00
ZyX
942e0b338c
encode: Handle incomplete surrogates like \uSURR\uOTHR
properly
2016-04-18 02:48:20 +03:00
ZyX
406562ac6d
encode: Fail to dump NaN and infinity
...
Thanks to vim/vim#654
2016-04-18 02:48:20 +03:00
ZyX
2f67786796
eval: Rename json* functions to json_*
2016-04-18 02:48:20 +03:00
ZyX
f1ced96c28
api: Replace set_var(name, NIL) with del_var(name)
2016-04-18 02:47:13 +03:00
ZyX
f0bd4a1494
eval/encode: Fix invalid UTF-8 strings handling:
...
1. Do not allow reading past buffer end when creating error messages.
2. Fix surrogate pairs range, avoid magic constants.
2016-04-18 02:47:13 +03:00
ZyX
77776b09c6
eval/encode: Fix writing strings starting with NL to list
...
Error [found][1] by oni-link.
[1]: https://github.com/neovim/neovim/pull/4131/files#r52239384
2016-04-18 02:47:13 +03:00
ZyX
569e404622
eval/encode: Fix non-utf-8 &encoding handling, add tests
2016-04-18 02:46:34 +03:00
ZyX
d4106f6df3
shada: Make sure that NIL and EXT values can also be parsed back
...
Note: currently they are both *dumped*, but parsing them produces an error. This
is inappropriate: variables should either be skipped with error message when
dumping or should be read back properly.
It also appears that I did not have test for “has wrong variable value type”
error, so nothing got removed from errors_spec.
2016-04-18 02:46:34 +03:00
ZyX
0aa3e7b7ce
eval: Port parts of 7.4.1267 that are not already present
2016-04-18 02:46:34 +03:00
ZyX
b7cb8f0597
eval: Make assert_true and assert_false accept v:true and v:false
2016-04-18 02:45:49 +03:00
ZyX
6167ce6df2
eval: Remove v:none
...
To get v:none back just rever this commit. This will not make json*() functions
compatible with Vim though.
2016-04-18 02:45:49 +03:00
ZyX
e303ea8a19
eval/decode: Add support for special maps
...
Special dictionaries representing map are created when encountering duplicate
key or when key is empty or contains NUL.
Also checks that values are separated by a comma/colon properly.
2016-04-18 02:45:49 +03:00
ZyX
2c378fdfaf
eval/decode: Parse strings with NUL to special dictionaries
2016-04-18 02:45:49 +03:00
ZyX
5814e29cdb
eval/decode: Fix surrogate pairs processing
2016-04-18 02:45:49 +03:00
ZyX
ea82270d30
eval/decode: Fail on control and invalid unicode characters
2016-04-18 02:45:49 +03:00
ZyX
cddd7d47c3
eval/decode: Make msgpackparse() function use new v: vars
2016-04-18 02:45:49 +03:00
ZyX
e213ba1506
eval: Add jsondecode() function
2016-04-18 02:45:49 +03:00
ZyX
f5c35ba109
functests/msgpack: Test dumping special nil and bool dicts
2016-04-18 02:44:03 +03:00
ZyX
6e5498c3e3
runtime/msgpack: Add support for special values
2016-04-18 02:44:03 +03:00
ZyX
d70a322c40
eval: Add special variables v:false, v:null, v:none
2016-04-18 02:44:03 +03:00
ZyX
18903bd9b8
eval: Add special variable type
2016-04-18 02:44:03 +03:00
ZyX
68e58444b4
eval: Add jsonencode() function
...
Ref #3471
2016-04-18 02:44:03 +03:00
ZyX
c3efad5398
functests(msgpack): Fix location of one of the tests
2016-04-18 02:44:03 +03:00
ZyX
f21cb425fb
functests(msgpack): Fix test names
2016-04-18 02:44:03 +03:00
Justin M. Keyes
4043725991
Merge pull request #4574 from oni-link/fix.utfc_ptr2char_len
...
mbyte.c: Fix invalid memory access in utfc_ptr2char_len
2016-04-17 16:59:14 -04:00
oni-link
cd00aa6ae4
mbyte_spec.lua: Fix indentation
2016-04-17 21:07:42 +02:00
oni-link
a8fec15899
mbyte_spec.lua: Fix wording
2016-04-17 21:07:22 +02:00
KillTheMule
e6e843ebc0
Make completion_spec.lua more robust
...
Having a tags file in the calling directory of make test would make this test
fail, so disable tag file completion for it. Disable all other options except the
current buffer, to, applying the principle of least surprise.
2016-04-16 22:40:43 +02:00
oni-link
cfe4352897
mbyte.c: Unittest for utfc_ptr2char_len()
2016-04-15 21:17:33 +02:00
Justin M. Keyes
523ff9c55c
test: defaults_spec.lua
2016-04-15 02:23:27 -04:00
Justin M. Keyes
54188cddde
test: move server_spec.lua
...
Old layout was too granular, we do not need a server/ folder.
2016-04-15 02:23:27 -04:00