rspex 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9ebce5413939005c0f5a97054e46e967375bc674
4
- data.tar.gz: 9d34f9a22fc45b3d98d18e3b56a50164279e9481
3
+ metadata.gz: 327744f44a919fb6bf042f1d7d3704f896007919
4
+ data.tar.gz: f8477613717572833eab6171ec65febeb74225e9
5
5
  SHA512:
6
- metadata.gz: 0639d4894d7f04bc3ebb51e8f158fb0ef4a49f13afe1744f1c67eeaf2b292a2505c7bb05c8f2cf59ca2450673c906749bc9f300d30d15e91bc1cbce0a3ab5c89
7
- data.tar.gz: 4716e4b9a10484cc944328e58ee0b30639e4983bf1c4ecee0cffe13e68d2c739e378461d9305bc4c76931414a736bfb2a69eb5d55fe51f022f05a39af4c84f9a
6
+ metadata.gz: b1bc9f91c502ffbacecd9d489406141d7fd25744003214cab6b8a5caf72e75be42971abcc67935d47f4c8638ed25a006686b6f7a8cf55980fed70d209a581506
7
+ data.tar.gz: 8b151c0f6db5db6dbe71d8f43cf0db8e81359351a58e0c694c8c0cbdaac6230a00b8db0e2928860ea78ece62abed4378e165fb18f76e1ec9f0e47a2207a7afb8
data/Gemfile CHANGED
@@ -1,8 +1,2 @@
1
1
  source 'https://rubygems.org'
2
-
3
- gem 'rspec'
4
- gem 'guard-rspec'
5
- gem 'terminal-notifier-guard'
6
- gem 'pry-byebug'
7
-
8
2
  gemspec
data/Guardfile CHANGED
@@ -1,7 +1,7 @@
1
1
  # A sample Guardfile
2
2
  # More info at https://github.com/guard/guard#readme
3
3
 
4
- guard :rspec do
4
+ guard :rspec, cmd: "bundle exec rspec" do
5
5
  watch(%r{^spec/.+_spec\.rb$})
6
6
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
7
7
  watch('spec/spec_helper.rb') { "spec" }
data/README.md CHANGED
@@ -28,8 +28,9 @@ Learn how to writing spec in English from local gem's spec-files
28
28
  ## TODO
29
29
 
30
30
  1. Must be Improve performance (It takes 15sec with loading 2500 spec files! )
31
- 2. Make to configurable
32
- 3. Use Regular Expression
31
+ 2. Highlight search phrase
32
+ 3. Make to configurable
33
+ 4. Use Regular Expression
33
34
 
34
35
  ## Contributing
35
36
 
@@ -7,6 +7,13 @@ describe Fake do
7
7
  expect(subject).to be_true
8
8
  end
9
9
  end
10
+
11
+ context "when arguments are valid" do
12
+ it "returns true" do
13
+ expect(subject).to be_true
14
+ end
15
+ end
16
+
10
17
  context "when params are invalid" do
11
18
  it "returns false" do
12
19
  expect(subject).to be_false
@@ -19,27 +19,25 @@ end
19
19
 
20
20
 
21
21
  class Example
22
- attr_reader :path, :all, :describes, :contexts, :its, :results
22
+ attr_reader :path, :name, :describes, :contexts, :its, :results
23
23
 
24
24
  def initialize path
25
25
  raise ('argument must be path to spec file') unless valid?(path)
26
26
  @path = path
