mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-05-13 16:37:27 +00:00
More work on dnd kitten
This commit is contained in:
parent
cd7d3026f6
commit
7d468cb000
2 changed files with 13 additions and 4 deletions
|
|
@ -351,11 +351,11 @@ func dnd_main(cmd *cli.Command, opts *Options, args []string) (rc int, err error
|
|||
}
|
||||
var uri_list []uri_list_item
|
||||
for _, arg := range args {
|
||||
st, err := os.Stat(arg)
|
||||
st, err := os.Lstat(arg)
|
||||
if err != nil {
|
||||
return 1, err
|
||||
}
|
||||
if st.IsDir() || st.Mode().IsRegular() {
|
||||
if st.IsDir() || st.Mode().IsRegular() || st.Mode().Type()&os.ModeSymlink != 0 {
|
||||
path, err := filepath.Abs(arg)
|
||||
if err != nil {
|
||||
return 1, err
|
||||
|
|
|
|||
|
|
@ -333,7 +333,8 @@ class TestDnDKitten(BaseTest):
|
|||
self.img_drag_data = os.urandom(10113)
|
||||
f.write(self.img_drag_data)
|
||||
create_fs(self.src_data_dir)
|
||||
self.finish_setup(cli_args=(f'--drag=image/png:{img_drag_path}', self.src_data_dir)) # )))
|
||||
tl = tuple(os.path.join(self.src_data_dir, x) for x in os.listdir(self.src_data_dir))
|
||||
self.finish_setup(cli_args=(f'--drag=image/png:{img_drag_path}', ) + tl) # )))
|
||||
self.dnd_kitten_drag(False, img_drag_path)
|
||||
self.exit_kitten()
|
||||
self.img_drag_data = None
|
||||
|
|
@ -387,5 +388,13 @@ class TestDnDKitten(BaseTest):
|
|||
self.send_dnd_command_to_kitten('DRAG_STATUS')
|
||||
self.wait_for_responses('text/uri-list:2:true')
|
||||
self.assertEqual(self.img_drag_data, self.read_drag_data('image/png'))
|
||||
# self.read_drag_data('text/uri-list')
|
||||
uri_list = self.read_drag_data('text/uri-list').decode().splitlines()
|
||||
paths = set()
|
||||
for line in uri_list:
|
||||
line = line.strip()
|
||||
if line and not line.startswith('#'):
|
||||
purl = urlparse(line)
|
||||
if purl.scheme == 'file':
|
||||
paths.add(purl.path)
|
||||
self.assertEqual(set(os.listdir(self.src_data_dir)), {os.path.basename(x) for x in paths})
|
||||
end_drag(False)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue