@@ -16,10 +16,46 @@ verify.after = function(timeout, assertfunc, failmsg)
16
16
assert (assertfunc (), failmsg )
17
17
end
18
18
19
- verify .bufnr_is_not = function (start_bufnr , timeout )
19
+ verify .bufnr_is = function (bufnr , timeout )
20
20
verify .eventually (timeout or 500 , function ()
21
- return start_bufnr ~= vim .api .nvim_get_current_buf ()
22
- end , string.format (" Current buffer is '%s' when expected to not be" , start_bufnr ))
21
+ return bufnr == vim .api .nvim_get_current_buf ()
22
+ end , string.format (" Current buffer is expected to be '%s' but is not" , bufnr ))
23
+ end
24
+
25
+ verify .bufnr_is_not = function (bufnr , timeout )
26
+ verify .eventually (timeout or 500 , function ()
27
+ return bufnr ~= vim .api .nvim_get_current_buf ()
28
+ end , string.format (" Current buffer is '%s' when expected to not be" , bufnr ))
29
+ end
30
+
31
+ verify .buf_name_endswith = function (buf_name , timeout )
32
+ verify .eventually (
33
+ timeout or 500 ,
34
+ function ()
35
+ if buf_name == " " then
36
+ return true
37
+ end
38
+ local n = vim .api .nvim_buf_get_name (0 )
39
+ if n :sub (-# buf_name ) == buf_name then
40
+ return true
41
+ end
42
+ end ,
43
+ string.format (" Current buffer name is expected to be end with '%s' but it does not" , buf_name )
44
+ )
45
+ end
46
+
47
+ verify .buf_name_is = function (buf_name , timeout )
48
+ verify .eventually (
49
+ timeout or 500 ,
50
+ function ()
51
+ return buf_name == vim .api .nvim_buf_get_name (0 )
52
+ end ,
53
+ string.format (
54
+ " Current buffer name is expected to be '%s' but is %s" ,
55
+ buf_name ,
56
+ vim .api .nvim_buf_get_name (0 )
57
+ )
58
+ )
23
59
end
24
60
25
61
verify .tree_focused = function (timeout )
@@ -28,22 +64,49 @@ verify.tree_focused = function(timeout)
28
64
end , " Current buffer is not a 'neo-tree' filetype" )
29
65
end
30
66
31
- verify .tree_node_is = function (expected_node_id , timeout )
67
+ verify .tree_node_is = function (source_name , expected_node_id , timeout )
32
68
verify .eventually (timeout or 500 , function ()
33
- local state = require (" neo-tree.sources.manager" ).get_state (" filesystem" )
34
- local node = state .tree :get_node ()
35
- if not node then
69
+ local state = require (" neo-tree.sources.manager" ).get_state (source_name )
70
+ if not state .tree then
36
71
return false
37
72
end
38
- local node_id = node : get_id ( )
39
- if node_id ~= expected_node_id then
73
+ local success , node = pcall ( state . tree . get_node , state . tree )
74
+ if not success then
40
75
return false
41
76
end
42
- if state . position . node_id ~= expected_node_id then
77
+ if not node then
43
78
return false
44
79
end
45
- return true
80
+ local node_id = node :get_id ()
81
+ if node_id == expected_node_id then
82
+ return true
83
+ end
84
+ return false
46
85
end , string.format (" Tree node '%s' not focused" , expected_node_id ))
47
86
end
48
87
88
+ verify .filesystem_tree_node_is = function (expected_node_id , timeout )
89
+ verify .tree_node_is (" filesystem" , expected_node_id , timeout )
90
+ end
91
+
92
+ verify .buffers_tree_node_is = function (expected_node_id , timeout )
93
+ verify .tree_node_is (" buffers" , expected_node_id , timeout )
94
+ end
95
+
96
+ verify .git_status_tree_node_is = function (expected_node_id , timeout )
97
+ verify .tree_node_is (" git_status" , expected_node_id , timeout )
98
+ end
99
+
100
+ verify .window_handle_is = function (winid , timeout )
101
+ verify .eventually (timeout or 500 , function ()
102
+ return winid == vim .api .nvim_get_current_win ()
103
+ end , string.format (" Current window handle is expected to be '%s' but is not" , winid ))
104
+ end
105
+
106
+ verify .window_handle_is_not = function (winid , timeout )
107
+ verify .eventually (timeout or 500 , function ()
108
+ return winid ~= vim .api .nvim_get_current_win ()
109
+ end , string.format (" Current window handle is not expected to be '%s' but it is" , winid ))
110
+ end
111
+
49
112
return verify
0 commit comments