From e3c729dafee436a2b4e4536dda7987db45cef9a5 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 29 Nov 2011 12:43:20 -0500 Subject: [PATCH] - add test for dialect/impl-specific affinity comparison, #5 --- tests/test_autogenerate.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/test_autogenerate.py b/tests/test_autogenerate.py index 7e433665..0915fb51 100644 --- a/tests/test_autogenerate.py +++ b/tests/test_autogenerate.py @@ -1,5 +1,5 @@ from sqlalchemy import MetaData, Column, Table, Integer, String, Text, \ - Numeric, CHAR, ForeignKey, DATETIME + Numeric, CHAR, ForeignKey, DATETIME, TypeDecorator from sqlalchemy.types import NULLTYPE from alembic import autogenerate, context from unittest import TestCase @@ -217,6 +217,24 @@ class AutogenerateDiffTest(TestCase): ) assert not diff + def test_affinity_typedec(self): + class MyType(TypeDecorator): + impl = CHAR + + def load_dialect_impl(self, dialect): + if dialect.name == 'sqlite': + return dialect.type_descriptor(Integer()) + else: + return dialect.type_descriptor(CHAR(32)) + + diff = [] + autogenerate._compare_type("sometable", "somecol", + {"name":"somecol", "type":Integer(), + "nullable":True, "default":None}, + Column("somecol", MyType()), + diff, self.autogen_context + ) + assert not diff class AutogenRenderTest(TestCase): """test individual directives""" -- 2.47.2