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 +6 -0
- data/Gemfile +2 -0
- data/Guardfile +10 -0
- data/lib/palsy/basic/list.rb +1 -0
- data/lib/palsy/version.rb +1 -1
- data/palsy.gemspec +3 -0
- data/test/helper.rb +7 -5
- data/test/test_list.rb +10 -0
- data/test/test_set.rb +18 -0
- metadata +58 -2
data/CHANGELOG.md
ADDED
data/Gemfile
CHANGED
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
|
data/lib/palsy/basic/list.rb
CHANGED
data/lib/palsy/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
PalsyVersion = "0.0.
|
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.
|
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-
|
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
|