From aece3ffa7dca546bd5c358478dfb9f423519e211 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Fri, 8 Jul 2016 13:32:25 -0400 Subject: vim-patch:7.4.1663 Problem: In tests it's often useful to check if a pattern matches. Solution: Add assert_match(). https://github.com/vim/vim/commit/ea6553bec340920d8a09c7210cdc2d218e25ace2 --- test/functional/legacy/assert_spec.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test') diff --git a/test/functional/legacy/assert_spec.lua b/test/functional/legacy/assert_spec.lua index 8da6ee45d7..cf1dcf6686 100644 --- a/test/functional/legacy/assert_spec.lua +++ b/test/functional/legacy/assert_spec.lua @@ -155,10 +155,29 @@ describe('assert function:', function() end) end) + -- assert_match({pat}, {text}[, {msg}]) + describe('assert_match', function() + it('should not change v:errors when pat matches text', function() + call('assert_match', '^f.*b.*r$', 'foobar') + expected_empty() + end) + + it('should change v:errors when pat does not match text', function() + call('assert_match', 'bar.*foo', 'foobar') + expected_errors({"Pattern 'bar.*foo' does not match 'foobar'"}) + end) + + it('should set v:errors to msg when given and match fails', function() + call('assert_match', 'bar.*foo', 'foobar', 'wrong') + expected_errors({"'wrong'"}) + end) + end) + -- assert_fails({cmd}, [, {error}]) describe('assert_fails', function() it('should change v:errors when error does not match v:errmsg', function() execute([[call assert_fails('xxx', {})]]) + execute([[call assert_match("Expected {} but got 'E731:", v:errors[0])]]) expected_errors({"Expected {} but got 'E731: using Dictionary as a String'"}) end) -- cgit