def test_dedent_block_continuation_in_string(self): code = r""" def f(): a = "a \ b" return a """ f = self._eval_code(parser.dedent_block(code), 'f') self.assertEqual(f(), 'a b')
def test_dedent_block_continuation(self): code = r""" def f(): a = \ 1 return a """ f = self._eval_code(parser.dedent_block(code), 'f') self.assertEqual(f(), 1)
def test_dedent_block_multiline_expression(self): code = """ def f(): return (1, 2, 3) """ f = self._eval_code(parser.dedent_block(code), 'f') self.assertEqual(f(), (1, 2, 3))
def test_dedent_block_basic(self): code = """ def f(x): if x > 0: return -x return x """ f = self._eval_code(parser.dedent_block(code), 'f') self.assertEqual(f(1), -1) self.assertEqual(f(-1), -1)
def test_dedent_block_multiline_string(self): code = """ def f(): ''' Docstring. ''' return ''' 1 2 3''' """ f = self._eval_code(parser.dedent_block(code), 'f') self.assertEqual(f.__doc__, '\n Docstring.\n ') self.assertEqual(f(), '\n 1\n 2\n 3')
def test_dedent_block_comments_out_of_line(self): code = """ ### def f(x): ### if x > 0: ### return -x ### ### return x ### """ f = self._eval_code(parser.dedent_block(code), 'f') self.assertEqual(f(1), -1) self.assertEqual(f(-1), -1)