aboutsummaryrefslogtreecommitdiff
path: root/test/functional/shada
Commit message (Collapse)AuthorAge
...
* functests: Disable some tests when running with address sanitizerZyX2015-10-08
| | | | Ref #1350
* shada: Use same merging code for jumps and changesZyX2015-10-08
|
* shada,functests: Add tests for merging ShaDa dataZyX2015-10-08
|
* shada,functests: Make sure that v:oldfiles list is reset on :rshada!ZyX2015-10-08
|
* functests: Add a number of “generic” functional testsZyX2015-10-08
|
* shada,functests: Use special sd_reader function for skippingZyX2015-10-08
|
* functests: Move wshada and sdrcmd commands to helpersZyX2015-10-08
|
* shada,functests: Improve detection of invalid ShaDa filesZyX2015-10-08
| | | | | | | | | | | | | | | | It appears that large portion of non-ShaDa ASCII text files may be parsed as a ShaDa file because it is mostly recognized as a sequence of unknown entries: all ASCII non-control characters are recognized as FIXUINT shada objects, so text like #!/bin/sh powerline "$@" 2>&1 | tee -a powerline (with trailing newline) will be recognized as a correct ShaDa file containing single unknown entry with type 0x23 (dec 35, '#'), timestamp 0x21 (dec 33, '!') and length 0x2F (dec 47, '/') without this commit. With it parsing this entry will fail.
* shada,functests: Test compatibility supportZyX2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For compatibility the following things are done: 1. Items with type greater then greatest type are ignored when reading and copied when writing. 2. Registers with unknown name are ignored when reading and blindly copied when writing. 3. Registers with unknown type are ignored when reading and merged as usual when writing. 4. Local and global marks with unknown names are ignored when reading. When writing global marks are blindly copied and local marks are also blindly copied, but only if file they are attached to fits in the `'N` limit defined in &shada. Unknown local mark’s timestamp is also taken into account when calculating which files exactly should fit into this limit. 5. History items with unknown type are ignored when reading and blindly copied when writing. 6. Unknown keys found in register, local marks, global marks, changes, jumps and search pattern entries are read to additional_data Dictionary and dumped (of course, unless any of these elements were not overwritten later). It obviously works only for values conversible to Object type. 7. Additional elements found in replacement string and history entries are read to additional_elements Array and dumped (same: only if they were not overwritten later). Again this works only for elements conversible to Object type. 8. Additional elements found in variable entries are simply ignored when reading. When writing *new* variables they will be preserved during merging, but that’s all. Variable values dumped from current NeoVim session never have additional elements.
* shada: Do not allow empty keysZyX2015-10-08
|
* shada,documentation: Extend read error handling, handle write errorsZyX2015-10-08
| | | | | | | | Modifications: - If file was not written due to write error then writing stops and temporary file will not be renamed. - If NeoVim detects that target file is not a ShaDa file then temporary file will not be renamed.
* shada,functests: Test how ShaDa support code reacts on errorsZyX2015-10-08
| | | | | | | | | | | | | | Some notes: - Replaced msgpack_unpacker usage with regular xmalloc’ed buffer. Also since msgpack_unpack_next (as well as msgpack_unpacker_next) is not ever going to return MSGPACK_UNPACK_EXTRA_BYTES this condition was checked manually. Function that does return this status is msgpack_unpack, but it is marked as obsolete. - Zero type is checked prior to main switch in shada_read_next_item because otherwise check would be skipped. - Zeroing entry at the start of shada_read_next_item makes it safer. - dedent('') does not work. - v:oldfiles list is only replaced with bang, if it is NULL or empty.
* functests: Test that history is still accessible after :wshadaZyX2015-10-08
|
* shada: Populate v:oldfilesZyX2015-10-08
|
* shada: Save v:hlsearch valueZyX2015-10-08
|
* Deprecate &viminfo and :[rw]v, add &shada and :[rw]shZyX2015-10-08
|
* functests: Fix change list ShaDa test failuresZyX2015-10-08
|
* functests: Test &encoding supportZyX2015-10-08
|
* shada,functests: Refactor shada items skippingZyX2015-10-08
|
* functests: Test dumping and loading change listZyX2015-10-08
|
* functests: Add tests for dumping/restoring registersZyX2015-10-08
|
* shada: Add support for dumping and restoring buffer listZyX2015-10-08
|
* shada: Add support for dumping/restoring bufs changes and win jumpsZyX2015-10-08
|
* functests: Test loading last search/substitute pattern/replacementZyX2015-10-08
|
* functests: Add history testsZyX2015-10-08
|
* functests: Add tests for mark dumping/readingZyX2015-10-08
|
* functests: Add tests for ShaDa variables dumping/readingZyX2015-10-08