mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 17:39:20 +02:00
* Implement pascal class conversion test, from Mohamed Elemam
git-svn-id: trunk@34038 -
This commit is contained in:
parent
ffe626fe6e
commit
912c024f01
@ -102,6 +102,7 @@ type
|
|||||||
Procedure TestMemberExpressionArrayTwoDim;
|
Procedure TestMemberExpressionArrayTwoDim;
|
||||||
Procedure TestVariable;
|
Procedure TestVariable;
|
||||||
Procedure TestArrayVariable;
|
Procedure TestArrayVariable;
|
||||||
|
procedure TestClassDecleration;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TTestStatementConverter }
|
{ TTestStatementConverter }
|
||||||
@ -1156,7 +1157,26 @@ begin
|
|||||||
A:=TJSArrayLiteral(AssertElement('Init is array literal',TJSArrayLiteral,VD.Init));
|
A:=TJSArrayLiteral(AssertElement('Init is array literal',TJSArrayLiteral,VD.Init));
|
||||||
AssertEquals('No elements',0,A.Elements.Count);
|
AssertEquals('No elements',0,A.Elements.Count);
|
||||||
end;
|
end;
|
||||||
|
procedure TTestExpressionConverter.TestClassDecleration;
|
||||||
|
var
|
||||||
|
C: TPasClassType;
|
||||||
|
Decl: TPasDeclarations;
|
||||||
|
Sl: TJSStatementList;
|
||||||
|
Uni: TJSUnary;
|
||||||
|
Asi: TJSSimpleAssignStatement;
|
||||||
|
pex: TJSPrimaryExpressionIdent;
|
||||||
|
Call: TJSCallExpression;
|
||||||
|
begin
|
||||||
|
Decl:=TPasDeclarations.Create('',Nil);
|
||||||
|
C:=TPasClassType.Create('myclass',Nil);
|
||||||
|
Decl.Declarations.Add(c);
|
||||||
|
Sl:=TJSStatementList(Convert(Decl,TJSStatementList));
|
||||||
|
Uni:=TJSUnary(AssertElement('Sl.A is TJSUnary',TJSUnary,Sl.A));
|
||||||
|
Asi:=TJSSimpleAssignStatement(AssertElement('Sl.A is TJSUnary',TJSSimpleAssignStatement,Uni.A));
|
||||||
|
pex:=TJSPrimaryExpressionIdent(AssertElement('Asi.LHS is TJSPrimaryExpressionIdent',TJSPrimaryExpressionIdent,Asi.LHS));
|
||||||
|
AssertEquals('Correct name','myclass',pex.Name);
|
||||||
|
Call:=TJSCallExpression(AssertElement('Asi.Expr is TJSCallExpression',TJSCallExpression,Asi.Expr));
|
||||||
|
end;
|
||||||
procedure TTestTestConverter.TestEmpty;
|
procedure TTestTestConverter.TestEmpty;
|
||||||
begin
|
begin
|
||||||
AssertNotNull('Have converter',Converter);
|
AssertNotNull('Have converter',Converter);
|
||||||
|
Loading…
Reference in New Issue
Block a user