utilrb 1.1 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
data/test/test_object.rb CHANGED
@@ -1,13 +1,16 @@
1
1
  require 'test_config'
2
2
 
3
3
  require 'utilrb/object'
4
+ require 'utilrb/module/attr_predicate'
4
5
 
5
6
  class TC_Object < Test::Unit::TestCase
6
7
  def test_address
8
+ assert_equal("2aaaab38b398", Object.address_from_id(0x1555559c59cc).to_s(16))
9
+
7
10
  foo = Object.new
8
- foo.to_s =~ /#<Object:0x([0-9a-f]+)>/
11
+ foo.to_s =~ /#<Object:0x0*([0-9a-f]+)>/
9
12
  foo_address = $1
10
- assert_equal(foo_address, foo.address.to_s(16), "#{foo} #{foo.address} #{foo.object_id}")
13
+ assert_equal(foo_address, foo.address.to_s(16), "#{foo} #{foo.address.to_s(16)} #{foo.object_id.to_s(16)}")
11
14
  end
12
15
 
13
16
  def check_attribute(object)
@@ -53,13 +56,31 @@ class TC_Object < Test::Unit::TestCase
53
56
  end
54
57
 
55
58
  def test_singleton_class
56
- klass = Class.new
59
+ klass = Class.new do
60
+ def bla; 0 end
61
+ end
62
+
57
63
  object = klass.new
64
+
65
+ singleton = class << object
66
+ class << self
67
+ def bla
68
+ "a"
69
+ end
70
+ end
71
+ self
72
+ end
73
+
58
74
  assert(! object.has_singleton?)
59
75
  assert_equal(object, object.singleton_class.singleton_instance)
60
76
  assert(object.has_singleton?)
61
77
  assert_equal(klass, object.singleton_class.superclass)
62
- assert_equal([object.singleton_class, klass, Object], object.singleton_class.ancestors[0, 3])
78
+
79
+
80
+ Utilrb.if_ext do
81
+ assert_equal([object.singleton_class, klass, Object], object.singleton_class.ancestors[0, 3])
82
+ assert_equal([klass, Object], klass.ancestors[0, 2])
83
+ end
63
84
  end
64
85
 
65
86
  def test_attr_predicate
@@ -13,7 +13,6 @@ class TC_PkgConfig < Test::Unit::TestCase
13
13
 
14
14
  PkgConfig = Utilrb::PkgConfig
15
15
  def test_find_package
16
- STDERR.puts ENV['PKG_CONFIG_PATH']
17
16
  assert_raises(PkgConfig::NotFound) { PkgConfig.new('does_not_exist') }
18
17
  assert_nothing_raised { PkgConfig.new('test_pkgconfig') }
19
18
  end
data/test/test_proc.rb CHANGED
@@ -1,27 +1,30 @@
1
- require 'test/unit'
1
+ require 'test_config'
2
+
2
3
  require 'utilrb'
3
4
 
4
- Utilrb.require_faster('TC_Proc') do
5
- class TC_Proc < Test::Unit::TestCase
6
- def block_to_proc_helper(&block); block end
7
- def block_to_proc
8
- [block_to_proc_helper { blo }, block_to_proc_helper { bla }]
9
- end
10
- def test_same_body
11
- a1, a2 = block_to_proc
12
- b1, b2 = block_to_proc
13
- assert(a1.same_body?(b1))
14
- assert(a2.same_body?(b2))
15
- assert(!a1.same_body?(b2))
16
- assert(!a2.same_body?(b1))
17
- end
5
+ Utilrb.require_ext('TC_Proc') do
6
+ if RUBY_VERSION =~ /^1\.8/
7
+ class TC_Proc < Test::Unit::TestCase
8
+ def block_to_proc_helper(&block); block end
9
+ def block_to_proc
10
+ [block_to_proc_helper { blo }, block_to_proc_helper { bla }]
11
+ end
12
+ def test_same_body
13
+ a1, a2 = block_to_proc
14
+ b1, b2 = block_to_proc
15
+ assert(a1.same_body?(b1))
16
+ assert(a2.same_body?(b2))
17
+ assert(!a1.same_body?(b2))
18
+ assert(!a2.same_body?(b1))
19
+ end
18
20
 
19
- def test_line
20
- assert_equal(8, block_to_proc.first.line)
21
- end
21
+ def test_line
22
+ assert_equal(10, block_to_proc.first.line)
23
+ end
22
24
 
23
- def test_file
24
- assert_equal(File.expand_path(__FILE__), File.expand_path(block_to_proc.first.file))
25
+ def test_file
26
+ assert_equal(File.expand_path(__FILE__), File.expand_path(block_to_proc.first.file))
27
+ end
25
28
  end
26
29
  end
27
30
  end
data/test/test_time.rb CHANGED
@@ -10,12 +10,21 @@ class TC_Time < Test::Unit::TestCase
10
10
  assert_equal("236:21:34.100", Time.at(236 * 3600 + 21 * 60 + 34.1).to_hms)
