specifier 0.3.0 → 0.5.0

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
- SHA1:
3
- metadata.gz: 420afdf0f30af8667f11814e760c70b0a6ff0379
4
- data.tar.gz: 4a30ea973b6758e504197d7cbd1fd532237f42f9
2
+ SHA256:
3
+ metadata.gz: ce389cfea3d7b6da8cbc114ec2667c0206e46673474591fc281e828af4971aae
4
+ data.tar.gz: 58605667b4f6a4cdc1354c56582e9533f46fb6af2ee037ee12d8fd49346eaf3d
5
5
  SHA512:
6
- metadata.gz: bf41052dfff58f36920bb0352a66560c6f898c3148366695a33ba0aea22c89bb4d823439bed7402555c5b4c71d9bb6c16529cca9e8e60bd8c4bcc77d89439ef8
7
- data.tar.gz: 5a8d91a61e57734642a1e313b15f0b8657baa3557a4ab78255d78c65f7971daea7ded86cd97e0ae4f2bda2ffdf98fa410b4a5a4d1d6c52268ff592b4ed364314
6
+ metadata.gz: 5ab399483fff009972c98e6aefb4b4cb8e083d22e37b29da3b4873f3cbb6bdaccd947017bc4efb1d2618b95940e5e4accbffa3960f88738f6c0f8225587aedeb
7
+ data.tar.gz: 46d70f55fd6c0c0db94bd2c007db2f1e86111e206cc50d84c8c786a3153007c58e351580a8a84684c98255e88a2fadc4a927d6805c79478a40711883edf0b35f
data/README.md CHANGED
@@ -36,11 +36,15 @@ bundle exec specifier ./specs
36
36
 
37
37
  ## Status
38
38
 
