mirror of
https://gitea.invidious.io/iv-org/shard-spectator.git
synced 2024-08-15 00:53:35 +00:00
Explicit "provided" block description
Implements https://gitlab.com/arctic-fox/spectator/-/issues/69
This commit is contained in:
parent
01f9499828
commit
315a318d7d
2 changed files with 17 additions and 4 deletions
|
@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
### Added
|
||||||
|
- Description of a `provided` example can be set by using `it` as an argument. [#69](https://gitlab.com/arctic-fox/spectator/-/issues/69)
|
||||||
|
|
||||||
## [0.10.2] - 2021-10-22
|
## [0.10.2] - 2021-10-22
|
||||||
### Fixed
|
### Fixed
|
||||||
- Fix usage of `be ===` and `be =~` [#34](https://github.com/icy-arctic-fox/spectator/issues/34)
|
- Fix usage of `be ===` and `be =~` [#34](https://github.com/icy-arctic-fox/spectator/issues/34)
|
||||||
|
|
|
@ -14,8 +14,9 @@ module Spectator::DSL
|
||||||
# Tags and metadata cannot be used with this macro.
|
# Tags and metadata cannot be used with this macro.
|
||||||
#
|
#
|
||||||
# ```
|
# ```
|
||||||
# given x = 42 do
|
# provided x = 42, y: 123 do
|
||||||
# expect(x).to eq(42)
|
# expect(x).to eq(42)
|
||||||
|
# expect(y).to eq(123)
|
||||||
# end
|
# end
|
||||||
# ```
|
# ```
|
||||||
macro provided(*assignments, **kwargs, &block)
|
macro provided(*assignments, **kwargs, &block)
|
||||||
|
@ -26,13 +27,21 @@ module Spectator::DSL
|
||||||
let({{assignment.target}}) { {{assignment.value}} }
|
let({{assignment.target}}) { {{assignment.value}} }
|
||||||
{% end %}
|
{% end %}
|
||||||
{% for name, value in kwargs %}
|
{% for name, value in kwargs %}
|
||||||
let({{name}}) { {{value}} }
|
{% if name != :it %}let({{name}}) { {{value}} }{% end %}
|
||||||
{% end %}
|
{% end %}
|
||||||
|
|
||||||
{% if block %}
|
{% if block %}
|
||||||
example {{block}}
|
{% if description = kwargs[:it] %}
|
||||||
|
example {{description}} {{block}}
|
||||||
|
{% else %}
|
||||||
|
example {{block}}
|
||||||
|
{% end %}
|
||||||
{% else %}
|
{% else %}
|
||||||
example {{assignments.splat.stringify}}
|
{% if description = kwargs[:it] %}
|
||||||
|
example {{description}} {{block}}
|
||||||
|
{% else %}
|
||||||
|
example {{assignments.splat.stringify}}
|
||||||
|
{% end %}
|
||||||
{% end %}
|
{% end %}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue