pickle 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,14 @@
1
+ == 0.4.4
2
+ large object space fix, and allow escaped quotes as string values
3
+
4
+ * 1 bugfix
5
+ * When using super-huge GC limits (for speeding up tests), occasionally we'll see abandoned Mongoid::Document classes appear in the ObjectSpace.
6
+ This patch should fix that. [Devin Walters and Nick Karpenske]
7
+
8
+ * 1 improvement
9
+ * allow escaped quotes (\") in quoted fields [Jonathan Hinkle]
10
+
11
+
1
12
  == 0.4.3
2
13
  ruby 1.9.2 compatibility fix
3
14
 
@@ -347,6 +347,8 @@ To run the features (rails 2.3 only ATM):
347
347
 
348
348
  The following people have made Pickle better:
349
349
 
350
+ * {Jonathan Hinkle}[http://github.com/hynkle]
351
+ * {Devin Walters and Nick Karpenske}[http://github.com/bendyworks]
350
352
  * {Marc Lee}[http://github.com/maleko]
351
353
  * {Sebastian Zuchmanski}[http://github.com/sebcioz]
352
354
  * {Paul Gideon Dann}[http://github.com/giddie]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.3
1
+ 0.4.4
@@ -16,6 +16,10 @@ Feature: I can easily create models from my blueprints
16
16
  Then a user should exist with name: "Fred"
17
17
  And a user should exist with status: "crayzee"
18
18
  But a user should not exist with name: "Wilma"
19
+
20
+ Scenario: I create a user with quotes in its status, and see if it looks right
21
+ Given a user exists with name: "Fred", status: "a little \"off\""
22
+ Then a user should exist with status: "a little \"off\""
19
23
 
20
24
  Scenario: I create a user via a mapping
21
25
  Given I exist with status: "pwned", name: "fred"
@@ -43,19 +47,22 @@ Feature: I can easily create models from my blueprints
43
47
 
44
48
  Scenario: create and find using tables
45
49
  Given the following users exist:
46
- | name | status |
47
- | Jim | married |
48
- | Ethel | in a relationship with x |
50
+ | name | status |
51
+ | Jim | married |
52
+ | Ethel | in a relationship with x |
53
+ | Garvin | in an "open" relationship |
49
54
  Then the following users should exist:
50
- | name |
51
- | Jim |
52
- | Ethel |
55
+ | name |
56
+ | Jim |
57
+ | Ethel |
58
+ | Garvin |
53
59
  And the following users should exist:
54
- | status |
55
- | married |
56
- | in a relationship with x |
57
- And the 1st user should be the 3rd user
58
- And the 2nd user should be the last user
60
+ | status |
61
+ | married |
62
+ | in a relationship with x |
63
+ | in an "open" relationship |
64
+ And the 1st user should be the 4th user
65
+ And the 3rd user should be the last user
59
66
 
60
67
  Scenario: create and find using tables with referencable names
61
68
  Given the following users exist:
@@ -17,7 +17,7 @@ module Mongoid
17
17
 
18
18
  # get a list of column names for a given class
19
19
  def self.column_names(klass)
20
- klass.fields.keys
20
+ klass.try(:fields).try(:keys) || []
21
21
  end
22
22
 
23
23
  # Get an instance by id of the model
@@ -14,7 +14,7 @@ module Pickle
14
14
  end
15
15
 
16
16
  def match_quoted
17
- '(?:[^\\"]|\\.)*'
17
+ '(?:\\\\"|[^\\"]|\\.)*'
18
18
  end
19
19
 
20
20
  def match_label
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{pickle}
8
- s.version = "0.4.3"
8
+ s.version = "0.4.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ian White"]
12
- s.date = %q{2010-11-04}
12
+ s.date = %q{2010-12-14}
13
13
  s.description = %q{Easy model creation and reference in your cucumber features}
14
14
  s.email = %q{ian.w.white@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -41,7 +41,7 @@ describe Pickle::Parser::Matchers do
41
41
  atom_should_match :match_label, [': "gday"', ': "gday mate"']
42
42
  atom_should_not_match :match_label, [': "gday""', ': gday']
43
43
 
44
- atom_should_match :match_field, ['foo: "this is the life"', 'bar_man: "and so is this"', 'boolean: false', 'boolean: true', 'numeric: 10', 'numeric: 12.5', 'numeric: +10', 'numeric: +12.5', 'numeric: -10', 'numeric: -12.5', 'nil_field: nil']
44
+ atom_should_match :match_field, ['foo: "this is the life"', 'bar_man: "and so is this"', 'quoted_baz: "words \"in quotes\""', 'boolean: false', 'boolean: true', 'numeric: 10', 'numeric: 12.5', 'numeric: +10', 'numeric: +12.5', 'numeric: -10', 'numeric: -12.5', 'nil_field: nil']
45
45
  atom_should_not_match :match_field, ['foo bar: "this aint workin"', 'not_numeric: --10', 'not_numeric: -ten']
46
46
 
47
47
  atom_should_match :match_fields, ['foo: "bar"', 'foo: "bar", baz: "bah"']
@@ -53,6 +53,10 @@ describe Pickle::Parser do
53
53
  it '(\'foo: "bar"\') should == { "foo" => "bar"}' do
54
54
  @parser.parse_fields('foo: "bar"').should == { "foo" => "bar"}
55
55
  end
56
+
57
+ it '(\'foo: "something \"quoted\""\') should == { "foo" => "bar"}' do
58
+ @parser.parse_fields('foo: "something \"quoted\""').should == { "foo" => 'something "quoted"' }
59
+ end
56
60
 
57
61
  it '("bool: true") should == { "bool" => true}' do
58
62
  @parser.parse_fields('bool: true').should == {"bool" => true}
@@ -70,8 +74,8 @@ describe Pickle::Parser do
70
74
  @parser.parse_fields('float: 10.1').should == {"float" => 10.1}
71
75
  end
72
76
 
73
- it '(\'foo: "bar", bar_man: "wonga wonga", gump: 123\') should == {"foo" => "bar", "bar_man" => "wonga wonga", "gump" => 123}' do
74
- @parser.parse_fields('foo: "bar", bar_man: "wonga wonga", gump: 123').should == {"foo" => "bar", "bar_man" => "wonga wonga", "gump" => 123}
77
+ it '(\'foo: "bar", bar_man: "wonga wonga", baz_woman: "one \"two\" three", gump: 123\') should == {"foo" => "bar", "bar_man" => "wonga wonga", "gump" => 123}' do
78
+ @parser.parse_fields('foo: "bar", bar_man: "wonga wonga", baz_woman: "one \"two\" three", gump: 123').should == {"foo" => "bar", "bar_man" => "wonga wonga", "baz_woman" => "one \"two\" three", "gump" => 123}
75
79
  end
76
80
  end
77
81
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pickle
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 7
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 3
10
- version: 0.4.3
9
+ - 4
10
+ version: 0.4.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ian White
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-04 00:00:00 +00:00
18
+ date: 2010-12-14 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency