fish-shell/tests/checks
Johannes Altmanninger e40eba3585 Treat text following quoted command substitution as quoted
Commit ec3d3a481 (Support "$(cmd)" command substitution without line
splitting, 2021-07-02) started treating an input string like
"a$()b" as if it were "a"$()"b". Yet, we do not actually insert the
virtual quotes. Instead we just adapted the definition of when quotes
are closed - hence the changes to quote_end().

parse_util_locate_cmdsubst_range() is aware
of the changes to quote_end() but some of its
callers like parse_util_detect_errors_in_argument() and
highlighter_t::color_as_argument() are not.  They split strings at
command substitution boundaries without handling the special quoting
rules. (Only the expansion logic did it right.)

Fix this by handling the special quoting rules inside
parse_util_locate_cmdsubst_range(). This is a bit hacky since it
makes it harder for callers to process some substrings in between
command substitutions, but that's okay because current callers only
care about what's inside the command substitutions.

Fixes #8394
2021-10-30 18:02:10 +02:00
..
broken-config/fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
abbr.fish abbr: Don't write an error if erasing nonexisting abbrs 2020-10-04 12:34:38 +02:00
alias.fish Print nicer "defined in" for functions defined on stdin/via source 2020-12-11 23:09:16 +01:00
andandoror.fish Add a note for help thing to the missing doc error message 2021-03-19 17:39:36 +01:00
andor.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
argparse.fish argparse: Make short flag names optional (#7585) 2021-01-01 11:37:25 +01:00
bad-option.fish Fix typo in bad options test 2020-02-08 13:30:48 +01:00
basic.fish Add tests for dynamically invoked break and continue 2021-10-25 12:43:30 -07:00
bind.fish Fix bind tests 2021-02-16 16:45:59 +01:00
braces.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
broken-config.fish Port config tests to littlecheck 2019-06-25 22:31:06 +02:00
builtinbuiltin.fish Port some smaller tests to littlecheck 2020-02-08 09:31:49 +01:00
caller-observer.fish Fix up --on-job-exit caller 2020-02-08 16:23:25 -08:00
cd.fish broken-symbolic-link test to enter a new directory 2021-09-24 17:35:45 -07:00
check-all-fish-files.fish Revert "Revert "Speed up check-all-fish-files when executed locally"" 2021-03-06 17:13:20 -06:00
check-translations.fish Add a test to check format strings in translations 2021-10-18 17:02:17 +02:00
cmdsub-limit.fish Add a test for background procs in cmdsubs 2021-01-07 11:38:52 -08:00
cmdsub.fish Treat text following quoted command substitution as quoted 2021-10-30 18:02:10 +02:00
colon-delimited-var.fish Clean up how PATH and CDPATH munging occurs 2019-11-02 16:48:08 -07:00
command-1.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
command-2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
command-not-found.fish Point to builtins begin/end when a failed command starts with "{" 2021-06-23 21:47:40 +02:00
command-vars-persist.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
commandline.fish commandline: Add --is-valid option (#8142) 2021-08-14 11:29:22 +02:00
complete_directories.fish Run __fish_complete_entries test in its own sandbox 2020-10-25 23:01:51 -05:00
complete.fish Complete: Fix long-form of "-r" in complete output 2021-10-20 21:05:17 +02:00
contains_opt.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
count.fish Port count test to littlecheck 2019-06-26 21:19:40 +02:00
deep-cmdsub.fish Add a test for deep command substitutions 2020-01-18 11:50:50 -08:00
directory-redirect.fish Fix tests 2020-01-19 15:07:06 +01:00
disown-parent.fish Add a tricky test to verify disowning an in-flight job 2019-12-08 11:44:21 -08:00
empty.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
env.fish Correctly mark a node when erasing an exported variable 2019-06-28 11:22:49 -07:00
eval.fish source: Escape filenames in errors 2021-02-15 17:08:26 +01:00
exec.fish tests: Remove test for windows line ending message 2020-09-26 15:19:24 +02:00
exit-status-with-closing-stderr.fish Run fish_indent on all our fish scripts 2020-01-13 20:34:22 +01:00
expansion.fish add tests for zero-index expressions 2021-08-17 12:41:03 +08:00
fds.fish necro working tests from 11a373f121 2021-10-21 23:50:42 -07:00
features-ampersand-nobg-in-token1.fish Teach fish_indent about our feature flags 2021-07-23 22:58:51 +02:00
features-nocaret1.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-nocaret2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-nocaret3.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-nocaret4.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-nocaret5.fish Fix some tests for OpenIndiana 2021-06-24 18:17:10 +02:00
features-qmark1.fish Re-add explicit littlecheck HOME/XDG_CONFIG_HOME overrides on request 2021-08-29 12:38:28 -05:00
features-qmark2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
features-string-backslashes-off.fish tests, CHANGELOG: regex-easyesc 2019-08-13 22:56:31 -07:00
features-string-backslashes.fish tests, CHANGELOG: regex-easyesc 2019-08-13 22:56:31 -07:00
fish_add_path.fish Fix fish_add_path tests 2021-06-23 21:30:10 +02:00
fish_user_paths.fish Deduplicate $fish_user_paths automatically 2021-07-14 16:37:30 +02:00
for.fish Don't fire variable set event before entering a for-loop 2021-10-28 16:32:58 +02:00
function-definition.fish Properly print leading comments and indentation in functions 2020-01-03 14:40:28 -08:00
function.fish Print nicer "defined in" for functions defined on stdin/via source 2020-12-11 23:09:16 +01:00
functions.fish functions: Add "--no-details" flag and use it in funced 2021-03-30 16:54:26 +02:00
git.fish completions/git: define function before use 2021-07-12 23:42:01 +02:00
glob.fish tests: Don't rely on $HOME existing 2020-12-29 12:48:11 +01:00
history.fish Adds sub-command clear-session to history command. 2021-10-17 19:27:46 -07:00
indent.fish fish_indent: handle tokens with trailing escaped newlines 2021-08-01 18:59:45 +02:00
init-command-2.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
init-command-mix-ordering.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
init-command-mix.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
init-command.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
init-unreadable-cwd.fish Ignore unreadable cwd error harder 2020-02-14 20:09:07 +01:00
invocation.fish Actually return when reading file failed 2021-08-29 08:36:54 +02:00
job-control-noninteractive.fish tests: Remove unnecessary status fish-path 2021-03-10 18:04:04 +01:00
job-control-not-a-tty.fish terminal_maybe_give_to_job to stop returning error on ENOTTY 2020-04-18 16:26:54 -07:00
job-ids.fish tests/job-ids: Wait for job to die 2020-01-25 14:06:34 +01:00
jobs.fish Test that --on-job-exit functions run even if the job has already exited 2021-10-28 10:02:48 -07:00
line-continuation.fish Reformat fish scripts with escaped newline changes to fish_indent 2020-03-15 21:01:11 +01:00
line-number.fish argparse: Only print stacktrace when it's an error in argparse usage 2020-06-17 20:05:48 +02:00
locale-numeric.fish Move the numeric locale tests to a different file 2021-08-17 15:36:07 +02:00
locale.fish Try to set LC_CTYPE to something UTF-8 capable (#8031) 2021-06-06 09:28:32 +02:00
loops.fish Move CHECKS in loop-test to where they are matched 2021-10-26 17:38:40 +02:00
math.fish tinyexpr: Check for nan in ncr 2021-07-26 18:40:50 +02:00
no-config.fish Only use DATADIR in $fish_function_path if no-config is used 2021-05-01 18:59:25 +02:00
no-execute.fish Don't time --no-execute 2020-02-17 11:39:53 +01:00
noshebang.fish Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
pipeline-pgroup.fish tests: Pass $fish as a variable in some cases 2020-10-06 17:40:22 +02:00
pipestatus.fish Fix some tests for OpenIndiana 2021-06-24 18:17:10 +02:00
printf.fish Move the numeric locale tests to a different file 2021-08-17 15:36:07 +02:00
prompt.fish prompt_pwd: full-dirs set to 0 means not even last component is safe 2021-08-09 17:42:00 +02:00
psub.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
random.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
rc-returned.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
read.fish Add function scope to read as well 2021-09-23 17:12:37 +02:00
realpath.fish normalize_path: Squash leading slashes even without allow_leading 2021-09-09 18:41:11 +02:00
redirect.fish necro working tests from 11a373f121 2021-10-21 23:50:42 -07:00
regex-import.fish Correct behavior of string match variable import with multiple arguments 2021-04-20 15:15:52 -07:00
return.fish Let "return" exit a script (#8148) 2021-07-21 22:33:39 +02:00
scoping.fish Add a note for help thing to the missing doc error message 2021-03-19 17:39:36 +01:00
self-signal-usr1.fish Stop storing block_io in job_t 2019-12-11 16:34:20 -08:00
set.fish Re-add explicit littlecheck HOME/XDG_CONFIG_HOME overrides on request 2021-08-29 12:38:28 -05:00
setenv.fish Port setenv tests to littlecheck 2019-07-09 10:02:50 -07:00
sigint.fish tests: Remove unnecessary status fish-path 2021-03-10 18:04:04 +01:00
sigint2.fish Disable job control inside command substitutions 2021-08-18 22:20:03 +08:00
signal.fish Fix some tests for OpenIndiana 2021-06-24 18:17:10 +02:00
slices.fish Revert "Disallow escaped characters in variable expansion" 2021-06-10 16:46:17 +02:00
stack-overflow.fish Remove the forbidden function stack 2019-11-10 12:36:46 -08:00
status-command.fish Skip some tests on OpenBSD 2021-06-24 20:46:03 +02:00
status-value.fish Rationalize $status and errors 2020-01-25 17:28:41 -08:00
status.fish Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
string-advanced.fish Test string replace transforms 2021-03-21 10:03:35 +01:00
string.fish tests: Switch emoji used 2021-10-26 18:30:43 +02:00
switch.fish Point wildcard error at a more specific help section 2021-08-11 18:40:37 +02:00
symlinks-not-overwritten.fish Re-add explicit littlecheck HOME/XDG_CONFIG_HOME overrides on request 2021-08-29 12:38:28 -05:00
syntax-error-location.fish Don't add expansion error offset twice 2021-09-30 18:09:58 +02:00
test.fish Move the numeric locale tests to a different file 2021-08-17 15:36:07 +02:00
threads.fish Reindent functions to remove useless quotes 2020-03-09 19:46:43 +01:00
time.fish List time as builtin, support time --help 2020-02-23 23:42:57 +01:00
tmux-bind.fish isolated-tmux to more reliably initialize and other fixes 2021-09-24 08:07:17 -07:00
tmux-complete.fish isolated-tmux to more reliably initialize and other fixes 2021-09-24 08:07:17 -07:00
tmux-prompt.fish isolated-tmux to more reliably initialize and other fixes 2021-09-24 08:07:17 -07:00
trace.fish Change fish_trace prefix to "->" instead of plusses 2020-12-11 21:24:33 +01:00
type.fish type: Add --quiet back 2021-03-02 14:53:02 +01:00
umask.fish Port umask tests to littlecheck 2020-03-16 21:21:10 +01:00
variable-assignment.fish use variable assignments on commandline in completions 2020-01-17 14:53:35 +01:00
vars_as_commands.fish Forbid $status as a command 2021-07-27 18:37:20 +02:00
version.fish Port most of the invocation tests to littlecheck 2019-06-25 20:56:29 +02:00
wait.fish Fix some tests for OpenIndiana 2021-06-24 18:17:10 +02:00
wildcard.fish Remove TMPDIR dependency from tests/ 2021-08-29 08:56:12 +02:00
wraps.fish Rework variable assignments during tab completion 2020-09-26 18:39:38 -07:00
zero_based_array.fish Add more tests for literal zero indexes 2021-08-15 13:48:41 -05:00