1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
from __future__ import unicode_literals
import unittest
from six import text_type
from fs.mode import Mode, check_readable, check_writable
class TestMode(unittest.TestCase):
def test_checks(self):
self.assertTrue(check_readable("r"))
self.assertTrue(check_readable("r+"))
self.assertTrue(check_readable("rt"))
self.assertTrue(check_readable("rb"))
self.assertFalse(check_readable("w"))
self.assertTrue(check_readable("w+"))
self.assertFalse(check_readable("wt"))
self.assertFalse(check_readable("wb"))
self.assertFalse(check_readable("a"))
self.assertTrue(check_writable("w"))
self.assertTrue(check_writable("w+"))
self.assertTrue(check_writable("r+"))
self.assertFalse(check_writable("r"))
self.assertTrue(check_writable("a"))
def test_mode_object(self):
with self.assertRaises(ValueError):
Mode("")
with self.assertRaises(ValueError):
Mode("J")
with self.assertRaises(ValueError):
Mode("b")
with self.assertRaises(ValueError):
Mode("rtb")
mode = Mode("w")
repr(mode)
self.assertEqual(text_type(mode), "w")
self.assertTrue(mode.create)
self.assertFalse(mode.reading)
self.assertTrue(mode.writing)
self.assertFalse(mode.appending)
self.assertFalse(mode.updating)
self.assertTrue(mode.truncate)
self.assertFalse(mode.exclusive)
self.assertFalse(mode.binary)
self.assertTrue(mode.text)
|