cucumber_factory 1.15.0 → 1.15.1

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: c9be7d49c33814f02f79d18b4a92eb3f5af05de9bd8b8b0a38305e2113763e0c
4
- data.tar.gz: a446cbe7440b4fb9f0841133dd655d1fd332e2eace463297d484fa40d5849ffd
3
+ metadata.gz: dea4a8b653f917a949a4948dc68ca3f30afe967714c1a3296e08e17c18d8640f
4
+ data.tar.gz: 0bfcb630869f9a610a8123c2c8160df90dd940c8bbc8d65b1cdc88269d765f05
5
5
  SHA512:
6
- metadata.gz: 2bb70ead6e5bcb857d6c887ae4b5ec5a1f0b95f93d550c1e90a45c97c2a88f16733f4abf47fa5ded2242400c2e97e40d2a6c70835439b2b273ed290831af236e
7
- data.tar.gz: c5dc17e7f963b9a7c5a0e6d1e128bc5024a5e547737e4f1148e60ee47b3dbf48d7a7db5422e5481ddaae0558092cd7faaa957ea370de233bfc5bff7f94904087
6
+ metadata.gz: 56201d23d93dd5325c94b8c36cf79c0aa735613a2f998e3efce3b3c9136c90df423195449899cc5ff549af528fa67e92c07587e2c3cceffb7ce1a8067d971153
7
+ data.tar.gz: f251f17f0edc4c7ce9f96184c72b515920ca15a44fd3b38ed5509072b718a00663bd7c871edfd7caef643a626df4f56eaaf84839c879c5f767e3452368b37223
data/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
  This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
7
 
8
+ ## Unreleased
9
+
10
+ ### Breaking changes
11
+
12
+ -
13
+
14
+ ### Compatible changes
15
+
16
+ -
17
+
18
+ ## 1.15.1 - 2019-05-30
19
+
20
+ ### Compatible changes
21
+
22
+ - Fix: Allow to use array assignments within a doc string or table assignment
23
+
24
+ Example:
25
+
26
+ ```
27
+ Given there is a post with these attributes:
28
+ |tags| ["urgent", "vip"] |
29
+ ```
30
+
8
31
  ## 1.15.0 - 2019-02-08
9
32
 
10
33
  ### Breaking changes
data/README.md CHANGED
@@ -190,11 +190,11 @@ Development
190
190
 
191
191
  There are tests in `spec`. We only accept PRs with tests. To run tests:
192
192
 
193
- - Install Ruby 2.5.0
193
+ - Install Ruby 2.5.3
194
194
  - Create a local MySQL database `cucumber_factory_test`
195
195
  - Copy `spec/support/database.sample.yml` to `spec/support/database.yml` and enter your local credentials for the test databases
196
196
  - Install development dependencies using `bundle install`
197
- - Run tests with the default symlinked Gemfile using `bundle exec rspec` or explicit with `BUNDLE_GEMFILE=gemfiles/Gemfile.cucumber-x.x bundle exec rspec spec`
197
+ - Run tests with the default symlinked Gemfile using `bundle exec rspec` or explicit with `BUNDLE_GEMFILE=Gemfile.cucumber-x.x bundle exec rspec spec`
198
198
 
199
199
  We recommend to test large changes against multiple versions of Ruby and multiple dependency sets. Supported combinations are configured in `.travis.yml`. We provide some rake tasks to help with this:
200
200
 
@@ -122,13 +122,15 @@ module CucumberFactory
122
122
  raw_multiline_attributes.split("\n").each do |fragment|
123
123
  raw_attribute, value = fragment.split(': ')
124
124
  attribute = attribute_name_from_prose(raw_attribute)
125
- attributes[attribute] = value
125
+ value = "\"#{value}\"" unless matches_fully?(value, VALUE_ARRAY)
126
+ attributes[attribute] = attribute_value(world, model_class, attribute, value)
126
127
  end
127
128
  # DataTable e.g. in raw [["first name", "Jane"], ["last name", "Jenny"]]
128
129
  else
129
130
  raw_multiline_attributes.raw.each do |raw_attribute, value|
130
131
  attribute = attribute_name_from_prose(raw_attribute)
131
- attributes[attribute] = value
132
+ value = "\"#{value}\"" unless matches_fully?(value, VALUE_ARRAY)
133
+ attributes[attribute] = attribute_value(world, model_class, attribute, value)
132
134
  end
133
135
  end
134
136
  end
@@ -1,3 +1,3 @@
1
1
  module CucumberFactory
2
- VERSION = '1.15.0'
2
+ VERSION = '1.15.1'
3
3
  end
@@ -391,6 +391,15 @@ name: Jane
391
391
  user.email.should == "test@invalid.com"
392
392
  end
393
393
 
394
+ it "should allow to set array attributes via doc string" do
395
+ invoke_cucumber_step('there is a plain Ruby class with these attributes:', <<-DOC_STRING)
396
+ tags: ["foo", "bar"]
397
+ DOC_STRING
398
+
399
+ obj = PlainRubyClass.last
400
+ obj.attributes[:tags].should == ['foo', 'bar']
401
+ end
402
+
394
403
  it "should allow to set attributes via data table" do
395
404
  user = User.new
396
405
  User.stub(:new => user)
@@ -416,4 +425,13 @@ name: Jane
416
425
  user.email.should == "test@invalid.com"
417
426
  end
418
427
 
428
+ it "should allow to set array attributes via data table" do
429
+ invoke_cucumber_step('there is a plain Ruby class with these attributes:', nil, <<-DATA_TABLE)
430
+ | tags | ["foo", "bar"] |
431
+ DATA_TABLE
432
+
433
+ obj = PlainRubyClass.last
434
+ obj.attributes[:tags].should == ['foo', 'bar']
435
+ end
436
+
419
437
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber_factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.0
4
+ version: 1.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henning Koch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-08 00:00:00.000000000 Z
11
+ date: 2019-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -134,8 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  requirements: []
137
- rubyforge_project:
138
- rubygems_version: 2.7.6
137
+ rubygems_version: 3.0.3
139
138
  signing_key:
140
139
  specification_version: 4
141
140
  summary: Create records from Cucumber features without writing step definitions.