27
- @all = open(path).read
27
+ @name = path.match(/^.*gems\/(.*)\/spec\//)[1]
28
28
  @results = []
29
29
  types = %w(describe context it)
30
30
  types.each{|type| self.instance_variable_set("@#{type}s",[])}
31
31
 
32
- @all.each_line do |line|
32
+ open(path).read.each_line do |line|
33
33
  types.each do |type|
34
- examples(type) << line.chomp.strip if line =~ /.*#{type} .* do$/
34
+ if line =~ /.*#{type} .* do$/
35
+ set_example type, line.chomp.strip
36
+ end
35
37
  end
36
38
  end
37
39
  end
38
40
 
39
- def name
40
- @path.match(/^.*gems\/(.*)\/spec\//)[1]
41
- end
42
-
43
41
  def matches word, type
44
42
  if examples(type).any?
45
43
  @results = examples(type).select{|example| example.include? word}
@@ -55,4 +53,8 @@ class Example
55
53
  def valid?(path)
56
54
  Pathname.new(path).exist? and path.include?('spec.rb')
57
55
  end
56
+
57
+ def set_example type, sentence
58
+ examples(type) << sentence unless examples(type).include? sentence
59
+ end
58
60
  end
@@ -1,3 +1,3 @@
1
1
  module RSpex
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -20,5 +20,9 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "rspec", ">= 3"
24
+ spec.add_development_dependency "guard-rspec"
25
+ spec.add_development_dependency "terminal-notifier-guard"
26
+ spec.add_development_dependency "pry-byebug"
23
27
  spec.add_dependency 'thor'
24
28
  end
@@ -15,7 +15,7 @@ describe RSpecExamples do
15
15
 
16
16
  context "Success in Search" do
17
17
  it { expect(@search.first.name).to eq "fakegem-1.0.0" }
18
- it { expect(@search.first.results).to eq ["context \"when params are valid\" do", "context \"when params are invalid\" do"] }
18
+ it { expect(@search.first.results).to eq ["context \"when params are valid\" do", "context \"when arguments are valid\" do", "context \"when params are invalid\" do"] }
19
19
  end
20
20
 
21
21
  context "Fail in Search" do
@@ -33,12 +33,11 @@ describe Example do
33
33
 
34
34
  describe '#attr_reader' do
35
35
  context "with a valid path" do
36
- it { expect(@example.all).to eq "require 'spec_helper'\n\ndescribe Fake do\n describe '.create' do\n context \"when params are valid\" do\n it \"returns true\" do\n expect(subject).to be_true\n end\n end\n context \"when params are invalid\" do\n it \"returns false\" do\n expect(subject).to be_false\n end\n end\n end\nend\n\n" }
37
- it { expect(@example.describes).to have(2).items }
36
+ it { expect(@example.describes.size).to eq(2) }
38
37
  it { expect(@example.describes.first).to eq "describe Fake do" }
39
- it { expect(@example.contexts).to have(2).items }
38
+ it { expect(@example.contexts.size).to eq(3) }
40
39
  it { expect(@example.contexts.first).to eq "context \"when params are valid\" do" }
41
- it { expect(@example.its).to have(2).items }
40
+ it { expect(@example.its.size).to eq(2) }
42
41
  it { expect(@example.its.first).to eq "it \"returns true\" do" }
43
42
  end
44
43
  end
@@ -56,18 +55,30 @@ describe Example do
56
55
  before do
57
56
  @matches = @example.matches(word, type)
58
57
  end
59
- let(:type) { 'context' }
60
58
 
61
- context "Success in match the word" do
62
- let(:word) { 'valid' }
63
- it { expect(@matches).to have(2).items }
64
- it { expect(@example.results).to eq ["context \"when params are valid\" do", "context \"when params are invalid\" do"] }
59
+ context 'When search from "context" sentences' do
60
+ let(:type) { 'context' }
61
+
62
+ context "Success in match the word" do
63
+ let(:word) { 'valid' }
64
+ it { expect(@matches.size).to eq(3) }
65
+ it { expect(@example.results).to eq ["context \"when params are valid\" do", "context \"when arguments are valid\" do", "context \"when params are invalid\" do"] }
66
+ end
67
+
68
+ context "Fail in match the word" do
69
+ let(:word) { 'xxx' }
70
+ it { expect(@matches).to eq(false) }
71
+ it { expect(@example.results).to be_empty }
72
+ end
65
73
  end
66
-
67
- context "Fail in match the word" do
68
- let(:word) { 'xxx' }
69
- it { expect(@matches).to be_false }
70
- it { expect(@example.results).to be_empty }
74
+
75
+ context 'When there are duplicated "it" sentences' do
76
+ let(:type) { 'it' }
77
+ let(:word) { 'true' }
78
+
79
+ it "should be ignore duplicated sentence" do
80
+ expect(@matches).to eq(["it \"returns true\" do"])
81
+ end
71
82
  end
72
83
  end
73
84
  end
metadata CHANGED
@@ -1,56 +1,112 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspex
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daisuke Terada
8
- - '@aq2bq'
8
+ - "@aq2bq"
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-27 00:00:00.000000000 Z
12
+ date: 2014-08-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ~>
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
20
  version: '1.3'
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ~>
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.3'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '3'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '3'
56
+ - !ruby/object:Gem::Dependency
57
+ name: guard-rspec
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: terminal-notifier-guard
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: pry-byebug
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
40
96
  - !ruby/object:Gem::Version
41
97
  version: '0'
42
98
  - !ruby/object:Gem::Dependency
43
99
  name: thor
44
100
  requirement: !ruby/object:Gem::Requirement
45
101
  requirements:
46
- - - '>='
102
+ - - ">="
47
103
  - !ruby/object:Gem::Version
48
104
  version: '0'
49
105
  type: :runtime
50
106
  prerelease: false
51
107
  version_requirements: !ruby/object:Gem::Requirement
52
108
  requirements:
53
- - - '>='
109
+ - - ">="
54
110
  - !ruby/object:Gem::Version
55
111
  version: '0'
56
112
  description: Learn how to writing spec in English from local gem's spec-files
@@ -61,8 +117,8 @@ executables:
61
117
  extensions: []
62
118
  extra_rdoc_files: []
63
119
  files:
64
- - .gitignore
65
- - .rspec
120
+ - ".gitignore"
121
+ - ".rspec"
66
122
  - Gemfile
67
123
  - Guardfile
68
124
  - LICENSE.txt
@@ -86,17 +142,17 @@ require_paths:
86
142
  - lib
87
143
  required_ruby_version: !ruby/object:Gem::Requirement
88
144
  requirements:
89
- - - '>='
145
+ - - ">="
90
146
  - !ruby/object:Gem::Version
91
147
  version: '0'
92
148
  required_rubygems_version: !ruby/object:Gem::Requirement
93
149
  requirements:
94
- - - '>='
150
+ - - ">="
95
151
  - !ruby/object:Gem::Version
96
152
  version: '0'
97
153
  requirements: []
98
154
  rubyforge_project:
99
- rubygems_version: 2.0.3
155
+ rubygems_version: 2.2.2
100
156
  signing_key:
101
157
  specification_version: 4
102
158
  summary: Learn how to writing spec in English from local gem's spec-files