@@ -134,7 +134,7 @@ describe("discover_positions", function()
134
134
id = vim .loop .cwd () .. " /neotest_go/cases_test.go" ,
135
135
name = " cases_test.go" ,
136
136
path = vim .loop .cwd () .. " /neotest_go/cases_test.go" ,
137
- range = { 0 , 0 , 49 , 0 },
137
+ range = { 0 , 0 , 55 , 0 },
138
138
type = " file" ,
139
139
},
140
140
{
@@ -169,7 +169,7 @@ describe("discover_positions", function()
169
169
id = vim .loop .cwd () .. " /neotest_go/cases_test.go::TestAdd" ,
170
170
name = " TestAdd" ,
171
171
path = vim .loop .cwd () .. " /neotest_go/cases_test.go" ,
172
- range = { 35 , 0 , 48 , 1 },
172
+ range = { 35 , 0 , 54 , 1 },
173
173
type = " test" ,
174
174
},
175
175
{
@@ -190,6 +190,24 @@ describe("discover_positions", function()
190
190
type = " test" ,
191
191
},
192
192
},
193
+ {
194
+ {
195
+ id = vim .loop .cwd () .. " /neotest_go/cases_test.go::TestAdd::test_three" ,
196
+ name = ' "test three"' ,
197
+ path = vim .loop .cwd () .. " /neotest_go/cases_test.go" ,
198
+ range = { 44 , 1 , 48 , 3 },
199
+ type = " test" ,
200
+ },
201
+ {
202
+ {
203
+ id = vim .loop .cwd () .. " /neotest_go/cases_test.go::TestAdd::\" test three\" ::test_four" ,
204
+ name = ' "test four"' ,
205
+ path = vim .loop .cwd () .. " /neotest_go/cases_test.go" ,
206
+ range = { 45 , 2 , 47 , 4 },
207
+ type = " test" ,
208
+ },
209
+ },
210
+ },
193
211
},
194
212
}
195
213
@@ -334,7 +352,7 @@ describe("prepare_results", function()
334
352
table.insert (lines , s )
335
353
end
336
354
local processed_results =
337
- plugin .prepare_results (positions , lines , tests_folder , " neotest_go" )
355
+ plugin .prepare_results (positions , lines , tests_folder , " neotest_go" )
338
356
339
357
assert .equals (test_result .status , processed_results [test_file ].status )
340
358
end )
@@ -349,8 +367,8 @@ describe("build_spec", function()
349
367
350
368
local args = { tree = tree }
351
369
local expected_command = " cd "
352
- .. vim .loop .cwd ()
353
- .. " /neotest_go && go test -v -json -count=1 -timeout=60s ./"
370
+ .. vim .loop .cwd ()
371
+ .. " /neotest_go && go test -v -json -count=1 -timeout=60s ./"
354
372
local result = plugin .build_spec (args )
355
373
assert .are .same (expected_command , result .command )
356
374
assert .are .same (path , result .context .file )
@@ -361,23 +379,36 @@ describe("build_spec", function()
361
379
362
380
local args = { tree = tree }
363
381
local expected_command = " cd "
364
- .. vim .loop .cwd ()
365
- .. " /neotest_go && go test -v -json -count=1 -timeout=60s - -run ^TestAddOne$ ./"
382
+ .. vim .loop .cwd ()
383
+ .. " /neotest_go && go test -v -json -count=1 -timeout=60s -run ^TestAddOne$ ./"
366
384
local result = plugin .build_spec (args )
367
385
assert .are .same (expected_command , result .command )
368
386
assert .are .same (path , result .context .file )
369
387
end )
370
388
371
- -- This test is overwriting plugin global state, keep it at end of the file or face the consequences ¯\_(ツ)_/¯
389
+ async .it (" build specification for single nested test" , function ()
390
+ local path = vim .loop .cwd () .. " /neotest_go/cases_test.go"
391
+ local tree = plugin .discover_positions (path )
392
+ local test_tree = tree :children ()[2 ]:children ()[3 ]:children ()[1 ]
393
+
394
+ local args = { tree = test_tree }
395
+ local expected_command = " cd "
396
+ .. vim .loop .cwd ()
397
+ .. " /neotest_go && go test -v -json -count=1 -timeout=60s -run ^TestAdd/test_three/test_four$ ./"
398
+ local result = plugin .build_spec (args )
399
+ assert .are .same (expected_command , result .command )
400
+ assert .are .same (path , result .context .file )
401
+ end )
402
+ -- This test is overwriting plugin global state, keep it at end of the file or face the consequences ¯\_(ツ)_/¯
372
403
async .it (" build specification for many_table_test.go recuresive run" , function ()
373
404
local plugin_with_recursive_run = require (" neotest-go" )({ recursive_run = true })
374
405
local path = vim .loop .cwd () .. " /neotest_go/many_table_test.go"
375
406
local tree = plugin .discover_positions (path )
376
407
377
408
local args = { tree = tree }
378
409
local expected_command = " cd "
379
- .. vim .loop .cwd ()
380
- .. " /neotest_go && go test -v -json -count=1 -timeout=60s ./..."
410
+ .. vim .loop .cwd ()
411
+ .. " /neotest_go && go test -v -json -count=1 -timeout=60s ./..."
381
412
local result = plugin_with_recursive_run .build_spec (args )
382
413
assert .are .same (expected_command , result .command )
383
414
assert .are .same (path , result .context .file )
0 commit comments