Просмотр исходного кода

* fcl-db: sqlparser: test domain creation with check constraint like CHECK (VALUE STARTING WITH 'V');
Test currently fails: line 1, pos 53: Unexpected token: WITH

git-svn-id: trunk@27854 -

reiniero 11 лет назад
Родитель
Сommit
493d38ff95
1 измененных файлов с 19 добавлено и 1 удалено
  1. 19 1
      packages/fcl-db/tests/tcparser.pas

+ 19 - 1
packages/fcl-db/tests/tcparser.pas

@@ -1,6 +1,6 @@
 {
     This file is part of the Free Component Library
-    Copyright (c) 2010 by the Free Pascal development team
+    Copyright (c) 2010-2014 by the Free Pascal development team
 
     SQL source syntax parser test suite
 
@@ -222,6 +222,7 @@ type
     Procedure TestSimpleDomainAs;
     Procedure TestNotNullDomain;
     procedure TestDefaultNotNullDomain;
+    procedure TestCheckDomain;
     procedure TestAlterDomainDropDefault;
     procedure TestAlterDomainDropCheck;
     procedure TestAlterDomainDropCheckError;
@@ -2236,6 +2237,23 @@ begin
   AssertEquals('Not null',True,T.NotNull);
 end;
 
+procedure TTestDomainParser.TestCheckDomain;
+Var
+  P : TSQLCreateOrAlterStatement;
+  D : TSQLCreateDomainStatement;
+  T : TSQLTypeDefinition;
+
+begin
+  P:=TestCreateStatement('CREATE DOMAIN A AS CHAR(8) CHECK (VALUE STARTING WITH ''V'')','A',TSQLCreateDomainStatement);
+  CheckClass(P,TSQLCreateDomainStatement);
+  D:=TSQLCreateDomainStatement(P);
+  AssertNotNull('Have type Definition',D.TypeDefinition);
+  T:=D.TypeDefinition;
+  AssertNull('No default value',T.DefaultValue);
+  AssertEquals('Character data type',sdtChar,T.DataType);
+  AssertEquals('Not null',True,T.NotNull);
+end;
+
 procedure TTestDomainParser.TestAlterDomainDropDefault;
 begin
   TestCreateStatement('ALTER DOMAIN A DROP DEFAULT','A',TSQLAlterDomainDropDefaultStatement);