uspec 1.0.1 → 1.0.2

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
2
  SHA256:
3
- metadata.gz: 11c5e0a54306aeafdf5547c71c02c3ed64fabc60f068bff1d6d395cc1fac11b3
4
- data.tar.gz: 918d6e06e01c9c0541a410d9ecc5aad0a7c7f416c0532d533f461383dfad70d4
3
+ metadata.gz: c6763c9a1b9995386967bfb824889265c9bee560a86012728055bb107a4dd910
4
+ data.tar.gz: 74912e14810a2b03d596addcb14fe3696cd79efd3f8c104c49a4d65055aaca87
5
5
  SHA512:
6
- metadata.gz: 46c2d5c8833632e28692a834c664a3947e21f8a0049133b99b409282eecaafa7d4e2ce2b6247e24bd625d8924f80634f6343c2013ce1b73789fcdd631ecd7075
7
- data.tar.gz: 79fc6300bf5e09df01a0cfce23aca9514d58e571f222a0843f9e68c948a48550add600eb75fd429eefeccaeb81d48ca95cb3da2ee7f66fcb3eed3b28e962e903
6
+ metadata.gz: ead8cbbee34c75b337685d1c3533c6129d39d870cd9abf94b7365317760f6c42aeab6a7d30749fab352139c947669514c2870d3542bbcd1e2160e020f5574fcc
7
+ data.tar.gz: cfa24d4154e3b0a95257cd544fa45451c551e460cb3a7f6ac995c3446a1a09623729d03843c41bace49adfda04ea1a58e42cb1eb62e431a4e149d83afaa85e13
data/.circleci/config.yml CHANGED
@@ -4,8 +4,6 @@ orbs:
4
4
 
5
5
  jobs:
6
6
  build:
7
- docker:
8
- - image: circleci/ruby:2.6.3-stretch-node
9
7
  executor: ruby/default
10
8
  steps:
11
9
  - checkout
@@ -13,9 +11,6 @@ jobs:
13
11
  name: Which bundler?
14
12
  command: bundle -v
15
13
  - ruby/bundle-install
16
- test:
17
- executor: ruby/default
18
- steps:
19
14
  - run:
20
15
  name: Uspec tests
21
16
  command: bundle exec uspec
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.7
1
+ 3.0.1
data/README.markdown CHANGED
@@ -24,7 +24,7 @@ This also means *no monkey patching* core classes!
24
24
  Uspec's output is in beautiful ansi technicolor,
25
25
  with red for failures, green for successes, and yellow for pending specs. Here's a screenshot:
26
26
 
