forked from igrigorik/vimgolf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cli_spec.rb
41 lines (32 loc) · 924 Bytes
/
cli_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
require "helper"
describe VimGolf do
it "provides VimGolf errors" do
VimGolf::Error.should be
end
it "sets up VimGolf.ui" do
VimGolf.ui.should be_an(VimGolf::UI)
capture_stdout do
VimGolf::CLI.start(["help"])
end
VimGolf.ui.should be_an(VimGolf::CLI::UI)
end
it "provides a help prompt" do
out = capture_stdout do
VimGolf::CLI.start(["help"])
end
out.should include("setup")
out.should include("launch")
end
describe "download / upload challenge" do
let(:c) { VimGolf::CLI.new }
it "should raise error on invalid challenge" do
lambda { c.download('invalidID') }.should raise_error
end
it "should return type of challenge on success" do
c.download('4d1a21e88ae121365c00000e').should == "rb"
end
it "should raise error on invalid upload id" do
lambda { c.upload('invalidID') }.should raise_error
end
end
end