mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/etc/test_etc.rb: new tests for etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a96cf7a7a5
commit
87050da59f
2 changed files with 131 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
Tue Jun 3 22:25:51 2008 Yusuke Endoh <mame@tsg.ne.jp>
|
||||
|
||||
* test/etc/test_etc.rb: new tests for etc.
|
||||
|
||||
Tue Jun 3 19:35:02 2008 Akinori MUSHA <knu@iDaemons.org>
|
||||
|
||||
* enumerator.c (enumerator_with_memo): New method: with_memo().
|
||||
|
|
127
test/etc/test_etc.rb
Normal file
127
test/etc/test_etc.rb
Normal file
|
@ -0,0 +1,127 @@
|
|||
require "test/unit"
|
||||
require "etc"
|
||||
|
||||
class TestEtc < Test::Unit::TestCase
|
||||
def test_getlogin
|
||||
s = Etc.getlogin
|
||||
assert(s.is_a?(String) || s == nil, "getlogin must return a String or nil")
|
||||
end
|
||||
|
||||
def test_passwd
|
||||
Etc.passwd do |s|
|
||||
assert_instance_of(String, s.name)
|
||||
assert_instance_of(String, s.passwd) if s.respond_to?(:passwd)
|
||||
assert_kind_of(Integer, s.uid)
|
||||
assert_kind_of(Integer, s.gid)
|
||||
assert_instance_of(String, s.gecos) if s.respond_to?(:gecos)
|
||||
assert_instance_of(String, s.dir)
|
||||
assert_instance_of(String, s.shell)
|
||||
assert_kind_of(Integer, s.change) if s.respond_to?(:change)
|
||||
assert_kind_of(Integer, s.quota) if s.respond_to?(:quota)
|
||||
assert_kind_of(Integer, s.age) if s.respond_to?(:age)
|
||||
assert_instance_of(String, s.uclass) if s.respond_to?(:uclass)
|
||||
assert_instance_of(String, s.comment) if s.respond_to?(:comment)
|
||||
assert_kind_of(Integer, s.expire) if s.respond_to?(:expire)
|
||||
end
|
||||
|
||||
assert_raise(RuntimeError) { Etc.passwd { Etc.passwd { } } }
|
||||
end
|
||||
|
||||
def test_getpwuid
|
||||
Etc.passwd do |s|
|
||||
assert_equal(s, Etc.getpwuid(s.uid))
|
||||
assert_equal(s, Etc.getpwuid) if Etc.getlogin == s.name
|
||||
end
|
||||
end
|
||||
|
||||
def test_getpwnam
|
||||
Etc.passwd do |s|
|
||||
assert_equal(s, Etc.getpwnam(s.name))
|
||||
end
|
||||
end
|
||||
|
||||
def test_setpwent
|
||||
a = []
|
||||
Etc.passwd do |s|
|
||||
a << s
|
||||
Etc.setpwent if a.size == 3
|
||||
end
|
||||
assert_equal(a[0, 3], a[3, 3]) if a.size >= 6
|
||||
end
|
||||
|
||||
def test_getpwent
|
||||
a = []
|
||||
Etc.passwd {|s| a << s }
|
||||
b = []
|
||||
Etc.passwd do |s|
|
||||
b << s
|
||||
s = Etc.getpwent
|
||||
break unless s
|
||||
b << s
|
||||
end
|
||||
assert_equal(a, b)
|
||||
end
|
||||
|
||||
def test_endpwent
|
||||
a = []
|
||||
Etc.passwd do |s|
|
||||
a << s
|
||||
Etc.endpwent if a.size == 3
|
||||
end
|
||||
assert_equal(a[0, 3], a[3, 3]) if a.size >= 6
|
||||
end
|
||||
|
||||
def test_group
|
||||
Etc.group do |s|
|
||||
assert_instance_of(String, s.name)
|
||||
assert_instance_of(String, s.passwd) if s.respond_to?(:passwd)
|
||||
assert_kind_of(Integer, s.gid)
|
||||
end
|
||||
|
||||
assert_raise(RuntimeError) { Etc.group { Etc.group { } } }
|
||||
end
|
||||
|
||||
def test_getgrgid
|
||||
Etc.group do |s|
|
||||
assert_equal(s, Etc.getgrgid(s.gid))
|
||||
assert_equal(s, Etc.getgrgid) if Etc.getlogin == s.name
|
||||
end
|
||||
end
|
||||
|
||||
def test_getgrnam
|
||||
Etc.group do |s|
|
||||
assert_equal(s, Etc.getgrnam(s.name))
|
||||
end
|
||||
end
|
||||
|
||||
def test_setgrent
|
||||
a = []
|
||||
Etc.group do |s|
|
||||
a << s
|
||||
Etc.setgrent if a.size == 3
|
||||
end
|
||||
assert_equal(a[0, 3], a[3, 3]) if a.size >= 6
|
||||
end
|
||||
|
||||
def test_getgrent
|
||||
a = []
|
||||
Etc.group {|s| a << s }
|
||||
b = []
|
||||
Etc.group do |s|
|
||||
b << s
|
||||
s = Etc.getgrent
|
||||
break unless s
|
||||
b << s
|
||||
end
|
||||
assert_equal(a, b)
|
||||
end
|
||||
|
||||
def test_endgrent
|
||||
a = []
|
||||
Etc.group do |s|
|
||||
a << s
|
||||
Etc.endgrent if a.size == 3
|
||||
end
|
||||
assert_equal(a[0, 3], a[3, 3]) if a.size >= 6
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue