Changeset 188
- Timestamp:
- 12/31/06 00:53:56 (2 years ago)
- Files:
-
- pybeast/trunk/ctest (modified) (1 prop)
- pybeast/trunk/ctest/Makefile (modified) (2 diffs)
- pybeast/trunk/ctest/cov (added)
- pybeast/trunk/ctest/py2py.py (added)
- pybeast/trunk/dtest/Makefile (modified) (2 diffs)
- pybeast/trunk/dtest/py2py.py (modified) (3 diffs)
- pybeast/trunk/src/py2py.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
pybeast/trunk/ctest
- Property svn:ignore changed from
*pass
to
*pass
.coverage*
- Property svn:ignore changed from
pybeast/trunk/ctest/Makefile
r179 r188 7 7 test_results=$(test_scripts:.py=.pass) 8 8 9 pythonpath=.. :../src9 pythonpath=.. 10 10 11 11 # Targets 12 12 13 .PHONY: build test clean13 .PHONY: pylint build test clean coverage 14 14 15 test: build $(test_results) 15 pylint: test 16 $(MAKE) -C .. pylint 17 18 test: build clean_coverage $(test_results) coverage 19 20 coverage: 21 ./cov -c 22 ./cov -r -m ../src/*py 16 23 17 24 build: 18 cd ../src; make 25 make -C ../src 26 27 clean_coverage: 28 -rm .coverage* 29 ./cov -e 19 30 20 31 clean: … … 25 36 %.pass :: %.py $(srcs) 26 37 -rm $@ 27 PYTHONPATH=$(pythonpath) python $<&& touch $@ 28 29 # todo add coverage.py support 38 PYTHONPATH=$(pythonpath) ./cov -x -p $< && touch $@ 30 39 31 40 # Deps pybeast/trunk/dtest/Makefile
r179 r188 26 26 27 27 clean_coverage: 28 rm .coverage*28 -rm .coverage* 29 29 ./cov -e 30 30 … … 38 38 PYTHONPATH=$(pythonpath) ./cov -x -p $< && touch $@ 39 39 40 # todo add coverage.py support41 42 40 # Deps 43 41 pybeast/trunk/dtest/py2py.py
r187 r188 17 17 class NeedSpace(unittest.TestCase): 18 18 'Test need_space before current op function' 19 20 def test_no_code(self): 21 'Test when first letter to be emmitted' 22 self.failUnless(not Styler().need_space(['Stmt', 'Mul', 'Add'], ''), 23 'Trying to put a space as a first code symbol') 19 24 20 25 def test_unary(self): … … 85 90 formatter = Pep8Formatter() 86 91 walk(ast, formatter) 87 msg = 'Failed to reformat \n%s\n correctly.\n AST: %s\nResult: \n%s' 92 93 msg = 'Failed to reformat \n-%s-\n correctly.\n AST: %s\nResult: \n-%s-' 94 if len(expr) and expr[-1] != '\n': 95 expr += '\n' 88 96 self.failUnless(formatter.dump()==expr, 89 97 msg % (expr, ast, formatter.dump())) … … 389 397 'Test unicode string' 390 398 self.reformat_and_test('a = u\'string\'') 399 400 401 class Import(Expr): 402 'Test import' 403 404 def test_simple(self): 405 'simple import' 406 self.reformat_and_test('import compiler\n') 407 408 def test_import_as(self): 409 'import as' 410 self.reformat_and_test('import compiler as c\n') 411 412 def test_import_from(self): 413 'from xyz import abc' 414 self.reformat_and_test('from unittest import TestCase') 415 416 def test_import_from_as(self): 417 'from xyz import abc as a' 418 self.reformat_and_test('from unittest import TestCase as tc') 391 419 392 420 pybeast/trunk/src/py2py.py
r187 r188 36 36 def need_space(self, op_stack, code): 37 37 'Determines if we need to put a space before a current op' 38 if len(code)==0: 39 return False 40 38 41 if len(op_stack)<2: 39 42 return True … … 89 92 90 93 need_parens_now = self.style.need_parens(self.expr_ops_stack) 94 if self.style.need_space(self.expr_ops_stack, self.code): 95 self.code += ' ' 91 96 if need_parens_now: 92 self.code += ' ('97 self.code += '(' 93 98 94 99 walker.dispatch(node.left) … … 232 237 walker.dispatch(ifs) 233 238 239 def visit_from(self, node, walker): 240 'visit From node (from xyz import abc)' 241 self.code += 'from %s import' % node.modname 242 for name in node.names: 243 self.code += ' %s' % name[0] 244 if name[1]: 245 self.code += ' as %s' % name[1] 246 self.code += ',' 247 self.code = self.code[:-1] 248 249 def visit_import(self, node, walker): 250 'visit Import node' 251 self.code += 'import ' 252 for name in node.names: 253 self.code += name[0] 254 if name[1]: 255 self.code += ' as %s' % name[1] 256 self.code += ', ' 257 self.code = self.code[:-2] 258 234 259 def visit_keyword(self, node, walker): 235 260 'visit Keyword node' … … 251 276 defaults.reverse() 252 277 253 self.code += ' lambda' 278 if self.style.need_space(self.expr_ops_stack, self.code): 279 self.code += ' ' 280 self.code += 'lambda' 254 281 255 282 prefix = '' … … 301 328 self.code += str(node.name) 302 329 330 def visit_stmt(self, node, walker): 331 'visit Stmt node' 332 for stmt_node in node.nodes: 333 walker.dispatch(stmt_node) 334 self.code += '\n' 335 303 336 def visit_subscript(self, node, walker): 304 337 'visit Subsvript node' … … 316 349 def dump(self): 317 350 'Return accumulated source code' 318 return self.code .strip()351 return self.code 319 352 320 353 def map_operation(self, name, default):
