"left" -> "accidentally placed at"

since "left" is kind of ambiguous, use more explicit terminology
here.

Also update the test to use a positive assertion that the
warning is emitted; quote the attribute name.

Change-Id: Ic2284c200a26b32b2da063cfaf6d59547309d587
References: https://github.com/zzzeek/sqlalchemy/pull/488
(cherry picked from commit eacb31a89f)
This commit is contained in:
Mike Bayer
2018-12-02 18:54:40 -05:00
parent 039d8a31f5
commit 5945da4e41
2 changed files with 7 additions and 13 deletions
+2 -2
View File
@@ -386,8 +386,8 @@ class _MapperConfig(object):
if (isinstance(value, tuple) and len(value) == 1 and
isinstance(value[0], (Column, MapperProperty))):
util.warn("Ignoring declarative-like tuple value of attribute "
"%s: possibly a copy-and-paste error with a comma "
"left at the end of the line?" % k)
"'%s': possibly a copy-and-paste error with a comma "
"accidentally placed at the end of the line?" % k)
continue
elif not isinstance(value, (Column, MapperProperty)):
# using @declared_attr for some object that
+5 -11
View File
@@ -1122,23 +1122,17 @@ class DeclarativeTest(DeclarativeTestBase):
eq_(Foo.__mapper__.CHECK, True)
@testing.emits_warning('Ignoring declarative-like tuple value of '
'attribute id')
def test_oops(self):
def define():
with testing.expect_warnings(
"Ignoring declarative-like tuple value of "
"attribute 'name'"):
class User(Base, fixtures.ComparableEntity):
__tablename__ = 'users'
id = Column('id', Integer, primary_key=True),
name = Column('name', String(50))
assert False
assert_raises_message(sa.exc.ArgumentError,
'Mapper Mapper|User|users could not '
'assemble any primary key', define)
id = Column('id', Integer, primary_key=True)
name = Column('name', String(50)),
def test_table_args_no_dict(self):