| var assert = require("assert") |
| var getUrl = require("../") |
| |
| describe("github url from username/repo", function () { |
| it("returns a github url for the username/repo", function () { |
| var url = getUrl("visionmedia/express") |
| assert.equal("https://github.com/visionmedia/express", url) |
| }) |
| |
| it("returns null if it does not match", function () { |
| var url = getUrl("package") |
| assert.deepEqual(null, url) |
| }) |
| |
| it("returns null if no repo/user was given", function () { |
| var url = getUrl() |
| assert.deepEqual(null, url) |
| }) |
| |
| it("returns null for something that's already a URI", function () { |
| var url = getUrl("file:../relative") |
| assert.deepEqual(null, url) |
| }) |
| |
| it("works with .", function () { |
| var url = getUrl("component/.download.er.js.") |
| assert.equal("https://github.com/component/.download.er.js.", url) |
| }) |
| |
| it("works with . in the beginning", function () { |
| var url = getUrl("component/.downloader.js") |
| assert.equal("https://github.com/component/.downloader.js", url) |
| }) |
| |
| it("works with -", function () { |
| var url = getUrl("component/-dow-nloader.j-s") |
| assert.equal("https://github.com/component/-dow-nloader.j-s", url) |
| }) |
| |
| it("can handle branches with #", function () { |
| var url = getUrl( |
| "component/entejs#1c3e1fe71640b4b477f04d947bd53c473799b277") |
| |
| assert.equal("https://github.com/component/entejs#1c3e1fe71640b" + |
| "4b477f04d947bd53c473799b277", url) |
| }) |
| |
| it("can handle branches with slashes", function () { |
| var url = getUrl( |
| "component/entejs#some/branch/name") |
| |
| assert.equal("https://github.com/component/entejs#some/branch/name", url) |
| }) |
| |
| describe("browser mode", function () { |
| it("is able to return urls for branches", function () { |
| var url = getUrl( |
| "component/entejs#1c3e1fe71640b4b477f04d947bd53c473799b277", true) |
| |
| assert.equal("https://github.com/component/entejs/tree/1c3e1fe71640b" + |
| "4b477f04d947bd53c473799b277", url) |
| }) |
| it("is able to return urls without a branch for the browser", function () { |
| var url = getUrl( |
| "component/entejs", true) |
| |
| assert.equal("https://github.com/component/entejs", url) |
| }) |
| }) |
| }) |