Commit graph

63 commits

Author SHA1 Message Date
Matthew Martin
693757bfd7 tests: Run harness in an anon function to catch global variables
Thanks Daniel for the set -- suggestion.
2019-01-12 00:36:42 -06:00
Matthew Martin
3259fe338d Revert "tests: Run tests in an anon function to catch global variables"
This reverts commit ba2d8fcf76.

Breaks 4.3.12 and .11
2019-01-06 21:38:13 -06:00
Matthew Martin
ba2d8fcf76 tests: Run tests in an anon function to catch global variables
This would have caught #593.
2019-01-06 21:23:46 -06:00
Matthew Martin
9bd38c6fc0 tests: Use root variable for root of the project 2019-01-06 21:21:42 -06:00
Matthew Martin
dddea5d5dd tests: Set harness variables local 2019-01-06 21:18:41 -06:00
Daniel Shahaf
06893a3873 tests: Escape region_highlight and expected_region_highlight in TAP output.
Required for TAP compliance in case the output ever contains '#' or '\n'.
2018-12-29 12:15:34 +00:00
Daniel Shahaf
580ccaebb8 tests: (try to) Fix test failure under zsh<5.3, where 'typeset -p arrayvar''s is two lines long. 2018-12-29 11:57:15 +00:00
Daniel Shahaf
7cb5ad0f9b tests: Tweak XFAIL/XPASS output of cardinality check.
Stylistic tweaks only; no functional change, no effect on TAP compliance.
2018-12-29 11:46:18 +00:00
Daniel Shahaf
cd1647f4d4 tests: Follow-up to grandparent: Make the cardinality check XPASS properly when it should. 2018-12-29 11:42:34 +00:00
Daniel Shahaf
864864442e tests: Allow marking the cardinality check as TODO (XFail).
Needed for next commit.
2018-12-29 11:31:18 +00:00
Matthew Martin
a9be0975c8 tests: Directly diff expected_region_highlight against region_highlight 2018-02-10 14:49:07 -06:00
Matthew Martin
7b417be1ce tests: Escape newlines in TAP description 2018-02-10 13:23:08 -06:00
Daniel Shahaf
c969a1f26a tests: Include the filename in error messages.
The new failure mode is:
.
    Running test main
    Bail out! On './highlighters/main/test-data/glob.zsh': Either 'PREBUFFER' or 'BUFFER' must be declared and non-blank
    Bail out! On './highlighters/main/test-data/glob.zsh': output on stderr
    Running test pattern

Fixes #478.
2018-01-12 14:28:08 +00:00
Daniel Shahaf
8652a8f4e4 Bump copyright years. 2017-12-25 08:42:30 +00:00
Matthew Martin
f4d37b74cc tests: Add ability to skip tests 2017-11-06 07:08:53 -06:00
Matthew Martin
038409c10d tests: Run tests with WARN_CREATE_GLOBAL 2017-11-05 15:04:49 -06:00
Matthew Martin
c948a3caa0 tests: Declare local variables 2017-11-05 12:23:42 -06:00
Matthew Martin
18517cc98e tests: Run tests with NOUNSET 2017-11-05 08:06:45 -06:00
Matthew Martin
459c128f43 tests: Set ZLE variables to sane defaults 2017-11-05 08:06:45 -06:00
Matthew Martin
079ea39f74 tests: Ensure region highlight is unset if NONE is expected 2017-11-05 08:06:45 -06:00
Matthew Martin
a9ce931439 Default possibly unset variables to empty 2017-11-04 20:26:07 -05:00
Matthew Martin
a33c72e838 tests: Use idiomatic set check 2017-11-02 20:08:28 -05:00
Daniel Shahaf
5efd062a4d tests: Add a regression test for issue #392 (aliases beginning with a '+' are lost). 2016-12-03 13:54:47 +00:00
Daniel Shahaf
67be62107b tests: Move some code in preparation for next commit. No functional change. 2016-12-03 13:54:47 +00:00
Daniel Shahaf
fccf92402b minor: tests: Formatting tweak to XPASS output.
Remove superfluous single quotes around the second hyphen.
2016-06-03 03:57:45 +00:00
Matthew Martin
d37c55c788 minor: tests: Add comment for NONE in expected_region_highlight 2016-05-12 22:59:06 -05:00
Matthew Martin
1082067f93 tests: Fail on stderr output
Closes #291.
2016-05-12 22:32:34 -05:00
Daniel Shahaf
f0bae44b76 tests: Followup to last: echo(1) is evil.
Use 'print -r --' instead, so literal backslashes in $BUFFER aren't expanded.

