home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 June / maximum-cd-2011-06.iso / DiscContents / LibO_3.3.1_Win_x86_install_multi.exe / libreoffice1.cab / test_genericpath.py < prev    next >
Encoding:
Python Source  |  2011-02-15  |  5.8 KB  |  185 lines

  1. import unittest
  2. from test import test_support
  3. import os
  4. import genericpath
  5.  
  6. class AllCommonTest(unittest.TestCase):
  7.  
  8.     def assertIs(self, a, b):
  9.         self.assert_(a is b)
  10.  
  11.     def test_commonprefix(self):
  12.         self.assertEqual(
  13.             genericpath.commonprefix([]),
  14.             ""
  15.         )
  16.         self.assertEqual(
  17.             genericpath.commonprefix(["/home/swenson/spam", "/home/swen/spam"]),
  18.             "/home/swen"
  19.         )
  20.         self.assertEqual(
  21.             genericpath.commonprefix(["/home/swen/spam", "/home/swen/eggs"]),
  22.             "/home/swen/"
  23.         )
  24.         self.assertEqual(
  25.             genericpath.commonprefix(["/home/swen/spam", "/home/swen/spam"]),
  26.             "/home/swen/spam"
  27.         )
  28.  
  29.     def test_getsize(self):
  30.         f = open(test_support.TESTFN, "wb")
  31.         try:
  32.             f.write("foo")
  33.             f.close()
  34.             self.assertEqual(genericpath.getsize(test_support.TESTFN), 3)
  35.         finally:
  36.             if not f.closed:
  37.                 f.close()
  38.             os.remove(test_support.TESTFN)
  39.  
  40.     def test_time(self):
  41.         f = open(test_support.TESTFN, "wb")
  42.         try:
  43.             f.write("foo")
  44.             f.close()
  45.             f = open(test_support.TESTFN, "ab")
  46.             f.write("bar")
  47.             f.close()
  48.             f = open(test_support.TESTFN, "rb")
  49.             d = f.read()
  50.             f.close()
  51.             self.assertEqual(d, "foobar")
  52.  
  53.             self.assert_(
  54.                 genericpath.getctime(test_support.TESTFN) <=
  55.                 genericpath.getmtime(test_support.TESTFN)
  56.             )
  57.         finally:
  58.             if not f.closed:
  59.                 f.close()
  60.             os.remove(test_support.TESTFN)
  61.  
  62.     def test_exists(self):
  63.         self.assertIs(genericpath.exists(test_support.TESTFN), False)
  64.         f = open(test_support.TESTFN, "wb")
  65.         try:
  66.             f.write("foo")
  67.             f.close()
  68.             self.assertIs(genericpath.exists(test_support.TESTFN), True)
  69.         finally:
  70.             if not f.close():
  71.                 f.close()
  72.             try:
  73.                 os.remove(test_support.TESTFN)
  74.             except os.error:
  75.                 pass
  76.  
  77.         self.assertRaises(TypeError, genericpath.exists)
  78.  
  79.     def test_isdir(self):
  80.         self.assertIs(genericpath.isdir(test_support.TESTFN), False)
  81.         f = open(test_support.TESTFN, "wb")
  82.         try:
  83.             f.write("foo")
  84.             f.close()
  85.             self.assertIs(genericpath.isdir(test_support.TESTFN), False)
  86.             os.remove(test_support.TESTFN)
  87.             os.mkdir(test_support.TESTFN)
  88.             self.assertIs(genericpath.isdir(test_support.TESTFN), True)
  89.             os.rmdir(test_support.TESTFN)
  90.         finally:
  91.             if not f.close():
  92.                 f.close()
  93.             try:
  94.                 os.remove(test_support.TESTFN)
  95.             except os.error:
  96.                 pass
  97.             try:
  98.                 os.rmdir(test_support.TESTFN)
  99.             except os.error:
  100.                 pass
  101.  
  102.         self.assertRaises(TypeError, genericpath.isdir)
  103.  
  104.     def test_isfile(self):
  105.         self.assertIs(genericpath.isfile(test_support.TESTFN), False)
  106.         f = open(test_support.TESTFN, "wb")
  107.         try:
  108.             f.write("foo")
  109.             f.close()
  110.             self.assertIs(genericpath.isfile(test_support.TESTFN), True)
  111.             os.remove(test_support.TESTFN)
  112.             os.mkdir(test_support.TESTFN)
  113.             self.assertIs(genericpath.isfile(test_support.TESTFN), False)
  114.             os.rmdir(test_support.TESTFN)
  115.         finally:
  116.             if not f.close():
  117.                 f.close()
  118.             try:
  119.                 os.remove(test_support.TESTFN)
  120.             except os.error:
  121.                 pass
  122.             try:
  123.                 os.rmdir(test_support.TESTFN)
  124.             except os.error:
  125.                 pass
  126.  
  127.         self.assertRaises(TypeError, genericpath.isdir)
  128.  
  129.         def test_samefile(self):
  130.             f = open(test_support.TESTFN + "1", "wb")
  131.             try:
  132.                 f.write("foo")
  133.                 f.close()
  134.                 self.assertIs(
  135.                     genericpath.samefile(
  136.                         test_support.TESTFN + "1",
  137.                         test_support.TESTFN + "1"
  138.                     ),
  139.                     True
  140.                 )
  141.                 # If we don't have links, assume that os.stat doesn't return resonable
  142.                 # inode information and thus, that samefile() doesn't work
  143.                 if hasattr(os, "symlink"):
  144.                     os.symlink(
  145.                         test_support.TESTFN + "1",
  146.                         test_support.TESTFN + "2"
  147.                     )
  148.                     self.assertIs(
  149.                         genericpath.samefile(
  150.                             test_support.TESTFN + "1",
  151.                             test_support.TESTFN + "2"
  152.                         ),
  153.                         True
  154.                     )
  155.                     os.remove(test_support.TESTFN + "2")
  156.                     f = open(test_support.TESTFN + "2", "wb")
  157.                     f.write("bar")
  158.                     f.close()
  159.                     self.assertIs(
  160.                         genericpath.samefile(
  161.                             test_support.TESTFN + "1",
  162.                             test_support.TESTFN + "2"
  163.                         ),
  164.                         False
  165.                     )
  166.             finally:
  167.                 if not f.close():
  168.                     f.close()
  169.                 try:
  170.                     os.remove(test_support.TESTFN + "1")
  171.                 except os.error:
  172.                     pass
  173.                 try:
  174.                     os.remove(test_support.TESTFN + "2")
  175.                 except os.error:
  176.                     pass
  177.  
  178.             self.assertRaises(TypeError, genericpath.samefile)
  179.  
  180. def test_main():
  181.     test_support.run_unittest(AllCommonTest)
  182.  
  183. if __name__=="__main__":
  184.     test_main()
  185.