示例#1
0
 def test_close(self):
     shell = MockShell()
     f = PseudoInputFile(shell, "stdin", "utf-8")
     shell.push(["one\n", "two\n", ""])
     self.assertFalse(f.closed)
     self.assertEqual(f.readline(), "one\n")
     f.close()
     self.assertFalse(f.closed)
     self.assertEqual(f.readline(), "two\n")
     self.assertRaises(TypeError, f.close, 1)
示例#2
0
 def test_misc(self):
     shell = MockShell()
     f = PseudoInputFile(shell, "stdin", "utf-8")
     self.assertIsInstance(f, io.TextIOBase)
     self.assertEqual(f.encoding, "utf-8")
     self.assertIsNone(f.errors)
     self.assertIsNone(f.newlines)
     self.assertEqual(f.name, "<stdin>")
     self.assertFalse(f.closed)
     self.assertTrue(f.isatty())
     self.assertTrue(f.readable())
     self.assertFalse(f.writable())
     self.assertFalse(f.seekable())
示例#3
0
 def test_unsupported(self):
     shell = MockShell()
     f = PseudoInputFile(shell, 'stdin', 'utf-8')
     self.assertRaises(OSError, f.fileno)
     self.assertRaises(OSError, f.tell)
     self.assertRaises(OSError, f.seek, 0)
     self.assertRaises(OSError, f.write, 'x')
     self.assertRaises(OSError, f.writelines, ['x'])
示例#4
0
    def test_readline(self):
        shell = MockShell()
        f = PseudoInputFile(shell, "stdin", "utf-8")
        shell.push(["one\n", "two\n", "three\n", "four\n"])
        self.assertEqual(f.readline(), "one\n")
        self.assertEqual(f.readline(-1), "two\n")
        self.assertEqual(f.readline(None), "three\n")
        shell.push(["one\ntwo\n"])
        self.assertEqual(f.readline(), "one\n")
        self.assertEqual(f.readline(), "two\n")
        shell.push(["one", "two", "three"])
        self.assertEqual(f.readline(), "one")
        self.assertEqual(f.readline(), "two")
        shell.push(["one\n", "two\n", "three\n"])
        self.assertEqual(f.readline(2), "on")
        self.assertEqual(f.readline(1), "e")
        self.assertEqual(f.readline(1), "\n")
        self.assertEqual(f.readline(10), "two\n")

        shell.push(["one\n", "two\n"])
        self.assertEqual(f.readline(0), "")
        self.assertRaises(TypeError, f.readlines, 1.5)
        self.assertRaises(TypeError, f.readlines, "1")
        self.assertRaises(TypeError, f.readlines, 1, 1)
示例#5
0
 def test_close(self):
     shell = MockShell()
     f = PseudoInputFile(shell, 'stdin', 'utf-8')
     shell.push(['one\n', 'two\n', ''])
     self.assertFalse(f.closed)
     self.assertEqual(f.readline(), 'one\n')
     f.close()
     self.assertFalse(f.closed)
     self.assertEqual(f.readline(), 'two\n')
     self.assertRaises(TypeError, f.close, 1)
示例#6
0
    def test_read(self):
        shell = MockShell()
        f = PseudoInputFile(shell, 'stdin', 'utf-8')
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.read(), 'one\ntwo\n')
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.read(-1), 'one\ntwo\n')
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.read(None), 'one\ntwo\n')
        shell.push(['one\n', 'two\n', 'three\n', ''])
        self.assertEqual(f.read(2), 'on')
        self.assertEqual(f.read(3), 'e\nt')
        self.assertEqual(f.read(10), 'wo\nthree\n')

        shell.push(['one\n', 'two\n'])
        self.assertEqual(f.read(0), '')
        self.assertRaises(TypeError, f.read, 1.5)
        self.assertRaises(TypeError, f.read, '1')
        self.assertRaises(TypeError, f.read, 1, 1)