Found-by: Matthew Martin
2016-05-05 20:34:43 +00:00
Daniel Shahaf
3176b9567c minor: tests: Quote $BUFFER differently on output.
The new output improves readability of the 'main' highlighter's test output.
2016-05-05 19:33:56 +00:00
Daniel Shahaf
6aa57d60aa tests: TAP support: Emit a 'description' for all test points 2016-05-05 19:11:49 +00:00
Daniel Shahaf
f83bca0847 minor: tests: Introduce a local variable. No functional change. 2016-05-05 19:11:28 +00:00
Daniel Shahaf
70b5687d66 minor: tests: Tighten up local variable scope. 2016-05-05 19:11:07 +00:00
Daniel Shahaf
21207c336a tests: TAP compliance: Do not emit literal '#' in the 'description' part 2016-05-05 19:11:07 +00:00
Daniel Shahaf
56a867076c tests: Followup to fd061b5730: quote both expected and actual output. 2016-05-05 19:10:06 +00:00
Matthew Martin
eaa4335c34 tests: Set ZSH_HIGHLIGHT_STYLES=() during tests
Since the _zsh_highlight_add_highlight that the tests use ignores
ZSH_HIGHLIGHT_STYLES, we can test both an injective mapping and an empty
mapping at once.
2016-05-05 12:31:52 -05:00
Matthew Martin
d3678ec7a8 tests: Remove unused_highlight 2016-05-05 12:28:43 -05:00
Matthew Martin
fd061b5730 tests: Test ZSH_HIGHLIGHT_STYLES keys directly
Closes #287. Testing the keys directly removes the need for
unused_highlight which will be removed next.
2016-05-05 12:28:39 -05:00
Matthew Martin
4da9889d15 tests: Use 'NONE' to denote no highlighting
'none' is a valid highlighting type. Since by convention styles are all
lowercase, 'NONE' shouldn't conflict with anything.

Closes #289.
2016-04-30 12:48:44 -05:00
Daniel Shahaf
f34714b8ee Bump copyright years. 2016-04-30 02:11:17 +00:00
Matthew Martin
a830613467 tests: Specify the style key instead of the style itself 2016-04-29 09:51:13 -05:00
Matthew Martin
31ac2b36a9 tests: Quote style in expected_region_highlight 2016-04-02 09:45:24 -05:00
Matthew Martin
bb8d325c0c tests: Fix grep syntax
In basic regular expressions | is not a special character that spearates
branches, so use an extended regular expression.
2016-04-01 00:52:27 -05:00
Daniel Shahaf
30d8f92df2 test harness: Properly quote error message interpolations.
No functional change, except that error messages are now more readable.
2016-01-20 22:02:25 +00:00
Daniel Shahaf
9b64ad750f tests: Add a 'print failures only' mode to 'make test', called 'make quiet-test'.
Fixes zsh-users/zsh-syntax-highlighting#262.

Currently, 'make quiet-test' uses Perl.  However, since it is considered a development
tool rather than a user-facing tool, users and downstream packages needn't install Perl.
Furthermore, even this dev-only dependency may be dropped in the future.

The only difference between tests/tap-filter here and the one in the issue is using
a `cat` subshell v. using 'undef $/; <STDIN>'.
2016-01-02 21:22:01 +00:00
Daniel Shahaf
936e2e9314 tests: Add another comment. No functional change. 2016-01-02 20:52:40 +00:00
Daniel Shahaf
268656d52b tests: Add a comment. No functional change. 2016-01-01 16:35:00 +00:00
Daniel Shahaf
1397f1bae1 tests: Tweak the isolation wrapper for style and robustness.
Followup to c015339202.

Suggested-by: Matthew Martin
2015-11-17 01:06:50 +00:00
Daniel Shahaf
c015339202 tests: Provide an independent, auto-cleaned working directory to each test.
Fixes zsh-users/zsh-syntax-highlighting#182.
Prerequisite for testing issue #228.

* tests/test-highlighting.zsh
  (run_test): Move functionality to run_test_internal; make run_test be a wrapper
    that handles creating and cleaning up the tempdir.

* tests/README.md: Document the new feature.

* "highlighters/main/test-data/path-space- .zsh"
* highlighters/main/test-data/path-tilde-named.zsh
* highlighters/main/test-data/path.zsh
    Change test data to not depend on being run from the source directory.
2015-11-16 22:54:52 +00:00
Daniel Shahaf
6fe07c0961 'make test': Fix breakage introduced by 4d3da30f8b:
test failure would not be reflected by the exit code of 'make'.

Setting a shell parameter in the left-hand side of a pipe is not visible to
commands after the pipe, because the left-hand side forks.  (That's true both
in 'sh' used by 'make' and in 'zsh' that runs tests/test-highlighting.zsh, at
least on my system.)  Therefore, move the colorizing hook to where it doesn't
interfere with setting the $something_failed (in tests/test-highlighting.zsh)
and $result (in Makefile) parameters.
2015-10-27 11:59:20 +02:00
Daniel Shahaf
663c760cc9 minor: test harness: Convert some global failure modes to TAP "Bail out" mode. 2015-10-23 05:34:15 +00:00