11
11
  end
12
12
  def test_from_hms
13
- assert_equal(Time.at(0), Time.from_hms("0:00:00.000"))
14
- assert_equal(Time.at(0.1), Time.from_hms("0:00:00.100"))
13
+ assert_equal([0, 0, 0, 1], Time.hms_decomposition('0:00:00.001'))
14
+ assert_equal([0, 0, 0, 10], Time.hms_decomposition('0:00:00.01'))
15
+ assert_equal([0, 0, 0, 10], Time.hms_decomposition('0:00:00.010'))
16
+ assert_equal([0, 0, 0, 100], Time.hms_decomposition('0:00:00.1'))
17
+ assert_equal([0, 0, 0, 100], Time.hms_decomposition('0:00:00.10'))
18
+ assert_equal([0, 0, 0, 100], Time.hms_decomposition('0:00:00.100'))
19
+
20
+ assert_equal([0, 0, 0, 0], Time.hms_decomposition("0:00:00.000"))
15
21
  assert_equal(Time.at(34.1), Time.from_hms("0:00:34.100"))
16
22
  assert_equal(Time.at(21 * 60 + 34.1), Time.from_hms("0:21:34.100"))
17
23
  assert_equal(Time.at(236 * 3600 + 21 * 60 + 34.1), Time.from_hms("236:21:34.100"))
18
24
 
25
+ assert_equal([329991, 0, 10, 0], Time.hms_decomposition("329991:00:10"))
26
+ assert_equal([329991, 8, 8, 0], Time.hms_decomposition("329991:08:08"))
27
+
19
28
  assert_equal(Time.at(0), Time.from_hms("0"))
20
29
  assert_equal(Time.at(0), Time.from_hms(":0"))
21
30
  assert_equal(Time.at(62), Time.from_hms("1:2"))
@@ -29,6 +38,10 @@ class TC_Time < Test::Unit::TestCase
29
38
  assert_in_delta(0, Time.at(1.02) - Time.from_hms("1.02"), 0.001)
30
39
  assert_in_delta(0, Time.at(121.03) - Time.from_hms("2:1.03"), 0.001)
31
40
  assert_in_delta(0, Time.at(3723.04) - Time.from_hms("1:2:3.04"), 0.001)
41
+ assert_in_delta(0, Time.at(1.75) - Time.from_hms("1.75"), 0.001)
42
+ assert_in_delta(0, Time.at(121.75) - Time.from_hms("2:1.75"), 0.001)
43
+ assert_in_delta(0, Time.at(3723.75) - Time.from_hms("1:2:3.75"), 0.001)
44
+ assert_in_delta(0, Time.at(3723.243) - Time.from_hms("1:2:3.243"), 0.001)
32
45
  end
33
46
  end
34
47
 
metadata CHANGED
@@ -1,36 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: utilrb
5
3
  version: !ruby/object:Gem::Version
6
- version: "1.1"
7
- date: 2007-06-19 00:00:00 +02:00
8
- summary: Yet another Ruby toolkit
9
- require_paths:
10
- - lib
11
- - ext
12
- email: sylvain.joyeux@m4x.org
13
- homepage: " http://utilrb.rubyforge.org"
14
- rubyforge_project: utilrb
15
- description: "== What is Utilrb ? Utilrb is yet another Ruby toolkit, in the spirit of facets. It includes all the standard class extensions I use in my own projects like Genom.rb. == Utilrb's C extension Utilrb includes a C extension in ext/. It is optional, but some of the functionalities will be disabled if it is not present. Trying to require a file in which there is a C-only feature will yield a warning on STDOUT. * some features have a Ruby version, but a C version is provided for performance: - Enumerable#each_uniq * some features are C-only - ValueSet class - Kernel#swap!"
16
- autorequire:
17
- default_executable:
18
- bindir: bin
19
- has_rdoc: true
20
- required_ruby_version: !ruby/object:Gem::Version::Requirement
21
- requirements:
22
- - - ">"
23
- - !ruby/object:Gem::Version
24
- version: 0.0.0
25
- version:
4
+ version: "1.2"
26
5
  platform: ruby
27
- signing_key:
28
- cert_chain:
29
- post_install_message:
30
6
  authors:
31
7
  - Sylvain Joyeux
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-05-07 00:00:00 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: facets
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.4.0
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: rake
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: "0"
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: hoe
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.5.1
41
+ version:
42
+ description: == What is Utilrb ? Utilrb is yet another Ruby toolkit, in the spirit of facets. It includes all the standard class extensions I use in my own projects like Genom.rb. == Installation The only dependency Utilrb has is flexmock if you want to run tests. It is available as a gem, so you can run gem install flexmock == Utilrb's C extension Utilrb includes a C extension in ext/. It is optional, but some of the functionalities will be disabled if it is not present. Trying to require a file in which there is a C-only feature will yield a warning on STDOUT.
43
+ email:
44
+ - sylvain.joyeux@m4x.org
45
+ executables: []
46
+
47
+ extensions:
48
+ - ext/extconf.rb
49
+ extra_rdoc_files:
50
+ - History.txt
51
+ - License.txt
52
+ - Manifest.txt
53
+ - README.txt
32
54
  files:
