diff src/testdir/test_assert.vim @ 20834:9a624c1672a3 v8.2.0969

patch 8.2.0969: assert_equal() output for dicts is hard to figure out Commit: https://github.com/vim/vim/commit/4a021dfbeee88ac09d07e257912485314ecdcabe Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 13 15:13:38 2020 +0200 patch 8.2.0969: assert_equal() output for dicts is hard to figure out Problem: Assert_equal() output for dicts is hard to figure out. Solution: Only show the different items.
author Bram Moolenaar <Bram@vim.org>
date Sat, 13 Jun 2020 15:15:04 +0200
parents b9a6a129b94e
children 7833afe1c66e
line wrap: on
line diff
--- a/src/testdir/test_assert.vim
+++ b/src/testdir/test_assert.vim
@@ -50,6 +50,26 @@ func Test_assert_equal()
   call remove(v:errors, 0)
 endfunc
 
+func Test_assert_equal_dict()
+  call assert_equal(0, assert_equal(#{one: 1, two: 2}, #{two: 2, one: 1}))
+
+  call assert_equal(1, assert_equal(#{one: 1, two: 2}, #{two: 2, one: 3}))
+  call assert_match("Expected {'one': 1} but got {'one': 3} - 1 equal item omitted", v:errors[0])
+  call remove(v:errors, 0)
+
+  call assert_equal(1, assert_equal(#{one: 1, two: 2}, #{two: 22, one: 11}))
+  call assert_match("Expected {'one': 1, 'two': 2} but got {'one': 11, 'two': 22}", v:errors[0])
+  call remove(v:errors, 0)
+
+  call assert_equal(1, assert_equal(#{}, #{two: 2, one: 1}))
+  call assert_match("Expected {} but got {'one': 1, 'two': 2}", v:errors[0])
+  call remove(v:errors, 0)
+
+  call assert_equal(1, assert_equal(#{two: 2, one: 1}, #{}))
+  call assert_match("Expected {'one': 1, 'two': 2} but got {}", v:errors[0])
+  call remove(v:errors, 0)
+endfunc
+
 func Test_assert_equalfile()
   call assert_equal(1, assert_equalfile('abcabc', 'xyzxyz'))
   call assert_match("E485: Can't read file abcabc", v:errors[0])