ruby-changes:5297
From: mame <ko1@a...>
Date: Tue, 3 Jun 2008 22:26:54 +0900 (JST)
Subject: [ruby-changes:5297] Ruby:r16796 (trunk): * test/etc/test_etc.rb: new tests for etc.
mame 2008-06-03 22:26:38 +0900 (Tue, 03 Jun 2008)
New Revision: 16796
Added directories:
trunk/test/etc/
Added files:
trunk/test/etc/test_etc.rb
Modified files:
trunk/ChangeLog
Log:
* test/etc/test_etc.rb: new tests for etc.
Added: trunk/test/etc/
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16796&r2=16795&diff_format=u
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/etc/test_etc.rb?revision=16796&view=markup
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/etc/test_etc.rb?r1=16796&r2=16795&diff_format=u
Index: ChangeLog
===================================================================
--- ChangeLog (revision 16795)
+++ ChangeLog (revision 16796)
@@ -1,3 +1,7 @@
+Tue Jun 3 22:25:51 2008 Yusuke Endoh <mame@t...>
+
+ * test/etc/test_etc.rb: new tests for etc.
+
Tue Jun 3 19:35:02 2008 Akinori MUSHA <knu@i...>
* enumerator.c (enumerator_with_memo): New method: with_memo().
Index: test/etc/test_etc.rb
===================================================================
--- test/etc/test_etc.rb (revision 0)
+++ test/etc/test_etc.rb (revision 16796)
@@ -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
Property changes on: test/etc/test_etc.rb
___________________________________________________________________
Name: svn:eol-style
+ LF
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/