From 2d92125620417fbea82ec30303823e3cd69e90e8 Mon Sep 17 00:00:00 2001 From: James Trew <66286082+jamestrew@users.noreply.github.com> Date: Wed, 9 Aug 2023 20:34:54 -0400 Subject: [PATCH] test(utils): add tests for `is_uri` (#2645) --- lua/tests/automated/utils_spec.lua | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 lua/tests/automated/utils_spec.lua diff --git a/lua/tests/automated/utils_spec.lua b/lua/tests/automated/utils_spec.lua new file mode 100644 index 0000000..2a783bf --- /dev/null +++ b/lua/tests/automated/utils_spec.lua @@ -0,0 +1,55 @@ +local utils = require "telescope.utils" + +describe("is_uri", function() + it("detects valid uris", function() + local uris = { + [[https://www.example.com/index.html]], + [[ftp://ftp.example.com/files/document.pdf]], + [[mailto:user@example.com]], + [[tel:+1234567890]], + [[file:///home/user/documents/report.docx]], + [[news:comp.lang.python]], + [[ldap://ldap.example.com:389/dc=example,dc=com]], + [[git://github.com/user/repo.git]], + [[steam://run/123456]], + [[magnet:?xt=urn:btih:6B4C3343E1C63A1BC36AEB8A3D1F52C4EDEEB096]], + } + + for _, uri in ipairs(uris) do + assert.True(utils.is_uri(uri)) + end + end) + + it("handles windows paths", function() + local paths = { + [[C:\Users\Usuario\Documents\archivo.txt]], + [[D:\Projects\project_folder\source_code.py]], + [[E:\Music\song.mp3]], + } + for _, path in ipairs(paths) do + assert.False(utils.is_uri(path)) + end + end) + + it("handles linux paths", function() + local paths = { + [[/home/usuario/documents/archivo.txt]], + [[/var/www/html/index.html]], + [[/mnt/backup/backup_file.tar.gz]], + } + for _, path in ipairs(paths) do + assert.False(utils.is_uri(path)) + end + end) + + it("handles macos paths", function() + local paths = { + [[/Users/Usuario/Documents/archivo.txt]], + [[/Applications/App.app/Contents/MacOS/app_executable]], + [[/Volumes/ExternalDrive/Data/file.xlsx]], + } + for _, path in ipairs(paths) do + assert.False(utils.is_uri(path)) + end + end) +end)