|
@@ -151,6 +151,7 @@ type
|
|
procedure TestInterfaceOneMethod;
|
|
procedure TestInterfaceOneMethod;
|
|
procedure TestInterfaceProperty;
|
|
procedure TestInterfaceProperty;
|
|
procedure TestInterfaceDispProperty;
|
|
procedure TestInterfaceDispProperty;
|
|
|
|
+ procedure TestInterfaceDispPropertyReadOnly;
|
|
procedure TestInterfaceNoConstructor;
|
|
procedure TestInterfaceNoConstructor;
|
|
procedure TestInterfaceNoDestructor;
|
|
procedure TestInterfaceNoDestructor;
|
|
procedure TestInterfaceNoFields;
|
|
procedure TestInterfaceNoFields;
|
|
@@ -1647,6 +1648,23 @@ begin
|
|
AssertEquals('Have number','1', (Property1.DispIDExpr as TPrimitiveExpr).Value);
|
|
AssertEquals('Have number','1', (Property1.DispIDExpr as TPrimitiveExpr).Value);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure TTestClassType.TestInterfaceDispPropertyReadOnly;
|
|
|
|
+begin
|
|
|
|
+ StartInterface('IInterface','',True);
|
|
|
|
+ AddMember('Property S : Integer readonly DispID 1');
|
|
|
|
+ EndClass();
|
|
|
|
+ ParseClass;
|
|
|
|
+ AssertEquals('Is interface',okDispInterface,TheClass.ObjKind);
|
|
|
|
+ if TheClass.members.Count<1 then
|
|
|
|
+ Fail('No members for method');
|
|
|
|
+ AssertNotNull('Have property',Property1);
|
|
|
|
+ AssertMemberName('S',Property1);
|
|
|
|
+ AssertNotNull('Have property dispID',Property1.DispIDExpr);
|
|
|
|
+ AssertTrue('DispID property is readonly',Property1.DispIDReadOnly);
|
|
|
|
+ AssertEquals('Have number',pekNumber,Property1.DispIDExpr.Kind);
|
|
|
|
+ AssertEquals('Have number','1', (Property1.DispIDExpr as TPrimitiveExpr).Value);
|
|
|
|
+end;
|
|
|
|
+
|
|
procedure TTestClassType.TestInterfaceNoConstructor;
|
|
procedure TTestClassType.TestInterfaceNoConstructor;
|
|
begin
|
|
begin
|
|
StartInterface('','');
|
|
StartInterface('','');
|