示例#7
0
    def test_readlines(self):
        shell = MockShell()
        f = PseudoInputFile(shell, 'stdin', 'utf-8')
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.readlines(), ['one\n', 'two\n'])
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.readlines(-1), ['one\n', 'two\n'])
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.readlines(None), ['one\n', 'two\n'])
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.readlines(0), ['one\n', 'two\n'])
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.readlines(3), ['one\n'])
        shell.push(['one\n', 'two\n', ''])
        self.assertEqual(f.readlines(4), ['one\n', 'two\n'])

        shell.push(['one\n', 'two\n', ''])
        self.assertRaises(TypeError, f.readlines, 1.5)
        self.assertRaises(TypeError, f.readlines, '1')
        self.assertRaises(TypeError, f.readlines, 1, 1)
示例#8
0
 def test_misc(self):
     shell = MockShell()
     f = PseudoInputFile(shell, 'stdin', 'utf-8')
     self.assertIsInstance(f, io.TextIOBase)
     self.assertEqual(f.encoding, 'utf-8')
     self.assertIsNone(f.errors)
     self.assertIsNone(f.newlines)
     self.assertEqual(f.name, '<stdin>')
     self.assertFalse(f.closed)
     self.assertTrue(f.isatty())
     self.assertTrue(f.readable())
     self.assertFalse(f.writable())
     self.assertFalse(f.seekable())
示例#9
0
    def test_read(self):
        shell = MockShell()
        f = PseudoInputFile(shell, "stdin", "utf-8")
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.read(), "one\ntwo\n")
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.read(-1), "one\ntwo\n")
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.read(None), "one\ntwo\n")
        shell.push(["one\n", "two\n", "three\n", ""])
        self.assertEqual(f.read(2), "on")
        self.assertEqual(f.read(3), "e\nt")
        self.assertEqual(f.read(10), "wo\nthree\n")

        shell.push(["one\n", "two\n"])
        self.assertEqual(f.read(0), "")
        self.assertRaises(TypeError, f.read, 1.5)
        self.assertRaises(TypeError, f.read, "1")
        self.assertRaises(TypeError, f.read, 1, 1)
示例#10
0
    def test_readlines(self):
        shell = MockShell()
        f = PseudoInputFile(shell, "stdin", "utf-8")
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.readlines(), ["one\n", "two\n"])
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.readlines(-1), ["one\n", "two\n"])
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.readlines(None), ["one\n", "two\n"])
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.readlines(0), ["one\n", "two\n"])
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.readlines(3), ["one\n"])
        shell.push(["one\n", "two\n", ""])
        self.assertEqual(f.readlines(4), ["one\n", "two\n"])

        shell.push(["one\n", "two\n", ""])
        self.assertRaises(TypeError, f.readlines, 1.5)
        self.assertRaises(TypeError, f.readlines, "1")
        self.assertRaises(TypeError, f.readlines, 1, 1)
示例#11
0
    def test_readline(self):
        shell = MockShell()
        f = PseudoInputFile(shell, 'stdin', 'utf-8')
        shell.push(['one\n', 'two\n', 'three\n', 'four\n'])
        self.assertEqual(f.readline(), 'one\n')
        self.assertEqual(f.readline(-1), 'two\n')
        self.assertEqual(f.readline(None), 'three\n')
        shell.push(['one\ntwo\n'])
        self.assertEqual(f.readline(), 'one\n')
        self.assertEqual(f.readline(), 'two\n')
        shell.push(['one', 'two', 'three'])
        self.assertEqual(f.readline(), 'one')
        self.assertEqual(f.readline(), 'two')
        shell.push(['one\n', 'two\n', 'three\n'])
        self.assertEqual(f.readline(2), 'on')
        self.assertEqual(f.readline(1), 'e')
        self.assertEqual(f.readline(1), '\n')
        self.assertEqual(f.readline(10), 'two\n')

        shell.push(['one\n', 'two\n'])
        self.assertEqual(f.readline(0), '')
        self.assertRaises(TypeError, f.readlines, 1.5)
        self.assertRaises(TypeError, f.readlines, '1')
        self.assertRaises(TypeError, f.readlines, 1, 1)