palsy 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md ADDED
@@ -0,0 +1,6 @@
1
+ * 0.0.2 - February 23, 2003
2
+ * if Palsy::List is put into a situation where it will try to replace itself
3
+ with an empty array, it would generate a SQL syntax error.
4
+ * Fixes for unit testing / build environment
5
+ * 0.0.1 - February 10, 2003
6
+ * Initial Release
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in palsy.gemspec
4
4
  gemspec
5
+
6
+ gem 'guard-rake', :git => "https://github.com/erikh/guard-rake", :branch => "failure_ok"
data/Guardfile ADDED
@@ -0,0 +1,10 @@
1
+ # vim: ft=ruby
2
+ guard 'minitest' do
3
+ # with Minitest::Unit
4
+ watch(%r|^test/(.*)\/?test_(.*)\.rb|)
5
+ watch(%r|^test/helper\.rb|) { "test" }
6
+ end
7
+
8
+ guard 'rake', :failure_ok => true, :run_on_all => false, :task => 'rdoc_cov' do
9
+ watch(%r|^lib/(.*)([^/]+)\.rb|)
10
+ end
@@ -82,6 +82,7 @@ class Palsy
82
82
  #
83
83
  def replace(ary)
84
84
  clear
85
+ return if ary.count == 0
85
86
 
86
87
  value_string = ("(?, ?)," * ary.count).chop
87
88
 
data/lib/palsy/version.rb CHANGED
@@ -1 +1 @@
1
- PalsyVersion = "0.0.1"
1
+ PalsyVersion = "0.0.2"
data/palsy.gemspec CHANGED
@@ -23,4 +23,7 @@ Gem::Specification.new do |gem|
23
23
  gem.add_development_dependency 'rake'
24
24
  gem.add_development_dependency 'rdoc', "~> 3.12"
25
25
  gem.add_development_dependency 'simplecov'
26
+ gem.add_development_dependency 'guard-minitest'
27
+ gem.add_development_dependency 'guard-rake'
28
+ gem.add_development_dependency 'rb-fsevent'
26
29
  end
data/test/helper.rb CHANGED
@@ -1,12 +1,14 @@
1
- require 'minitest/unit'
2
- require 'tempfile'
3
- require 'palsy'
4
-
5
1
  if ENV["COVERAGE"]
6
2
  require 'simplecov'
7
- SimpleCov.start
3
+ SimpleCov.start do
4
+ add_filter '/test/'
5
+ end
8
6
  end
9
7
 
8
+ require 'minitest/unit'
9
+ require 'tempfile'
10
+ require 'palsy'
11
+
10
12
  module Palsy::TestHelper
11
13
  def new_dbfile
12
14
  @dbfiles ||= [ ]
data/test/test_list.rb CHANGED
@@ -50,4 +50,14 @@ class TestList < PalsyTypeTest
50
50
  'enumerable methods work as expected'
51
51
  )
52
52
  end
53
+
54
+ def test_mutate_to_empty
55
+ @list.replace([]) # should not explode
56
+ @list.replace([1,2,3])
57
+ 4.times { @list.shift }
58
+ assert_equal([], @list.to_a, "list is empty")
59
+ @list.replace([1,2,3])
60
+ 4.times { @list.pop }
61
+ assert_equal([], @list.to_a, "list is empty")
62
+ end
53
63
  end
data/test/test_set.rb CHANGED
@@ -78,4 +78,22 @@ class TestSet < PalsyTypeTest
78
78
  assert_includes(duped_set, k, '#each yields each key in the set')
79
79
  end
80
80
  end
81
+
82
+ def test_marshal_inequality
83
+ # this test exists to expose issues with two objects that ruby considers
84
+ # identical for the purposes of comparison, but marshal unfortunately does
85
+ # not. It exposes an issue in most of the set functionality.
86
+ add_strings = %w[test test2]
87
+
88
+ add_strings.each do |x|
89
+ x.force_encoding('US-ASCII')
90
+ @set.add(x)
91
+ end
92
+
93
+ test_strings = add_strings.map { |x| Marshal.load(Marshal.dump(x)) }
94
+ test_strings.each do |x|
95
+ x.force_encoding('UTF-8')
96
+ refute_includes(@set, x)
97
+ end
98
+ end
81
99
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: palsy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-10 00:00:00.000000000 Z
12
+ date: 2013-02-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sqlite3
@@ -91,6 +91,54 @@ dependencies:
91
91
  - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: guard-minitest
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: guard-rake
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: rb-fsevent
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
94
142
  description: An extremely simple marshalling persistence layer for SQLite based on
95
143
  perl's tie()
96
144
  email:
@@ -100,7 +148,9 @@ extensions: []
100
148
  extra_rdoc_files: []
101
149
  files:
102
150
  - .gitignore
151
+ - CHANGELOG.md
103
152
  - Gemfile
153
+ - Guardfile
104
154
  - LICENSE.txt
105
155
  - README.md
106
156
  - Rakefile
@@ -134,12 +184,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
134
184
  - - ! '>='
135
185
  - !ruby/object:Gem::Version
136
186
  version: '0'
187
+ segments:
188
+ - 0
189
+ hash: -599058759357210586
137
190
  required_rubygems_version: !ruby/object:Gem::Requirement
138
191
  none: false
139
192
  requirements:
140
193
  - - ! '>='
141
194
  - !ruby/object:Gem::Version
142
195
  version: '0'
196
+ segments:
197
+ - 0
198
+ hash: -599058759357210586
143
199
  requirements: []
144
200
  rubyforge_project:
145
201
  rubygems_version: 1.8.25