@@ -4,39 +4,49 @@ local util = require("oil.util")
44local uv = vim .uv or vim .loop
55
66describe (" url" , function ()
7- if not uv .os_uname ().version :match (" Windows" ) then
8- -- These tests rely on functions like vim.fn.getcwd and vim.loop.os_homedir
9- -- returning unix style paths so these test don't make sense to run on Windows
10- it (" get parent url for empty string path" , function ()
11- local input = " "
12- local expected = " oil://" .. util .addslash (vim .fn .getcwd ())
7+ it (" get parent url for empty string path" , function ()
8+ if uv .os_uname ().version :match (" Windows" ) then
9+ pending (" Skipping this test on Windows because it relies on a unix styled current directory" )
10+ return
11+ end
12+ local input = " "
13+ local expected = " oil://" .. util .addslash (vim .fn .getcwd ())
1314
14- local output , basename = oil .get_buffer_parent_url (input , true )
15- assert .equals (expected , output , string.format (' Parent url for path "%s" failed' , input ))
16- assert .equals (nil , basename , string.format (' Basename for path "%s" failed' , input ))
17- end )
18-
19- it (" get parent url for term name" , function ()
20- local input = " term://~/oil.nvim//52953:/bin/sh"
21- local expected = " oil://" .. vim .loop .os_homedir () .. " /oil.nvim/"
22- local output , basename = oil .get_buffer_parent_url (input , true )
23- assert .equals (expected , output , string.format (' Parent url for path "%s" failed' , input ))
24- assert .equals (nil , basename , string.format (' Basename for path "%s" failed' , input ))
25- end )
15+ local output , basename = oil .get_buffer_parent_url (input , true )
16+ assert .equals (expected , output , string.format (' Parent url for path "%s" failed' , input ))
17+ assert .equals (nil , basename , string.format (' Basename for path "%s" failed' , input ))
18+ end )
2619
27- it (" get parent url for unix path" , function ()
28- local input = " /foo/bar.txt"
29- local expected = " oil:///foo/"
30- local expected_basename = " bar.txt"
31- local output , basename = oil .get_buffer_parent_url (input , true )
32- assert .equals (expected , output , string.format (' Parent url for path "%s" failed' , input ))
33- assert .equals (
34- expected_basename ,
35- basename ,
36- string.format (' Basename for path "%s" failed' , input )
20+ it (" get parent url for term name" , function ()
21+ if uv .os_uname ().version :match (" Windows" ) then
22+ pending (
23+ " Skipping this test on Windows because it relies on a unix styled current home directory"
3724 )
38- end )
39- end
25+ return
26+ end
27+ local input = " term://~/oil.nvim//52953:/bin/sh"
28+ local expected = " oil://" .. vim .loop .os_homedir () .. " /oil.nvim/"
29+ local output , basename = oil .get_buffer_parent_url (input , true )
30+ assert .equals (expected , output , string.format (' Parent url for path "%s" failed' , input ))
31+ assert .equals (nil , basename , string.format (' Basename for path "%s" failed' , input ))
32+ end )
33+
34+ it (" get parent url for unix path" , function ()
35+ if uv .os_uname ().version :match (" Windows" ) then
36+ pending (" Skipping this test on Windows because it relies on a unix styled absolute path" )
37+ return
38+ end
39+ local input = " /foo/bar.txt"
40+ local expected = " oil:///foo/"
41+ local expected_basename = " bar.txt"
42+ local output , basename = oil .get_buffer_parent_url (input , true )
43+ assert .equals (expected , output , string.format (' Parent url for path "%s" failed' , input ))
44+ assert .equals (
45+ expected_basename ,
46+ basename ,
47+ string.format (' Basename for path "%s" failed' , input )
48+ )
49+ end )
4050
4151 it (" get parent url for oil path" , function ()
4252 local input = " oil:///foo/bar.txt"
0 commit comments