[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]