Commit graph

374 commits

Author SHA1 Message Date
alisdair sullivan
0c3cf2b87b encoder updated to use same api as decoder, format and verify updated to be aware of new api 2011-08-10 00:33:14 -07:00
alisdair sullivan
3485ca5413 whitespace 2011-08-09 21:04:27 -07:00
alisdair sullivan
ea764162c0 moves opts and parse_opts to external header 2011-08-09 21:02:01 -07:00
alisdair sullivan
8bb0f66470 unless iterate option is specified, jsx now buffers events internally before returning 2011-08-09 17:49:42 -07:00
alisdair sullivan
986b60af37 groundwork for eventual inline ops 2011-08-09 16:02:14 -07:00
alisdair sullivan
776ee8a8a2 two new tests for bad low pairs of json surrogate pairs 2011-08-03 00:45:49 -07:00
alisdair sullivan
5cd967b26d discovered and fixed a couple more broken tests 2011-08-03 00:15:18 -07:00
alisdair sullivan
12eb6c6c08 adds emit function and incomplete macro and makes whitespace changes to reduce linecount of jsx_decoder.hrl by 280 lines 2011-08-02 20:06:49 -07:00
alisdair sullivan
b3eb058463 revert change from strings/keys being presented as binaries to being presented as lists of characters. ~30% speedup 2011-07-31 19:05:30 -07:00
alisdair sullivan
20f9e0368d tests could fail silently when file:consult failed, fixed 2011-07-31 18:43:14 -07:00
alisdair sullivan
e90c5461e8 cleanup of comments, some of which were no longer strictly true 2011-07-31 00:12:47 -07:00
alisdair sullivan
03381567d2 whitespace 2011-07-31 00:05:34 -07:00
alisdair sullivan
ecdd34fa37 building strings as lists of codepoints, then converting them to binaries is faster than building binaries directly, or slicing segments out of binaries in the case of utf8. by more than 25% 2011-07-30 23:52:29 -07:00
alisdair sullivan
5f3885c594 escape_forward_slash option to allow optional escaping of forward slashes during encoding. for compatibility with microsoft json date format 2011-07-29 00:18:33 -07:00
alisdair sullivan
b73ca00892 alters behaviour for escaped noncharacters in extended plane with loose_unicode enabled, now replaced by single u+fffd, not two 2011-07-28 21:21:08 -07:00
alisdair sullivan
16c29a0070 surrogates that encode noncharacters now are replaced by a single u+fffd rather than two 2011-07-28 21:15:21 -07:00
alisdair sullivan
f699bdeedc ensure last key 'wins' in the value decoder 2011-07-28 21:12:20 -07:00
alisdair sullivan
100f707899 streamlined options 2011-07-28 19:21:19 -07:00
alisdair sullivan
bac3ece706 whitespace 2011-07-28 18:48:07 -07:00
alisdair sullivan
cd4f4a8f1c test every codepoint possible for replacement/badness 2011-07-28 18:47:58 -07:00
alisdair sullivan
0e66a82b29 Merge branch 'feature/loose_unicode' into develop 2011-07-27 06:52:25 -07:00
alisdair sullivan
80e9381b42 proper guarding and handling of noncharacters in json strings. more tests required 2011-07-27 06:52:16 -07:00
alisdair sullivan
5d1e18d0ea add test for u+2028/2029 escaping 2011-07-27 02:01:09 -07:00
alisdair sullivan
653205501c adds loose_unicode option which replaces badly formed unicode (escaped non-characters and restricted codepoints, as well as partial surrogates) with u+fffd instead of throwing an error 2011-07-27 01:59:03 -07:00
alisdair sullivan
b153ce3685 moves escaping tests to general test lib, minor refactoring of test runner to facilitate 2011-07-26 19:58:48 -07:00
alisdair sullivan
2720b2e0fb noncharacter tests 2011-07-26 19:46:31 -07:00
alisdair sullivan
c5c98482fc test for noncharacters, fixed bug discovered by test 2011-07-26 19:28:41 -07:00
alisdair sullivan
4ba8c4d57e stricter rejection of unicode non-characters 2011-07-26 13:46:24 -07:00
alisdair sullivan
6d0d2cfb8c removed wayward io:format 2011-07-26 13:34:48 -07:00
alisdair sullivan
0507dc38dc error upon encountering escaped u+0000 to prevent malicious json 2011-07-26 13:34:15 -07:00
alisdair sullivan
ed71ce7b7f string escape u+2028 and u+2029 for compatibility with jsonp 2011-07-26 13:32:38 -07:00
alisdair sullivan
9f2c353d89 add option for streaming mode for value based decoder 2011-07-26 13:32:15 -07:00
alisdair sullivan
647f021270 minor fixes take 2 2011-07-26 13:13:00 -07:00
alisdair sullivan
63b3ca5a7f minor fixes 2011-07-26 13:12:37 -07:00
alisdair sullivan
c0cb1827f2 remove mention of eep0018, add jsx_terms 2011-07-26 13:11:03 -07:00
alisdair sullivan
1cc7c738ba fixes guard in jsx_format 2011-07-26 13:10:04 -07:00
alisdair sullivan
45fe356222 deletes eep0018 module 2011-07-26 13:09:11 -07:00
alisdair sullivan
68d78c8e25 new api: strings and keys returned as binaries, integers as integers, floats as floats, tuple format changed from {event, ..., ...} to {jsx, ..., ...}, tests updated 2011-07-26 00:35:17 -07:00
alisdair sullivan
66f5e0b48a adds {escaped_unicode, replace} option that replaces illegal escape sequences with the unicode replacement character u+fffd when encountered 2011-07-22 23:47:35 -07:00
alisdair sullivan
b4eaf15dbe fixes broken tests in format and eep 2011-07-22 21:46:24 -07:00
alisdair sullivan
2ee96eb356 tests updated to reflect parser changes, eep0018 and format module still contain failing tests 2011-07-22 21:36:14 -07:00
alisdair sullivan
668b43b7e6 smarter emitting of ints/floats 2011-07-22 21:36:13 -07:00
alisdair sullivan
5060f86921 encoder string escaping 2011-07-22 21:34:19 -07:00
alisdair sullivan
1a59448849 encoder actually uses multi_term option, encoding and escaped_unicode still useless 2011-07-22 21:18:22 -07:00
alisdair sullivan
3bf5506292 unifies options to encoder/decoder to allow abstraction over various different built in iterators 2011-07-21 06:14:48 -07:00
alisdair sullivan
c743debc6d better tests for encoder, still needs more cases tho 2011-07-20 07:14:59 -07:00
alisdair sullivan
e7025efe50 is_json inputs now line up with format inputs 2011-07-17 20:55:54 -07:00
alisdair sullivan
fd3c6af50b new encoder now handles incomplete input 2011-07-17 20:55:54 -07:00
alisdair sullivan
2cdb755d08 new test for new encoder/formatter 2011-07-17 20:55:54 -07:00
alisdair sullivan
04dfde559e format/1,2 takes a list of terms as an argument now, in addition to binary json or a jsx_iterator 2011-07-17 20:55:54 -07:00