patch 7.4.1703
Problem: Can't assert for not equal and not matching.
Solution: Add assert_notmatch() and assert_notequal().
diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim
index bc025b4..d7fb638 100644
--- a/src/testdir/test_assert.vim
+++ b/src/testdir/test_assert.vim
@@ -18,6 +18,22 @@
call assert_equal(4, n)
let l = [1, 2, 3]
call assert_equal([1, 2, 3], l)
+
+ let s = 'foo'
+ call assert_equal('bar', s)
+ call assert_match("Expected 'bar' but got 'foo'", v:errors[0])
+ call remove(v:errors, 0)
+endfunc
+
+func Test_assert_notequal()
+ let n = 4
+ call assert_notequal('foo', n)
+ let s = 'foo'
+ call assert_notequal([1, 2, 3], s)
+
+ call assert_notequal('foo', s)
+ call assert_match("Expected 'foo' differs from 'foo'", v:errors[0])
+ call remove(v:errors, 0)
endfunc
func Test_assert_exception()
@@ -74,6 +90,15 @@
call remove(v:errors, 0)
endfunc
+func Test_notmatch()
+ call assert_notmatch('foo', 'bar')
+ call assert_notmatch('^foobar$', 'foobars')
+
+ call assert_notmatch('foo', 'foobar')
+ call assert_match("Pattern 'foo' does match 'foobar'", v:errors[0])
+ call remove(v:errors, 0)
+endfunc
+
func Test_assert_fail_fails()
call assert_fails('xxx', {})
call assert_match("Expected {} but got 'E731:", v:errors[0])