webidl: #if defined()

This commit is contained in:
mattias 2022-06-18 14:26:11 +02:00
parent bf25b32cb2
commit 1471d49fb6
2 changed files with 916 additions and 7 deletions

File diff suppressed because it is too large Load Diff

View File

@ -126,6 +126,7 @@ Type
Procedure ParseCustomAttributes1; Procedure ParseCustomAttributes1;
Procedure ParseIFDEFHeader; Procedure ParseIFDEFHeader;
Procedure ParseIfDefinedHeader;
end; end;
{ TTestMapLikeInterfaceParser } { TTestMapLikeInterfaceParser }
@ -1426,9 +1427,22 @@ begin
AssertEquals('Correct class',TIDLInterfaceDefinition,Definitions[0].ClassType); AssertEquals('Correct class',TIDLInterfaceDefinition,Definitions[0].ClassType);
d:=Definitions[0] as TIDLInterfaceDefinition; d:=Definitions[0] as TIDLInterfaceDefinition;
AssertEquals('Name','A',d.Name); AssertEquals('Name','A',d.Name);
AssertEquals('Inheritance : ','',d.ParentName);
AssertEquals('Member count',0,d.Members.Count); AssertEquals('Member count',0,d.Members.Count);
AssertEquals('Mixin correct',false,d.IsMixin); end;
procedure TTestInterfaceParser.ParseIfDefinedHeader;
var
d: TIDLInterfaceDefinition;
begin
InitSource('#if defined(Nothing)'+sLineBreak
+'Skip This'+sLineBreak
+'#endif'+sLineBreak
+'interface A;'+sLineBreak);
Parser.Parse;
AssertEquals('Correct class',TIDLInterfaceDefinition,Definitions[0].ClassType);
d:=Definitions[0] as TIDLInterfaceDefinition;
AssertEquals('Name','A',d.Name);
AssertEquals('Member count',0,d.Members.Count);
end; end;
procedure TTestConstInterfaceParser.ParseConstInt; procedure TTestConstInterfaceParser.ParseConstInt;