39
- [![travis](https://img.shields.io/travis/ksylvest/specifier.svg)](https://travis-ci.org/ksylvest/specifier)
40
- [![gemnasium](https://img.shields.io/gemnasium/ksylvest/specifier.svg)](https://gemnasium.com/ksylvest/specifier)
41
- [![coveralls](https://img.shields.io/coveralls/ksylvest/specifier.svg)](https://coveralls.io/r/ksylvest/specifier)
42
- [![codeclimate](https://img.shields.io/codeclimate/github/ksylvest/specifier.svg)](https://codeclimate.com/github/ksylvest/specifier)
39
+ [![CircleCI](https://circleci.com/gh/ksylvest/specifier.svg?style=svg)](https://circleci.com/gh/ksylvest/specifier)
40
+
41
+ [![CodeClimate (Maintainability)](https://api.codeclimate.com/v1/badges/391d09bf5fb4a6be19e2/maintainability)](https://codeclimate.com/github/ksylvest/specifier/maintainability)
42
+ [![CodeClimate (Test Coverage)](https://api.codeclimate.com/v1/badges/391d09bf5fb4a6be19e2/test_coverage)](https://codeclimate.com/github/ksylvest/specifier/test_coverage)
43
+
44
+ [![Gemnasium](https://gemnasium.com/badges/github.com/ksylvest/specifier.svg)](https://gemnasium.com/github.com/ksylvest/specifier)
45
+
46
+
43
47
 
44
48
  ## Copyright
45
49
 
46
- Copyright (c) 2016 - 2017 Kevin Sylvestre. See LICENSE for details.
50
+ Copyright (c) 2016 - 2018 Kevin Sylvestre. See LICENSE for details.
@@ -14,15 +14,10 @@ module Specifier
14
14
  config = Slop.parse(items) do |options|
15
15
  options.banner = BANNER
16
16
 
17
- options.on '-h', '--help', 'help' do
18
- return help(options)
19
- end
20
-
21
- options.on '-v', '--version', 'version' do
22
- return version
23
- end
17
+ options.on('-h', '--help', 'help') { return help(options) }
18
+ options.on('-v', '--version', 'version') { return version }
24
19
 
25
- options.string '-f', '--formatter', 'formatter', default: Specifier::Formatter::DEFAULT
20
+ options.string('-f', '--formatter', 'formatter', default: Specifier::Formatter::DEFAULT)
26
21
  end
27
22
 
28
23
  run(config)
@@ -21,9 +21,11 @@ module Specifier
21
21
  attr_accessor :description
22
22
 
23
23
  def self.setup(description, parent = nil, &block)
24
- context = Context.new(description, &block)
25
- context.parent = parent
26
- parent.children << context if parent
24
+ context = new(description, &block)
25
+ if parent
26
+ context.parent = parent
27
+ parent.children << context
28
+ end
27
29
  context.instance_eval(&block)
28
30
  context
29
31
  end
@@ -24,8 +24,8 @@ module Specifier
24
24
  def run(world)
25
25
  world.instance_eval(&@block)
26
26
  return Result.new(:pass)
27
- rescue Specifier::Expectation::Miss => miss
28
- return Result.new(:fail, miss.message)
27
+ rescue StandardError => message
28
+ return Result.new(:fail, message)
29
29
  end
30
30
 
31
31
  end
@@ -1,17 +1,13 @@
1
1
  module Specifier
2
-
3
2
  # Configures an expectation (used for expect statements).
4
3
  #
5
4
  # Usage:
6
5
  #
7
6
  # expectation = Specifier::Expectation.new("today")
8
- # expectation.to(matcher) # 'raises 'Miss'
7
+ # expectation.to(matcher) # 'raises 'ToError'
9
8
  #
10
9
  class Expectation
11
- class Miss < StandardError
12
- def initialize(message)
13
- @message = message
14
- end
10
+ class MatcherError < StandardError
15
11
  end
16
12
 
17
13
  def initialize(value)
@@ -19,7 +15,7 @@ module Specifier
19
15
  end
20
16
 
21
17
  def to(matcher)
22
- raise Miss, matcher.message unless matcher.match?(@value)
18
+ raise MatcherError, matcher.message unless matcher.match?(@value)
23
19
  end
24
20
  end
25
21
  end
@@ -14,6 +14,8 @@ module Specifier
14
14
  class Documentation < Base
15
15
  INDENTATION = ' '.freeze
16
16
  NAME = 'documentation'.freeze
17
+ PASS = '[PASS]'.freeze
18
+ FAIL = '[FAIL]'.freeze
17
19
 
18
20
  Formatter.formatters[NAME] = self
19
21
 
@@ -27,8 +29,8 @@ module Specifier
27
29
 
28
30
  message =
29
31
  case result.status
30
- when :pass then Colorizer.passed(indent(example.description))
31
- when :fail then Colorizer.failed(indent(example.description))
32
+ when :pass then Colorizer.passed(indent("#{PASS} #{example.description}"))
33
+ when :fail then Colorizer.failed(indent("#{FAIL} #{example.description}"))
32
34
  end
33
35
 
34
36
  @logger.log(message)
@@ -7,18 +7,6 @@ module Specifier
7
7
  # Specifier.logger.log("...")
8
8
  #
9
9
  class Logger
10
- module Color
11
- BLACK = 0
12
- RED = 1
13
- GREEN = 2
14
- YELLOW = 3
15
- end
16
-
17
- module Formatting
18
- DEFAULT = 0
19
- BOLD = 1
20
- ITALIC = 3
21
- end
22
10
 
23
11
  def initialize(stream = STDOUT)
24
12
  @stream = stream
@@ -1,3 +1,3 @@
1
1
  module Specifier
2
- VERSION = '0.3.0'.freeze
2
+ VERSION = '0.5.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sylvestre
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-05 00:00:00.000000000 Z
11
+ date: 2018-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slop
@@ -80,6 +80,34 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec_junit_formatter
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: simplecov
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +122,7 @@ dependencies:
94
122
  - - ">="
95
123
  - !ruby/object:Gem::Version
96
124
  version: '0'
97
- description: Thi should probably never be used.
125
+ description: This should probably never be used.
98
126
  email:
99
127
  - kevin@ksylvest.com
100
128
  executables:
@@ -146,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
174
  version: '0'
147
175
  requirements: []
148
176
  rubyforge_project:
149
- rubygems_version: 2.6.11
177
+ rubygems_version: 2.7.3
150
178
  signing_key:
151
179
  specification_version: 4
152
180
  summary: A testing framework written for fun.