defec9319e
Somehow, in my Gist Proxy code 7518a035b1
I never accounted for gist
ids with file extensions. For example: `def123.js` instead of plain
`def123`. This is now fixed and articles with those kinds of gists in
them work now.
Reference article:
https://medium.com/neat-tips-tricks/ocaml-continuation-explained-3b73839
b679f
43 lines
1 KiB
Crystal
43 lines
1 KiB
Crystal
require "../spec_helper"
|
|
|
|
describe GistParams do
|
|
it "extracts params from the gist url" do
|
|
url = "https://gist.github.com/user/1D?file=example.txt"
|
|
|
|
params = GistParams.extract_from_url(url)
|
|
|
|
params.id.should eq("1D")
|
|
params.filename.should eq("example.txt")
|
|
end
|
|
|
|
describe "when gist file has a file extension" do
|
|
it "extracts params from the gist url" do
|
|
url = "https://gist.github.com/user/1d.js"
|
|
|
|
params = GistParams.extract_from_url(url)
|
|
|
|
params.id.should eq("1d")
|
|
end
|
|
end
|
|
|
|
describe "when no file param exists" do
|
|
it "does not extract a filename" do
|
|
url = "https://gist.github.com/user/1D"
|
|
|
|
params = GistParams.extract_from_url(url)
|
|
|
|
params.id.should eq("1D")
|
|
params.filename.should be_nil
|
|
end
|
|
end
|
|
|
|
describe "when the URL is not a gist URL" do
|
|
it "raises a MissingGistId exeption" do
|
|
url = "https://example.com"
|
|
|
|
expect_raises(GistParams::MissingGistId, message: "https://example.com") do
|
|
GistParams.extract_from_url(url)
|
|
end
|
|
end
|
|
end
|
|
end
|