File: test_mode.py

package info (click to toggle)
python-fs 2.4.16-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,944 kB
  • sloc: python: 13,048; makefile: 226; sh: 3
file content (49 lines) | stat: -rw-r--r-- 1,588 bytes parent folder | download | duplicates (2)
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)