// Dependencies const isSsh = require("../lib") , tester = require("tester") ; // Prepare the input data var input = [ // Secure Shell Transport Protocol (SSH) ["ssh://user@host.xz:port/path/to/repo.git/", true] , ["ssh://user@host.xz/path/to/repo.git/", true] , ["ssh://host.xz:port/path/to/repo.git/", true] , ["ssh://host.xz/path/to/repo.git/", true] , ["ssh://user@host.xz/path/to/repo.git/", true] , ["ssh://host.xz/path/to/repo.git/", true] , ["ssh://user@host.xz/~user/path/to/repo.git/", true] , ["ssh://host.xz/~user/path/to/repo.git/", true] , ["ssh://user@host.xz/~/path/to/repo.git", true] , ["ssh://host.xz/~/path/to/repo.git", true] , ["user@host.xz:/path/to/repo.git/", true] , ["user@host.xz:~user/path/to/repo.git/", true] , ["user@host.xz:path/to/repo.git", true] , ["host.xz:/path/to/repo.git/", true] , ["host.xz:path/to/repo.git", true] , ["host.xz:~user/path/to/repo.git/", true] , ["rsync://host.xz/path/to/repo.git/", true] // Git Transport Protocol , ["git://host.xz/path/to/repo.git/", false] , ["git://host.xz/~user/path/to/repo.git/", false] // HTTP/S Transport Protocol , ["http://host.xz/path/to/repo.git/", false] , ["https://host.xz/path/to/repo.git/", false] // Local (Filesystem) Transport Protocol , ["/path/to/repo.git/", false] , ["path/to/repo.git/", false] , ["~/path/to/repo.git", false] , ["file:///path/to/repo.git/", false] , ["file://~/path/to/repo.git/", false] ]; tester.describe("check urls", test => { // Run the tests input.forEach(c => { test.it(c[0] + " is supposed " + (!c[1] ? "not " : "") + "to be a ssh url", () => { test.expect(isSsh(c[0])).toBe(c[1]); }); }); });