33
- - Changes.txt
55
+ - History.txt
34
56
  - License.txt
35
57
  - Manifest.txt
36
58
  - README.txt
@@ -38,8 +60,9 @@ files:
38
60
  - bm/allocation.rb
39
61
  - bm/speed.rb
40
62
  - ext/extconf.rb
41
- - ext/faster.cc
42
- - ext/ruby_internals.h
63
+ - ext/utilrb_ext.cc
64
+ - ext/ruby_internals-1.8.h
65
+ - ext/ruby_internals-1.9.h
43
66
  - ext/swap.cc
44
67
  - ext/value_set.cc
45
68
  - lib/utilrb.rb
@@ -47,6 +70,8 @@ files:
47
70
  - lib/utilrb/array/to_s.rb
48
71
  - lib/utilrb/column_formatter.rb
49
72
  - lib/utilrb/common.rb
73
+ - lib/utilrb/dir.rb
74
+ - lib/utilrb/dir/empty.rb
50
75
  - lib/utilrb/enumerable.rb
51
76
  - lib/utilrb/enumerable/null.rb
52
77
  - lib/utilrb/enumerable/random_element.rb
@@ -76,6 +101,7 @@ files:
76
101
  - lib/utilrb/module/attr_predicate.rb
77
102
  - lib/utilrb/module/cached_enum.rb
78
103
  - lib/utilrb/module/define_method.rb
104
+ - lib/utilrb/module/define_or_reuse.rb
79
105
  - lib/utilrb/module/include.rb
80
106
  - lib/utilrb/module/inherited_enumerable.rb
81
107
  - lib/utilrb/object.rb
@@ -86,6 +112,8 @@ files:
86
112
  - lib/utilrb/pkgconfig.rb
87
113
  - lib/utilrb/set.rb
88
114
  - lib/utilrb/set/to_s.rb
115
+ - lib/utilrb/socket/tcp_server.rb
116
+ - lib/utilrb/socket/tcp_socket.rb
89
117
  - lib/utilrb/time.rb
90
118
  - lib/utilrb/time/to_hms.rb
91
119
  - lib/utilrb/unbound_method.rb
@@ -94,6 +122,7 @@ files:
94
122
  - test/data/test_pkgconfig.pc
95
123
  - test/test_array.rb
96
124
  - test/test_config.rb
125
+ - test/test_dir.rb
97
126
  - test/test_enumerable.rb
98
127
  - test/test_exception.rb
99
128
  - test/test_gc.rb
@@ -108,7 +137,36 @@ files:
108
137
  - test/test_set.rb
109
138
  - test/test_time.rb
110
139
  - test/test_unbound_method.rb
140
+ has_rdoc: true
141
+ homepage: " http://utilrb.rubyforge.org"
142
+ post_install_message:
143
+ rdoc_options:
144
+ - --main
145
+ - README.txt
146
+ require_paths:
147
+ - lib
148
+ - ext
149
+ required_ruby_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: "0"
154
+ version:
155
+ required_rubygems_version: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: "0"
160
+ version:
161
+ requirements: []
162
+
163
+ rubyforge_project: utilrb
164
+ rubygems_version: 1.1.1
165
+ signing_key:
166
+ specification_version: 2
167
+ summary: Yet another Ruby toolkit
111
168
  test_files:
169
+ - test/test_dir.rb
112
170
  - test/test_proc.rb
113
171
  - test/test_exception.rb
114
172
  - test/test_set.rb
@@ -125,36 +183,3 @@ test_files:
125
183
  - test/test_hash.rb
126
184
  - test/test_objectstats.rb
127
185
  - test/test_pkgconfig.rb
128
- rdoc_options:
129
- - --main
130
- - README.txt
131
- extra_rdoc_files:
132
- - Changes.txt
133
- - License.txt
134
- - Manifest.txt
135
- - README.txt
136
- executables: []
137
-
138
- extensions: []
139
-
140
- requirements: []
141
-
142
- dependencies:
143
- - !ruby/object:Gem::Dependency
144
- name: facets
145
- version_requirement:
146
- version_requirements: !ruby/object:Gem::Version::Requirement
147
- requirements:
148
- - - ">"
149
- - !ruby/object:Gem::Version
150
- version: 0.0.0
151
- version:
152
- - !ruby/object:Gem::Dependency
153
- name: hoe
154
- version_requirement:
155
- version_requirements: !ruby/object:Gem::Version::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: 1.2.1
160
- version: