예제 #1
0
 def test_close(self):
     shell = MockShell()
     f = PseudoOutputFile(shell, 'stdout', 'utf-8')
     self.assertFalse(f.closed)
     f.write('test')
     f.close()
     self.assertTrue(f.closed)
     self.assertRaises(ValueError, f.write, 'x')
     self.assertEqual(shell.written, [('test', 'stdout')])
     f.close()
     self.assertRaises(TypeError, f.close, 1)
예제 #2
0
 def test_close(self):
     shell = MockShell()
     f = PseudoOutputFile(shell, 'stdout', 'utf-8')
     self.assertFalse(f.closed)
     f.write('test')
     f.close()
     self.assertTrue(f.closed)
     self.assertRaises(ValueError, f.write, 'x')
     self.assertEqual(shell.written, [('test', 'stdout')])
     f.close()
     self.assertRaises(TypeError, f.close, 1)
예제 #3
0
    def test_write(self):
        shell = MockShell()
        f = PseudoOutputFile(shell, 'stdout', 'utf-8')
        f.write('test')
        self.assertEqual(shell.written, [('test', 'stdout')])
        shell.reset()
        f.write('t\xe8st')
        self.assertEqual(shell.written, [('t\xe8st', 'stdout')])
        shell.reset()

        f.write(S('t\xe8st'))
        self.assertEqual(shell.written, [('t\xe8st', 'stdout')])
        self.assertEqual(type(shell.written[0][0]), str)
        shell.reset()

        self.assertRaises(TypeError, f.write)
        self.assertEqual(shell.written, [])
        self.assertRaises(TypeError, f.write, b'test')
        self.assertRaises(TypeError, f.write, 123)
        self.assertEqual(shell.written, [])
        self.assertRaises(TypeError, f.write, 'test', 'spam')
        self.assertEqual(shell.written, [])