From 0014e65c1d77bcc7e89cec19974077ffbb329376 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sat, 29 Aug 2009 06:58:54 -0500 Subject: [PATCH] fix interpreting is/is not/in/not in --HG-- branch : trunk --- py/code/_assertionnew.py | 4 ++++ py/code/testing/test_assertion.py | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/py/code/_assertionnew.py b/py/code/_assertionnew.py index 29f76efd4..73430e9ae 100644 --- a/py/code/_assertionnew.py +++ b/py/code/_assertionnew.py @@ -68,6 +68,10 @@ operator_map = { ast.LtE : "<=", ast.Gt : ">", ast.GtE : ">=", + ast.Is : "is", + ast.IsNot : "is not", + ast.In : "in", + ast.NotIn : "not in" } unary_map = { diff --git a/py/code/testing/test_assertion.py b/py/code/testing/test_assertion.py index 14c5837d6..858ed3eca 100644 --- a/py/code/testing/test_assertion.py +++ b/py/code/testing/test_assertion.py @@ -65,6 +65,22 @@ def test_assert_multiline_2(): s = str(e) assert s.startswith('assert 2 ==') +def test_in(): + try: + assert "hi" in [1, 2] + except AssertionError: + e = exvalue() + s = str(e) + assert s.startswith("assert 'hi' in") + +def test_is(): + try: + assert 1 is 2 + except AssertionError: + e = exvalue() + s = str(e) + assert s.startswith("assert 1 is 2") + def test_assert_non_string_message(): class A: def __str__(self):