27
- ![Screenshot!](http://i.imgur.com/M2F5YvO.png)
27
+ ![Screenshot!](https://i.imgur.com/Baqggck.png)
28
28
 
29
29
  Uspec is tiny, painless, and easy to use. Download it and give it a try!
30
30
 
@@ -90,7 +90,7 @@ A brief explanation of `uspec`'s output to show you what it can do!
90
90
 
91
91
  ### Success
92
92
 
93
- If a spec passes:
93
+ If a spec passes (returns true):
94
94
 
95
95
  ```
96
96
  -- AwesomeMcCoolname.generate creates a cool name: true
@@ -98,7 +98,7 @@ If a spec passes:
98
98
 
99
99
  ### Failure
100
100
 
101
- If a spec fails:
101
+ If a spec fails (returns false):
102
102
 
103
103
  ```
104
104
  -- AwesomeMcCoolname.generate creates a cool name: false
@@ -106,13 +106,13 @@ If a spec fails:
106
106
 
107
107
  ### Exception
108
108
 
109
- If the spec throws an error:
109
+ If the spec encounters an error (raises an Exception):
110
110
 
111
111
  ```
112
112
  -- AwesomeMcCoolname.generate creates a cool name: Exception
113
113
 
114
114
  Encountered an Exception while running spec
115
- at uspec/awesome_mc_coolname_spec.rb:3: in `<main>'
115
+ in spec at uspec/awesome_mc_coolname_spec.rb:3: in `<main>'
116
116
 
117
117
  RuntimeError < StandardError: 'wtf'
118
118
 
@@ -130,13 +130,13 @@ spec 'AwesomeMcCoolname.generate creates a cool name' do
130
130
  end
131
131
  ```
132
132
 
133
- Then Uspec will let you know:
133
+ Then Uspec will let you know so you can debug it:
134
134
 
135
135
  ```ruby
136
- -- AwesomeMcCoolname.generate creates a badass name: Unknown Result
136
+ -- AwesomeMcCoolname.generate creates a badass name: Failed
137
137
 
138
138
  Spec did not return a boolean value
139
- at uspec/awesome_mc_coolname_spec.rb:6: in `<main>'
139
+ in spec at uspec/awesome_mc_coolname_spec.rb:6: in `<main>'
140
140
 
141
141
  Integer < Numeric: 5
142
142
  ```
@@ -206,45 +206,6 @@ Mocks, Spies, Stubs, and More!
206
206
 
207
207
  Since `uspec` is a very straight forward testing utility it is easy to use any of the standard Ruby mocking frameworks with it. However, the [Impasta gem](https://github.com/acook/impasta) was made specifically for simple but comprehensive mocking, stubbing, and spying.
208
208
 
209
- Assertions & Debugging
210
- ----------------------
211
-
212
- You can also use `uspec` to track assertions in an application or any object you want. Every spec block you use will be tracked and recorded. It's really no problem at all to do.
213
-
214
- You can load Uspec's features directly into a class and use its DSL:
215
-
216
- ```ruby
217
- require 'uspec'
218
-
219
- class MyFoo
220
- extend Uspec::DSL
221
-
222
- def assert
223
- spec 'foo is valid' do
224
- false
225
- end
226
- end
227
- end
228
-
229
- MyFoo.new.assert
230
- ```
231
-
232
- Assertions will be displayed as they occur, success or failure along with any informative output.
233
- If there are any specs that fail, when your application exits its error code will equal the number of failures.
234
-
235
- ```
236
- $ ruby foo.rb
237
- -- foo is valid: false
238
- $ echo $?
239
- 1
240
- ```
241
-
242
- Uspec is just Ruby
243
- ------------------
244
-
245
- If for some reason you don't want to use the `uspec` command, you can `require 'uspec'` and `extend Uspec::DSL`.
246
- From there you can just run the file with ruby: `ruby my_test_spec.rb`
247
-
248
209
  Contributing
249
210
  ------------
250
211
 
@@ -257,4 +218,4 @@ Contributing
257
218
  Author
258
219
  ------
259
220
 
260
- > Anthony M. Cook 2013-2020
221
+ > Anthony M. Cook 2013-2021
data/lib/uspec/dsl.rb CHANGED
@@ -33,7 +33,7 @@ module Uspec
33
33
  if result.success?
34
34
  __uspec_stats.success << result
35
35
  elsif result.pending?
36
- stats.pending << result
36
+ __uspec_stats.pending << result
37
37
  else
38
38
  __uspec_stats.failure << result
39
39
  end
data/lib/uspec/result.rb CHANGED
@@ -33,7 +33,7 @@ module Uspec
33
33
  red('Failed'), vspace,
34
34
  hspace, 'Spec did not return a boolean value ', newline,
35
35
  hspace, 'in spec at ', source.first, vspace,
36
- hspace, red(subklassinfo), inspector, newline
36
+ hspace, red(subklassinfo), inspector, (Class === raw ? ' Class' : ''), newline
37
37
  ].join
38
38
  end
39
39
  end
data/lib/uspec/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Uspec
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
data/uspec/cli_spec.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require_relative 'uspec_helper'
2
- require 'open3'
3
2
 
4
3
  spec 'shows usage' do
5
4
  output = capture do
@@ -9,6 +8,8 @@ spec 'shows usage' do
9
8
  output.include? 'usage'
10
9
  end
11
10
 
11
+ spec 'pending test doesn\'t crash'
12
+
12
13
  spec 'runs a path of specs' do
13
14
  output = capture do
14
15
  path = Pathname.new(__FILE__).parent.parent.join('example_specs').to_s
data/uspec/result_spec.rb CHANGED
@@ -13,7 +13,7 @@ end
13
13
  class ::TestObject < BasicObject; end
14
14
  obj = TestObject.new
15
15
 
16
- spec "ensure BasicObject subclasses work" do
16
+ spec "ensure BasicObject subclass instances work" do
17
17
  result = Uspec::Result.new "BasicObject Subclass Result", obj, []
18
18
  expected = "#<BasicObject/TestObject:"
19
19
  actual = result.pretty
@@ -22,7 +22,7 @@ end
22
22
 
23
23
  spec "display basic info about Object" do
24
24
  result = Uspec::Result.new "Object Result", Object.new, []
25
- expected = "Object < BasicObject"
25
+ expected = "Object < BasicObject: \e[0m#<Object:"
26
26
  actual = result.pretty
27
27
  actual.include?(expected) || result.pretty
28
28
  end
@@ -36,8 +36,7 @@ end
36
36
 
37
37
  spec "display basic info about Array class" do
38
38
  result = Uspec::Result.new "Array Class Result", Array, []
39
- #expected = "Class < ???" # TODO: Make classes display nicer in TOISB
40
- expected = "#<Class:Object> < #<Class:BasicObject>: \e[0mArray"
39
+ expected = "Class < Module: \e[0mArray Class"
41
40
  actual = result.pretty
42
41
  actual.include?(expected) || result.pretty
43
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony M. Cook
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-25 00:00:00.000000000 Z
11
+ date: 2021-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: that_object_is_so_basic
@@ -107,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  requirements: []
110
- rubygems_version: 3.0.4
110
+ rubygems_version: 3.2.15
111
111
  signing_key:
112
112
  specification_version: 4
113
113
  summary: a shiny little spec framework for your apps!