r_spec 1.0.2 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +24 -20
- data/lib/r_spec.rb +11 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62fb03cef02c1ded01565449d789f1e0600c1942687fd96a224fffde5f32ba6b
|
4
|
+
data.tar.gz: 17504b31f2bf301edc890e23685f5ab7a994d32ba187d2544bc164ba14219f18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 962911333c7a828d9c6d30395ed8d5d06425fc0c5b9a79c96b7475872fc79c240442610f6a109f926423f403f235eab44533898fcf0f64391a82cfcf4dbcf0ba
|
7
|
+
data.tar.gz: 1e099029eb5160d8469ba818bd23ee183d839f3a5b755737fc17a378af0d2e118ceae8b49c4c152694838a0c7f488ac47215ea294606cc22e2e8b8b19e3d5291
|
data/README.md
CHANGED
@@ -1,29 +1,19 @@
|
|
1
|
-
# RSpec (
|
1
|
+
# RSpec clone [![Home](https://img.shields.io/badge/Home-r--spec.dev-00af8b)](https://r-spec.dev/)
|
2
2
|
|
3
3
|
> A small [RSpec](https://github.com/rspec) clone based on [Fix testing tools for Ruby](https://github.com/fixrb).
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
:warning: Important:
|
5
|
+
## Warning ⚠️
|
8
6
|
|
9
7
|
I'd like to avoid confusion in the Ruby community by emphasizing that the gem of this project is not [rspec](https://rubygems.org/gems/rspec) but [r_spec](https://rubygems.org/gems/r_spec).
|
10
8
|
|
11
9
|
The [r_spec](https://rubygems.org/gems/r_spec) gem is a minimalist and personal reimplementation of the popular RSpec framework. My reimplementation is therefore independent of the original RSpec project.
|
12
10
|
|
11
|
+
![On the job](https://github.com/cyril/r_spec-clone.rb/raw/main/img/on-the-job.jpg)
|
12
|
+
|
13
13
|
For the purpose of the DSL reimplementation, I have kept the same `RSpec` module name, and following the [Ruby gems naming convention](https://guides.rubygems.org/name-your-gem/#use-underscores-for-multiple-words), I called its gem [r_spec](https://rubygems.org/gems/r_spec).
|
14
14
|
|
15
15
|
However, to go further and explicitly indicate that this reimplementation is a clone, I have grouped all the code in a `RSpec::Clone` submodule within its [r_spec-clone](https://rubygems.org/gems/r_spec-clone) gem.
|
16
16
|
|
17
|
-
***
|
18
|
-
|
19
|
-
## Status
|
20
|
-
|
21
|
-
[![Version](https://img.shields.io/github/v/tag/cyril/r_spec.rb?label=Version&logo=github)](https://github.com/cyril/r_spec.rb/releases)
|
22
|
-
[![Yard documentation](https://img.shields.io/badge/Yard-documentation-blue.svg?logo=github)](https://rubydoc.info/github/cyril/r_spec.rb/main)
|
23
|
-
[![CI](https://github.com/cyril/r_spec.rb/workflows/CI/badge.svg?branch=main)](https://github.com/cyril/r_spec.rb/actions?query=workflow%3Aci+branch%3Amain)
|
24
|
-
[![RuboCop](https://github.com/cyril/r_spec.rb/workflows/RuboCop/badge.svg?branch=main)](https://github.com/cyril/r_spec.rb/actions?query=workflow%3Arubocop+branch%3Amain)
|
25
|
-
[![License](https://img.shields.io/github/license/cyril/r_spec.rb?label=License&logo=github)](https://github.com/cyril/r_spec.rb/raw/main/LICENSE.md)
|
26
|
-
|
27
17
|
## Why did I redid that?
|
28
18
|
|
29
19
|
An urge to simplify the RSpec DSL and reduce the complexity of the code that implements it, and nothing better to do during a stay in Tokyo.
|
@@ -48,11 +38,23 @@ Or install it yourself as:
|
|
48
38
|
gem install r_spec
|
49
39
|
```
|
50
40
|
|
51
|
-
##
|
41
|
+
## Update
|
52
42
|
|
53
43
|
All the code is centralized in the `RSpec::Clone` module, whose source code is versioned at <https://github.com/cyril/r_spec-clone.rb>.
|
54
44
|
|
55
|
-
|
45
|
+
To download the latest updates of the [r_spec-clone](https://rubygems.org/gems/r_spec-clone) gem, this command can be executed:
|
46
|
+
|
47
|
+
```sh
|
48
|
+
bundle update r_spec
|
49
|
+
```
|
50
|
+
|
51
|
+
Or update it yourself as:
|
52
|
+
|
53
|
+
```sh
|
54
|
+
gem update r_spec
|
55
|
+
```
|
56
|
+
|
57
|
+
## Usage
|
56
58
|
|
57
59
|
Let's imagine a `string_hello_world_spec.rb` file that contains this code:
|
58
60
|
|
@@ -94,10 +96,12 @@ ruby string_hello_world_spec.rb
|
|
94
96
|
|
95
97
|
The report of the execution should be:
|
96
98
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
99
|
+
```txt
|
100
|
+
string_hello_world_spec.rb:19
|
101
|
+
Success: expected to eq "Hello, Alice!".
|
102
|
+
string_hello_world_spec.rb:25
|
103
|
+
Success: expected to eq "Hello, Bob!".
|
104
|
+
```
|
101
105
|
|
102
106
|
## External links
|
103
107
|
|
data/lib/r_spec.rb
CHANGED
@@ -1,6 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Top level namespace for the RSpec clone.
|
4
|
+
#
|
5
|
+
# @example The true from the false
|
6
|
+
# require "r_spec"
|
7
|
+
#
|
8
|
+
# RSpec.describe "The true from the false" do
|
9
|
+
# it { expect(false).not_to be true }
|
10
|
+
# end
|
11
|
+
#
|
12
|
+
# # Output to the console
|
13
|
+
# # Success: expected false not to be true.
|
14
|
+
#
|
4
15
|
# @see https://github.com/cyril/r_spec-clone.rb
|
5
16
|
module RSpec
|
6
17
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r_spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyril Kato
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: r_spec-clone
|
@@ -163,8 +163,8 @@ homepage: https://r-spec.dev/
|
|
163
163
|
licenses:
|
164
164
|
- MIT
|
165
165
|
metadata:
|
166
|
-
bug_tracker_uri: https://github.com/cyril/r_spec.rb/issues
|
167
|
-
source_code_uri: https://github.com/cyril/r_spec.rb
|
166
|
+
bug_tracker_uri: https://github.com/cyril/r_spec-clone.rb/issues
|
167
|
+
source_code_uri: https://github.com/cyril/r_spec-clone.rb
|
168
168
|
rubygems_mfa_required: 'true'
|
169
169
|
post_install_message:
|
170
170
|
rdoc_options: []
|
@@ -174,14 +174,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
174
174
|
requirements:
|
175
175
|
- - ">="
|
176
176
|
- !ruby/object:Gem::Version
|
177
|
-
version:
|
177
|
+
version: 2.7.0
|
178
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
179
|
requirements:
|
180
180
|
- - ">="
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '0'
|
183
183
|
requirements: []
|
184
|
-
rubygems_version: 3.2
|
184
|
+
rubygems_version: 3.1.2
|
185
185
|
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: A minimalist RSpec clone
|