specifier 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.