summaryrefslogtreecommitdiff
path: root/test/sql/test_defaults.py
diff options
context:
space:
mode:
authorTaavi Burns <taavi.burns@gmail.com>2011-03-14 14:42:11 -0400
committerTaavi Burns <taavi.burns@gmail.com>2011-03-14 14:42:11 -0400
commit82ea44781985ce608185370a648db729de2cc2d9 (patch)
tree646e8b472ed59ecd061ebc1266efaefeb65e7b0a /test/sql/test_defaults.py
parent3538e29a219e8e644d2f44c7f499571e5c1fae8e (diff)
downloadsqlalchemy-82ea44781985ce608185370a648db729de2cc2d9.tar.gz
Tests for unicode columns with non-unicode defaults. See #2079.
Diffstat (limited to 'test/sql/test_defaults.py')
-rw-r--r--test/sql/test_defaults.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py
index 617a29eda..eeb4ebbcb 100644
--- a/test/sql/test_defaults.py
+++ b/test/sql/test_defaults.py
@@ -5,7 +5,7 @@ from sqlalchemy.sql import select, text, literal_column
import sqlalchemy as sa
from test.lib import testing, engines
from sqlalchemy import MetaData, Integer, String, ForeignKey, Boolean, exc,\
- Sequence, func, literal
+ Sequence, func, literal, Unicode
from sqlalchemy.types import TypeDecorator
from test.lib.schema import Table, Column
from test.lib.testing import eq_
@@ -934,3 +934,29 @@ class ServerDefaultsOnPKTest(testing.TestBase):
[(5, 'data')]
)
+class UnicodeDefaultsTest(testing.TestBase):
+ def test_no_default(self):
+ c = Column(Unicode(32))
+
+ def test_unicode_default(self):
+ # Py3K
+ #default = 'foo'
+ # Py2K
+ default = u'foo'
+ # end Py2K
+ c = Column(Unicode(32), default=default)
+
+
+ def test_nonunicode_default(self):
+ # Py3K
+ #default = b'foo'
+ # Py2K
+ default = 'foo'
+ # end Py2K
+ assert_raises_message(
+ sa.exc.SAWarning,
+ "Unicode column received non-unicode default value.",
+ Column,
+ Unicode(32),
+ default=default
+ )