palsy 0.0.1 → 0.0.2

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.
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