aboutsummaryrefslogtreecommitdiffhomepage
path: root/fish_tests.cpp
Commit message (Collapse)AuthorAge
* Hack the tokenizer to compress multiple adjacent newlines into oneGravatar ridiculousfish2014-11-24
| | | | | This slightly reduces the size of parse trees, and is otherwise a minor optimization
* Disallow backgrounding in conditionals and before and/or bool statementsGravatar ridiculousfish2014-11-02
| | | | Fixes #1136
* Support space separators for abbreviations as part of #731Gravatar ridiculousfish2014-10-11
|
* Teach the highlighter about multiple adjacent square bracket expansionsGravatar ridiculousfish2014-09-30
| | | | Fixes #1627
* Fix to indent comments in blocks properly (#1710)Gravatar ridiculousfish2014-09-29
| | | | | | | | | | | | | | | | | | | | This makes two changes to parse trees: 1. Unmaterialized nodes no longer have an invalid source location For example, with the code `while false;end` there are no tokens associated with the while loop's job_list, and therefore it is unmaterialized. Previously it would have had a SOURCE_OFFSET_INVALID. But now it has a zero source length, but an offset equal to the end of the while loop (i.e. the semicolon), and a zero length. Correspondingly, the has_source function now checks the length instead of the offset. 2. Special (comment and error) nodes have always been "disconnected," meaning they are not the child of any other node. However, they now have their parent offsets set to whatever the top of the node stack was when the node was encountered. This gives us a sense of which node the comment is "in", e.g. if we are constructing a job list then the comment's parent will be the job list. This lets us determine the comment's indent.
* Revert "Prepend ./ to "flag-like file" wildcard expansions and completions"Gravatar ridiculousfish2014-09-25
| | | | | | | | | This reverts commit 316d7004a3d4f6905f36301b6d5c9ebd934f11fa. Reverts fix for 1519 in light of #1713 Conflicts: fish_tests.cpp
* Report expand errors better in fish testsGravatar Kevin Ballard2014-09-25
| | | | Print the expected and actual results if an error occurs.
* Refactor expand tests slightly to handle errors betterGravatar Kevin Ballard2014-09-25
| | | | | | If we get an error relating to our manipulation of the temporary directory or cwd, we don't want to run the rest of the tests that assume it worked.
* Prepend ./ to "flag-like file" wildcard expansions and completionsGravatar ridiculousfish2014-09-24
| | | | | | | | If a wildcard or completion expands to a file that begins with one or more dashes, prepend a ./ to it so that it doesn't get parsed as an option. Fixes #1519
* Allow running executables with $ in their name.Gravatar ridiculousfish2014-09-21
| | | | Fixes #1686
* Implement new `read --null` flagGravatar Kevin Ballard2014-09-21
| | | | | | | | The `--null` flag to `read` makes it split incoming lines on NUL instead of newlines. This is intended for processing the output of a command that uses NUL separators (such as `find -print0`). Fixes #1694.
* Clean up variable expansion, and properly handle embedded NULsGravatar ridiculousfish2014-08-24
|
* Add a test for syntax highlighting pipesGravatar ridiculousfish2014-08-22
|
* Support for command wrapping ("aliases")Gravatar ridiculousfish2014-08-15
| | | | | | | | | | | | | | | | | | | | | | | Add the --wraps option to 'complete' and 'function'. This allows a command to (recursively) inherit the completions of a wrapped command. Fixes #393. When evaluating a completion, we inspect the entire "wrap chain" for a command, i.e. we follow the sequence of wrapping until we either hit a loop (which we silently ignore) or the end of the chain. We then evaluate completions as if the wrapping command were substituted with the wrapped command. Currently this only works for commands, i.e. 'complete --command gco --wraps git\ checkout' won't work (that would seem to encroaching on abbreviations anyways). It might be useful to show an error message for that case. The commandline builtin reflects the commandline with the wrapped command substituted in, so e.g. git completions (which inspect the command line) will just work. This sort of command line munging is also performed by 'complete -C' so it's not totally without precedent. 'alias will also now mark its generated function as wrapping the 'target.
* Don't try to colorize errors when running in XcodeGravatar ridiculousfish2014-08-04
|
* Add fish_tests target to Xcode buildGravatar ridiculousfish2014-08-04
| | | | Allows running the tests in Xcode
* Fix up OSC / iTerm2 escape code parsing as part of #1565Gravatar ridiculousfish2014-07-30
|
* Parse OSC codes in escape_code_length(). They begin with <esc> ] and are ↵Gravatar George Nachman2014-07-30
| | | | terminated with ST (<esc> backslash) or BEL (ASCII 7).
* Improve history robustness against corrupt filesGravatar ridiculousfish2014-07-29
| | | | Fixes #1581
* Teach fish to compute the length of more escape sequences.Gravatar ridiculousfish2014-07-26
| | | | Fixes #1243
* Add support for history --merge to incorporate history changes fromGravatar ridiculousfish2014-07-25
| | | | | | other sessions. Fixes #825
* Universal variable callbacks should only be announced for changedGravatar ridiculousfish2014-06-16
| | | | values, not every value. Also support erase notifications.
* Migrate global functions out of env_universal. Have env operate directlyGravatar ridiculousfish2014-06-15
| | | | on an env_universal_t.
* Remove inotify-based universal notifierGravatar ridiculousfish2014-05-29
| | | | | | The inotify notifier is fragile, fails on travis, and fails to compile on certain Linux kernels. It doesn't appear to work as well as the named pipe mechanism. Best to just get rid of it.
* Fix some annoying warnings in fish_tests with gcc 4.8Gravatar ridiculousfish2014-05-24
|
* Remove an errant system("ls")Gravatar ridiculousfish2014-05-21
|
* Disable inotify tests pending investigation into why it fails onGravatar ridiculousfish2014-05-21
| | | | travis-ci
* Try using IN_DELETE_SELF with inotifyGravatar ridiculousfish2014-05-16
|
* Add check for kernel version to try to determine why travis-ci isGravatar ridiculousfish2014-05-16
| | | | failing with inotify
* Check for non-negative watch object in inotify_add_watchGravatar ridiculousfish2014-05-16
|
* Add a check to ensure the file really is deleted in inotify testGravatar ridiculousfish2014-05-16
|
* Add test for inotify support to try to track down travis-ci is failingGravatar ridiculousfish2014-05-16
|
* Refine test for enabling strategy_inotify in fish_testsGravatar ridiculousfish2014-05-15
|
* Fix a warning about missing enum in fish_tests.cppGravatar ridiculousfish2014-05-15
|
* Merge branch 'master' into death_of_fishdGravatar ridiculousfish2014-05-09
|\
* | Remove needs_polling from universal_notifier_t. Add some expositoryGravatar ridiculousfish2014-05-07
| | | | | | | | comments.
* | Further cleanup and rationalization of named pipe universal notifier.Gravatar ridiculousfish2014-05-06
| |
| * Move the empty function test to tests.Gravatar Konrad Borowski2014-05-06
| |
* | Fix named pipe universal notifier. No more threads. Tests now pass.Gravatar ridiculousfish2014-05-05
| |
| * Improve test_wchar2utf8().Gravatar Konrad Borowski2014-05-04
| | | | | | | | | | | | | | | | | | | | | | Currently it contains strange code like using `do` loop in order to avoid `goto`s (they aren't evil, honestly), the pointless `if (mem)` conditional which doesn't even work (had semicolon for some reason). You may think this code had a bug where the code didn't check for the pointer to be null before calling `free`, but this is not the case, as according to C and C++ standard, `free` should allow `NULL` pointers, and ignore them.
* | Make inotify-based universal variable notifier tests passGravatar ridiculousfish2014-05-03
| |
* | Merge branch 'death_of_fishd' of https://github.com/fish-shell/fish-shell ↵Gravatar ridiculousfish2014-05-03
|\ \ | | | | | | | | | into death_of_fishd
| * | Re-establish inotify watch when file is deletedGravatar ridiculousfish2014-05-03
| | |
* | | Merge branch 'master' into death_of_fishdGravatar ridiculousfish2014-05-03
|\ \ \ | |/ / |/| / | |/ | | Conflicts: configure.ac
| * Simple test for completing redirectionsGravatar ridiculousfish2014-05-02
| |
* | Early implementation of inotify-based universal variable notifier forGravatar ridiculousfish2014-05-01
| | | | | | | | Linux
* | Implement notifyd-based notification strategy for universal variablesGravatar ridiculousfish2014-04-30
| | | | | | | | (OS X specific)
* | Implement universal variable deletion. Adopt shared memory uvar notification.Gravatar ridiculousfish2014-04-29
| |
* | Implement shared memory strategy for universal variable notificationsGravatar ridiculousfish2014-04-29
| |
* | Move universal variable callbacks out from under the lock, to avoid aGravatar ridiculousfish2014-04-29
| | | | | | | | possible deadlock on reentrancy