Ejemplo n.º 1
0
    def test_py2_num_literals(self):
        code= """\
a = 10L + 0xFEEL + 034
"""
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (3, 0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 2
0
    def test_py3_num_literals(self):
	# Both Python 2.7 and Python 3 support this syntax.
        code= """\
a = 0o34
"""
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (0, 0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 3
0
    def test_py2_exec(self):
        code= """\
exec codeString
exec codeString in a_global_namespace
exec codeString in a_global_namespace, a_local_namespace
"""
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (3, 0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 4
0
    def test_py3_exec(self):
        code= """\
exec(codeString)
exec(codeString, a_global_namespace)
exec(codeString, a_global_namespace, a_local_namespace)
"""
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (0, 0) # neutral
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 5
0
    def test_py2_strings(self):
        code= """\
a = u'PapayaWhip'
b = ur'PapayaWhipFoo'
c = a <> b
d = `1`
"""
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (5, 0) # each backquote counts as 1
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 6
0
    def test_py2_stdlib_methods(self):
        code= """\
v1 = sys.exc_type
v2 = 	sys.exc_value
v3 = sys.exc_traceback
v4 = os.getcwdu()
"""
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (4, 0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 7
0
    def test_py3_print_code(self):
        code= """\
print('yap', file=sys.stderr)
print(1, 2, sep=' ')
"""
        #code_lines = code.splitlines()
        #for line in code_lines:
        #    self.assertTrue(pythonVersionUtils.isPython3(line),
        #                    "Expected %s to be python3, but it isn't" % line)
        #    scores = pythonVersionUtils.getScores(line)
        #    exp_scores = (0, 1)
        #    self.assertEqual(scores, exp_scores,
        #        "Expected score of %r for code '%s', got %s" % (exp_scores, line, scores))
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (0, 0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 8
0
    def test_py3_except(self):
        code= """\
try:
    import mymodule
except ImportError as e:
    pass
#...
try:
    import mymodule
except (RuntimeError, ImportError) as e:
    pass
"""
        scores = pythonVersionUtils.getScores(code)
	# This form is supported in Python 2.6, but not 2.5
        exp_scores = (0, 0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 9
0
    def test_py2_print_code(self):
        code= """\
print 1
print >>sys.stderr, 'yap'
print
print 1,2
print 1,2,
"""
        #code_lines = code.splitlines()
        #for line in code_lines:
        #    self.assertTrue(not pythonVersionUtils.isPython3(line),
        #                    "Expected %s to be python2, but it isn't" % line)
        #    scores = pythonVersionUtils.getScores(line)
        #    self.assertEqual(scores, (1,0),
        #        "Expected score of (1,0) for code '%s', got %s" % (line,scores))
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (5,0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))
Ejemplo n.º 10
0
    def test_py2_except(self):
        code = """
try:
    import mymodule
except ImportError, e:
    pass
# sep
try:
    import mymodule
except (RuntimeError, ImportError), e:
    pass
print('neutral')
raise MyException, 'error message'
print('neutral')
raise MyException # ok both ways
"""
        scores = pythonVersionUtils.getScores(code)
        exp_scores = (3, 0)
        self.assertEqual(scores, exp_scores,
            "Expected score of %r for code %s, got %s" % (exp_scores, code, scores))