exercism 0.0.24 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
data/lib/cli.rb CHANGED
@@ -68,7 +68,7 @@ class Exercism
68
68
  end
69
69
 
70
70
  begin
71
- response = Exercism::Api.new(options[:host], Exercism.user).submit(submission.file)
71
+ response = Exercism::Api.new(options[:host], Exercism.user).submit(submission.path)
72
72
 
73
73
  body = JSON.parse(response.body)
74
74
  if body["error"]
@@ -10,6 +10,10 @@ class Exercism
10
10
  @file = file
11
11
  end
12
12
 
13
+ def path
14
+ File.absolute_path(file)
15
+ end
16
+
13
17
  def test?
14
18
  test_identifiers.any? do |_, suffix|
15
19
  file.end_with?(suffix)
@@ -20,7 +24,10 @@ class Exercism
20
24
  {
21
25
  :ruby => '_test.rb',
22
26
  :js => '.spec.js',
23
- :elixir => '_test.exs'
27
+ :elixir => '_test.exs',
28
+ :clojure => '_test.clj',
29
+ :python => '_test.py',
30
+ :go => '_test.go',
24
31
  }
25
32
  end
26
33
 
@@ -1,3 +1,3 @@
1
1
  class Exercism
2
- VERSION = "0.0.24"
2
+ VERSION = "0.0.25"
3
3
  end
@@ -25,4 +25,36 @@ class SubmissionTest < Minitest::Test
25
25
  def test_identifies_javascript_tests
26
26
  assert Exercism::Submission.test?('queens.spec.js')
27
27
  end
28
+
29
+ def test_knows_clojure_code
30
+ refute Exercism::Submission.test?('queens.clj')
31
+ end
32
+
33
+ def test_identifies_clojure_tests
34
+ assert Exercism::Submission.test?('queens_test.clj')
35
+ end
36
+
37
+ def test_knows_python_code
38
+ refute Exercism::Submission.test?('queens.py')
39
+ end
40
+
41
+ def test_identifies_python_tests
42
+ assert Exercism::Submission.test?('queens_test.py')
43
+ end
44
+
45
+ def test_knows_go_code
46
+ refute Exercism::Submission.test?('queens.go')
47
+ end
48
+
49
+ def test_identifies_go_tests
50
+ assert Exercism::Submission.test?('queens_test.go')
51
+ end
52
+
53
+ def test_full_path
54
+ submission = Exercism::Submission.new('./test/fixtures/ruby/bob/bob.rb')
55
+ refute submission.path.start_with?('.')
56
+ assert submission.path.end_with?('/test/fixtures/ruby/bob/bob.rb')
57
+ diff = submission.path.length - submission.file.length
58
+ assert diff > 1
59
+ end
28
60
  end
@@ -0,0 +1,5 @@
1
+ class Bob
2
+ def hey
3
+ # lackadaisical responses
4
+ end
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exercism
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.0.25
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-16 00:00:00.000000000 Z
12
+ date: 2013-08-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -206,6 +206,7 @@ files:
206
206
  - test/fixtures/approvals/alice_gets_word_count_readme.approved.txt
207
207
  - test/fixtures/approvals/alice_gets_word_count_tests.approved.txt
208
208
  - test/fixtures/home/.exercism
209
+ - test/fixtures/ruby/bob/bob.rb
209
210
  - test/fixtures/vcr_cassettes/alice-gets-bob.yml
210
211
  - test/fixtures/vcr_cassettes/alice-gets-word-count.yml
211
212
  - test/fixtures/vcr_cassettes/alice-submits-bob.yml
@@ -247,6 +248,7 @@ test_files:
247
248
  - test/fixtures/approvals/alice_gets_word_count_readme.approved.txt
248
249
  - test/fixtures/approvals/alice_gets_word_count_tests.approved.txt
249
250
  - test/fixtures/home/.exercism
251
+ - test/fixtures/ruby/bob/bob.rb
250
252
  - test/fixtures/vcr_cassettes/alice-gets-bob.yml
251
253
  - test/fixtures/vcr_cassettes/alice-gets-word-count.yml
252
254
  - test/fixtures/vcr_cassettes/alice-submits-bob.yml