You've already forked lazarus-ccr
Object Pascal "record" serialization ( first commit! )
TTest_TIntfPoolItem TTest_TSimpleItemFactory TTest_XmlRpcFormatterExceptionBlock TTest_SoapFormatterExceptionBlock Record serialization test git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@243 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -15,7 +15,7 @@
|
||||
-$O+
|
||||
-$P+
|
||||
-$Q-
|
||||
-$R-
|
||||
-$R+
|
||||
-$S-
|
||||
-$T-
|
||||
-$U-
|
||||
|
@ -18,7 +18,7 @@ N=1
|
||||
O=1
|
||||
P=1
|
||||
Q=0
|
||||
R=0
|
||||
R=1
|
||||
S=0
|
||||
T=0
|
||||
U=0
|
||||
|
39
wst/trunk/tests/test_suite/simple_record_test.pas
Normal file
39
wst/trunk/tests/test_suite/simple_record_test.pas
Normal file
@ -0,0 +1,39 @@
|
||||
{$DEFINE HAS_QWORD}
|
||||
{$DEFINE HAS_COMP}
|
||||
|
||||
unit simple_record_test;
|
||||
interface
|
||||
|
||||
type
|
||||
TTestSmallRecord = record
|
||||
fieldSmallint : Smallint;
|
||||
fieldWord : Word;
|
||||
fieldString : string;
|
||||
end;
|
||||
|
||||
TTestRecord = record
|
||||
fieldByte : Byte;
|
||||
fieldShortInt : ShortInt;
|
||||
fieldSmallint : Smallint;
|
||||
fieldWord : Word;
|
||||
fieldInteget : Integer;
|
||||
fieldLongWord : LongWord;
|
||||
fieldInt64 : Int64;
|
||||
{$IFDEF HAS_QWORD}
|
||||
fieldQWord : QWord;
|
||||
{$ENDIF}
|
||||
{$IFDEF HAS_COMP}
|
||||
fieldComp : Comp;
|
||||
{$ENDIF}
|
||||
fieldSingle : Single;
|
||||
fieldDouble : Double;
|
||||
fieldExtended : Extended;
|
||||
fieldCurrency : Currency;
|
||||
fieldBoolean : Boolean;
|
||||
fieldString : string;
|
||||
fieldRecord : TTestSmallRecord;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
@ -13,9 +13,6 @@ uses
|
||||
TypInfo,
|
||||
base_service_intf, server_service_intf;
|
||||
|
||||
{$INCLUDE wst.inc}
|
||||
{$INCLUDE wst_delphi.inc}
|
||||
|
||||
type
|
||||
|
||||
ITest = interface
|
||||
@ -37,7 +34,35 @@ type
|
||||
constructor Create();override;
|
||||
end;
|
||||
|
||||
ISimple_A = interface
|
||||
['{D015AD95-6062-4650-9B00-CF3004E9CA1A}']//['{4793180A-DAA4-4E50-9194-5EEEE851EBE3}']
|
||||
end;
|
||||
|
||||
ISimple_B = interface
|
||||
['{4793180A-DAA4-4E50-9194-5EEEE851EBE3}']
|
||||
end;
|
||||
|
||||
TSimpleFactoryItem_A = class(TSimpleFactoryItem,IInterface,ISimple_A)
|
||||
end;
|
||||
|
||||
TSimpleFactoryItem_B = class(TSimpleFactoryItem,IInterface,ISimple_B)
|
||||
end;
|
||||
|
||||
{ TTest_TIntfPoolItem }
|
||||
|
||||
TTest_TIntfPoolItem = class(TTestCase)
|
||||
published
|
||||
procedure All();
|
||||
end;
|
||||
|
||||
{ TTest_TSimpleItemFactory }
|
||||
|
||||
TTest_TSimpleItemFactory = class(TTestCase)
|
||||
published
|
||||
procedure CreateProc();
|
||||
procedure CreateInstance();
|
||||
end;
|
||||
|
||||
{ TTest_TIntfPool }
|
||||
|
||||
TTest_TIntfPool= class(TTestCase)
|
||||
@ -447,15 +472,121 @@ begin
|
||||
Check(oldElt <> elt,'4.2');
|
||||
end;
|
||||
|
||||
{ TTest_TIntfPoolItem }
|
||||
|
||||
procedure TTest_TIntfPoolItem.All();
|
||||
var
|
||||
i : IInterface;
|
||||
b : Boolean;
|
||||
a : TIntfPoolItem;
|
||||
begin
|
||||
i := nil;
|
||||
b := False;
|
||||
a := TIntfPoolItem.Create(i,b);
|
||||
try
|
||||
Check(( i = a.Intf ),'Create() > Intf');
|
||||
CheckEquals(b,a.Used,'Create() > Used');
|
||||
b := not b;
|
||||
a.Used := b;
|
||||
CheckEquals(b,a.Used,'Used');
|
||||
finally
|
||||
FreeAndNil(a);
|
||||
end;
|
||||
a := nil;
|
||||
|
||||
i := nil;
|
||||
b := True;
|
||||
a := TIntfPoolItem.Create(i,b);
|
||||
try
|
||||
Check(( i = a.Intf ),'Create() > Intf');
|
||||
CheckEquals(b,a.Used,'Create() > Used');
|
||||
b := not b;
|
||||
a.Used := b;
|
||||
CheckEquals(b,a.Used,'Used');
|
||||
finally
|
||||
FreeAndNil(a);
|
||||
end;
|
||||
end;
|
||||
|
||||
{ TTest_TSimpleItemFactory }
|
||||
|
||||
procedure TTest_TSimpleItemFactory.CreateInstance();
|
||||
var
|
||||
b, a : IItemFactory;
|
||||
itm : IInterface;
|
||||
begin
|
||||
a := TSimpleItemFactory.Create(TSimpleFactoryItem_A);
|
||||
itm := a.CreateInstance();
|
||||
CheckEquals(True,Assigned(itm));
|
||||
CheckEquals(True,Supports(itm,ISimple_A));
|
||||
|
||||
itm := a.CreateInstance();
|
||||
CheckEquals(True,Assigned(itm));
|
||||
CheckEquals(True,Supports(itm,ISimple_A));
|
||||
|
||||
b := TSimpleItemFactory.Create(TSimpleFactoryItem_B);
|
||||
itm := b.CreateInstance();
|
||||
CheckEquals(True,Assigned(itm));
|
||||
CheckEquals(True,Supports(itm,ISimple_B));
|
||||
|
||||
itm := b.CreateInstance();
|
||||
CheckEquals(True,Assigned(itm));
|
||||
CheckEquals(True,Supports(itm,ISimple_B));
|
||||
end;
|
||||
|
||||
type
|
||||
|
||||
{ TSimpleItemFactoryCrack }
|
||||
|
||||
TSimpleItemFactoryCrack = class(TSimpleItemFactory)
|
||||
public
|
||||
function GetItemClass() : TSimpleFactoryItemClass;
|
||||
end;
|
||||
|
||||
{ TSimpleItemFactoryCrack }
|
||||
|
||||
function TSimpleItemFactoryCrack.GetItemClass() : TSimpleFactoryItemClass;
|
||||
begin
|
||||
Result := inherited GetItemClass();
|
||||
end;
|
||||
|
||||
procedure TTest_TSimpleItemFactory.CreateProc();
|
||||
var
|
||||
a : IItemFactory;
|
||||
b : TSimpleItemFactoryCrack;
|
||||
ok : Boolean;
|
||||
begin
|
||||
ok := False;
|
||||
try
|
||||
TSimpleItemFactory.Create(nil);
|
||||
except
|
||||
on e : EServiceConfigException do begin
|
||||
ok := True;
|
||||
end;
|
||||
end;
|
||||
CheckEquals(True,ok,'Create(nil)');
|
||||
|
||||
b := TSimpleItemFactoryCrack.Create(TSimpleFactoryItem_A);
|
||||
CheckEquals(TSimpleFactoryItem_A,b.GetItemClass());
|
||||
FreeAndNil(b);
|
||||
|
||||
b := TSimpleItemFactoryCrack.Create(TSimpleFactoryItem_B);
|
||||
CheckEquals(TSimpleFactoryItem_B,b.GetItemClass());
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$IFDEF FPC}
|
||||
RegisterTest(TTest_TIntfPool);
|
||||
RegisterTest(TTest_TSimpleItemFactoryEx);
|
||||
RegisterTest(TTest_TImplementationFactory);
|
||||
RegisterTest(TTest_TIntfPoolItem);
|
||||
RegisterTest(TTest_TImplementationFactory);
|
||||
{$ELSE}
|
||||
RegisterTest(TTest_TIntfPool.Suite);
|
||||
RegisterTest(TTest_TSimpleItemFactoryEx.Suite);
|
||||
RegisterTest(TTest_TImplementationFactory.Suite);
|
||||
RegisterTest(TTest_TIntfPoolItem.Suite);
|
||||
RegisterTest(TTest_TImplementationFactory.Suite);
|
||||
{$ENDIF}
|
||||
|
||||
end.
|
||||
|
@ -19,14 +19,12 @@ uses
|
||||
Classes, SysUtils,
|
||||
{$IFDEF FPC}
|
||||
fpcunit, testutils, testregistry,
|
||||
{$ELSE}
|
||||
TestFrameWork,
|
||||
{$ENDIF}
|
||||
{$IFNDEF FPC}
|
||||
TestFrameWork, ActiveX,
|
||||
{$ENDIF}
|
||||
TypInfo,
|
||||
base_service_intf;
|
||||
|
||||
{$INCLUDE wst.inc}
|
||||
{$INCLUDE wst_delphi.inc}
|
||||
base_service_intf, wst_types, server_service_intf, service_intf;
|
||||
|
||||
type
|
||||
|
||||
@ -285,6 +283,31 @@ type
|
||||
|
||||
TEmbeddedArrayOfStringRemotable = class(TArrayOfStringRemotable);
|
||||
|
||||
TTestSmallRecord = record
|
||||
fieldSmallint : Smallint;
|
||||
fieldWord : Word;
|
||||
fieldString : string;
|
||||
end;
|
||||
|
||||
TTestRecord = record
|
||||
fieldByte : Byte;
|
||||
fieldShortInt : ShortInt;
|
||||
fieldSmallint : Smallint;
|
||||
fieldWord : Word;
|
||||
fieldInteger : Integer;
|
||||
fieldLongWord : LongWord;
|
||||
fieldInt64 : Int64;
|
||||
fieldQWord : QWord;
|
||||
fieldComp : Comp;
|
||||
fieldSingle : Single;
|
||||
fieldDouble : Double;
|
||||
fieldExtended : Extended;
|
||||
fieldCurrency : Currency;
|
||||
fieldBoolean : Boolean;
|
||||
fieldString : string;
|
||||
fieldRecord : TTestSmallRecord;
|
||||
end;
|
||||
|
||||
{ TTestFormatterSimpleType }
|
||||
|
||||
TTestFormatterSimpleType= class(TTestCase)
|
||||
@ -352,6 +375,9 @@ type
|
||||
procedure Test_FloatCurrencyArray();
|
||||
|
||||
procedure Test_ComplexInt32S();
|
||||
|
||||
procedure Test_Record_simple();
|
||||
procedure Test_Record_nested();
|
||||
end;
|
||||
|
||||
{ TTestBinaryFormatter }
|
||||
@ -452,8 +478,43 @@ type
|
||||
procedure ParseDate();
|
||||
end;
|
||||
|
||||
{ TTest_SoapFormatterExceptionBlock }
|
||||
|
||||
TTest_SoapFormatterExceptionBlock = class(TTestCase)
|
||||
protected
|
||||
procedure SetUp(); override;
|
||||
procedure TearDown(); override;
|
||||
function CreateFormatter():IFormatterResponse;
|
||||
function CreateFormatterClient():IFormatterClient;
|
||||
published
|
||||
procedure ExceptBlock_server();
|
||||
procedure ExceptBlock_client();
|
||||
end;
|
||||
|
||||
{ TTest_XmlRpcFormatterExceptionBlock }
|
||||
|
||||
TTest_XmlRpcFormatterExceptionBlock = class(TTestCase)
|
||||
protected
|
||||
procedure SetUp(); override;
|
||||
procedure TearDown(); override;
|
||||
function CreateFormatter():IFormatterResponse;
|
||||
function CreateFormatterClient():IFormatterClient;
|
||||
published
|
||||
procedure ExceptBlock_server();
|
||||
procedure ExceptBlock_client();
|
||||
end;
|
||||
|
||||
implementation
|
||||
uses base_binary_formatter, base_soap_formatter, base_xmlrpc_formatter;
|
||||
uses base_binary_formatter, base_soap_formatter, base_xmlrpc_formatter, record_rtti,
|
||||
Math, imp_utils
|
||||
{$IFNDEF FPC}
|
||||
, xmldom, wst_delphi_xml
|
||||
{$ENDIF}
|
||||
{$IFDEF FPC}
|
||||
, DOM, XMLRead, wst_fpc_xml
|
||||
{$ENDIF}
|
||||
, server_service_soap, soap_formatter,
|
||||
server_service_xmlrpc, xmlrpc_formatter;
|
||||
|
||||
function TTestFormatterSimpleType.Support_ComplextType_with_SimpleContent( ): Boolean;
|
||||
begin
|
||||
@ -2502,6 +2563,139 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestFormatter.Test_Record_simple();
|
||||
const VAL_1 : Integer = 12; VAL_2 : Integer = -76; VAL_3 = 'wst record sample';
|
||||
var
|
||||
f : IFormatterBase;
|
||||
s : TMemoryStream;
|
||||
x : string;
|
||||
a : TTestSmallRecord;
|
||||
begin
|
||||
s := nil;
|
||||
try
|
||||
a.fieldWord := VAL_1;
|
||||
a.fieldSmallint := VAL_2;
|
||||
a.fieldString := VAL_3;
|
||||
f := CreateFormatter(TypeInfo(TClass_Int));
|
||||
|
||||
f.BeginObject('Root',TypeInfo(TClass_Int));
|
||||
f.Put('a',TypeInfo(TTestSmallRecord),a);
|
||||
f.EndScope();
|
||||
a.fieldWord := 0;
|
||||
a.fieldSmallint := 0;
|
||||
a.fieldString := '';
|
||||
s := TMemoryStream.Create();
|
||||
f.SaveToStream(s); s.SaveToFile(ClassName + '.Test_Record_simple.xml');
|
||||
|
||||
f := CreateFormatter(TypeInfo(TClass_Int));
|
||||
s.Position := 0;
|
||||
f.LoadFromStream(s);
|
||||
x := 'Root';
|
||||
f.BeginObjectRead(x,TypeInfo(TClass_Int));
|
||||
x := 'a';
|
||||
f.Get(TypeInfo(TTestSmallRecord),x,a);
|
||||
f.EndScopeRead();
|
||||
|
||||
CheckEquals(VAL_1,a.fieldWord);
|
||||
CheckEquals(VAL_2,a.fieldSmallint);
|
||||
CheckEquals(VAL_3,a.fieldString);
|
||||
finally
|
||||
s.Free();
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTestFormatter.Test_Record_nested();
|
||||
const
|
||||
VAL_EPSILON = 0.0001;
|
||||
VAL_EMPTY_RECORD : TTestRecord = (
|
||||
fieldByte : 0;
|
||||
fieldShortInt : 0;
|
||||
fieldSmallint : 0;
|
||||
fieldWord : 0;
|
||||
fieldInteger : 0;
|
||||
fieldLongWord : 0;
|
||||
fieldInt64 : 0;
|
||||
fieldQWord : 0;
|
||||
fieldComp : 0;
|
||||
fieldSingle : 0;
|
||||
fieldDouble : 0;
|
||||
fieldExtended : 0;
|
||||
fieldCurrency : 0;
|
||||
fieldBoolean : False;
|
||||
fieldString : '';
|
||||
fieldRecord : ( fieldSmallint : 0; fieldWord : 0; fieldString : '');
|
||||
);
|
||||
VAL_RECORD : TTestRecord = (
|
||||
fieldByte : 12;
|
||||
fieldShortInt : -10;
|
||||
fieldSmallint : 76;
|
||||
fieldWord : 34;
|
||||
fieldInteger : -45;
|
||||
fieldLongWord : 567;
|
||||
fieldInt64 : 8910;
|
||||
fieldQWord : 111213;
|
||||
fieldComp : 141516;
|
||||
fieldSingle : 1718;
|
||||
fieldDouble : -1819;
|
||||
fieldExtended : 2021;
|
||||
fieldCurrency : -2122;
|
||||
fieldBoolean : True;
|
||||
fieldString : 'sample record string 0123456789';
|
||||
fieldRecord : ( fieldSmallint : 10; fieldWord : 11; fieldString : 'azertyqwerty');
|
||||
);
|
||||
var
|
||||
f : IFormatterBase;
|
||||
s : TMemoryStream;
|
||||
x : string;
|
||||
a : TTestRecord;
|
||||
begin
|
||||
s := nil;
|
||||
try
|
||||
a := VAL_RECORD;
|
||||
f := CreateFormatter(TypeInfo(TClass_Int));
|
||||
|
||||
f.BeginObject('Root',TypeInfo(TClass_Int));
|
||||
f.Put('a',TypeInfo(TTestRecord),a);
|
||||
f.EndScope();
|
||||
a := VAL_EMPTY_RECORD;
|
||||
s := TMemoryStream.Create();
|
||||
f.SaveToStream(s); s.SaveToFile(ClassName + '.Test_Record_nested.xml');
|
||||
|
||||
f := CreateFormatter(TypeInfo(TClass_Int));
|
||||
s.Position := 0;
|
||||
f.LoadFromStream(s);
|
||||
x := 'Root';
|
||||
f.BeginObjectRead(x,TypeInfo(TClass_Int));
|
||||
x := 'a';
|
||||
f.Get(TypeInfo(TTestRecord),x,a);
|
||||
f.EndScopeRead();
|
||||
|
||||
CheckEquals(VAL_RECORD.fieldBoolean,a.fieldBoolean,'fieldBoolean');
|
||||
CheckEquals(VAL_RECORD.fieldByte,a.fieldByte,'fieldByte');
|
||||
{$IFDEF HAS_COMP}
|
||||
CheckEquals(VAL_RECORD.fieldComp,a.fieldComp,'fieldComp');
|
||||
{$ENDIF}
|
||||
Check(IsZero(VAL_RECORD.fieldCurrency-a.fieldCurrency,VAL_EPSILON),'fieldCurrency');
|
||||
Check(IsZero(VAL_RECORD.fieldExtended-a.fieldExtended,VAL_EPSILON),'fieldExtended');
|
||||
CheckEquals(VAL_RECORD.fieldInt64,a.fieldInt64,'fieldInt64');
|
||||
CheckEquals(VAL_RECORD.fieldInteger,a.fieldInteger,'fieldInteger');
|
||||
Check(VAL_RECORD.fieldLongWord = a.fieldLongWord,'fieldLongWord');
|
||||
{$IFDEF HAS_QWORD}
|
||||
CheckEquals(VAL_RECORD.fieldQWord,a.fieldQWord,'fieldQWord');
|
||||
{$ENDIF}
|
||||
CheckEquals(VAL_RECORD.fieldRecord.fieldSmallint,a.fieldRecord.fieldSmallint,'fieldSmallint');
|
||||
CheckEquals(VAL_RECORD.fieldRecord.fieldString,a.fieldRecord.fieldString,'fieldString');
|
||||
CheckEquals(VAL_RECORD.fieldRecord.fieldWord,a.fieldRecord.fieldWord,'fieldWord');
|
||||
CheckEquals(VAL_RECORD.fieldShortInt,a.fieldShortInt,'fieldShortInt');
|
||||
Check(IsZero(VAL_RECORD.fieldSingle-a.fieldSingle,VAL_EPSILON),'fieldSingle');
|
||||
CheckEquals(VAL_RECORD.fieldSmallint,a.fieldSmallint,'fieldSmallint');
|
||||
CheckEquals(VAL_RECORD.fieldString,a.fieldString,'fieldString');
|
||||
CheckEquals(VAL_RECORD.fieldWord,a.fieldWord,'fieldWord');
|
||||
finally
|
||||
s.Free();
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TTestBinaryFormatter }
|
||||
|
||||
@ -3151,6 +3345,386 @@ begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
{ TTest_SoapFormatterExceptionBlock }
|
||||
|
||||
function TTest_SoapFormatterExceptionBlock.CreateFormatter() : IFormatterResponse;
|
||||
begin
|
||||
Result := server_service_soap.TSOAPFormatter.Create() as IFormatterResponse;
|
||||
end;
|
||||
|
||||
function TTest_SoapFormatterExceptionBlock.CreateFormatterClient() : IFormatterClient;
|
||||
begin
|
||||
Result := soap_formatter.TSOAPFormatter.Create() as IFormatterClient;
|
||||
end;
|
||||
|
||||
function FindAttributeByValueInNode(
|
||||
const AAttValue : string;
|
||||
const ANode : TDOMNode;
|
||||
out AResAtt : string
|
||||
):boolean;
|
||||
Var
|
||||
i,c : Integer;
|
||||
begin
|
||||
AResAtt := '';
|
||||
if Assigned(ANode) and
|
||||
Assigned(ANode.Attributes) and
|
||||
( ANode.Attributes.Length > 0 )
|
||||
then begin
|
||||
c := Pred(ANode.Attributes.Length);
|
||||
For i := 0 To c Do Begin
|
||||
If AnsiSameText(AAttValue,ANode.Attributes.Item[i].NodeValue) Then Begin
|
||||
AResAtt := ANode.Attributes.Item[i].NodeName;
|
||||
Result := True;
|
||||
Exit;
|
||||
End;
|
||||
End;
|
||||
end;
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TTest_SoapFormatterExceptionBlock.ExceptBlock_server();
|
||||
const
|
||||
VAL_CODE = 'Server.CustomCode.Test'; VAL_MSG = 'This is a sample exception message.';
|
||||
var
|
||||
f : IFormatterResponse;
|
||||
strm : TMemoryStream;
|
||||
|
||||
envNd : TDOMElement;
|
||||
bdyNd, fltNd, hdrNd, tmpNode : TDOMNode;
|
||||
nsShortName,eltName, msgBuff : string;
|
||||
doc : TXMLDocument;
|
||||
begin
|
||||
f := CreateFormatter();
|
||||
f.BeginExceptionList(VAL_CODE,VAL_MSG);
|
||||
f.EndExceptionList();
|
||||
strm := TMemoryStream.Create();
|
||||
try
|
||||
f.SaveToStream(strm);strm.SaveToFile('TTest_SoapFormatterExceptionBlock.ExceptBlock.xml');
|
||||
strm.Position := 0;
|
||||
ReadXMLFile(doc,strm);
|
||||
if FindAttributeByValueInNode(sSOAP_ENV,doc.DocumentElement,nsShortName) or
|
||||
FindAttributeByValueInNode('"' + sSOAP_ENV + '"',doc.DocumentElement,nsShortName)
|
||||
then begin
|
||||
nsShortName := Copy(nsShortName,1 + Pos(':',nsShortName),MaxInt);
|
||||
if not IsStrEmpty(nsShortName) then
|
||||
nsShortName := nsShortName + ':';
|
||||
end else begin
|
||||
nsShortName := '';
|
||||
end;
|
||||
eltName := nsShortName + sENVELOPE;
|
||||
envNd := doc.DocumentElement;
|
||||
if not SameText(eltName,envNd.NodeName) then
|
||||
check(False,Format('XML root node must be "Envelope", found : "%s"',[envNd.NodeName + ':::' + nsShortName]));
|
||||
|
||||
bdyNd := envNd.FirstChild;
|
||||
if not Assigned(bdyNd) then
|
||||
check(False,'Node not found : "Body".');
|
||||
|
||||
eltName := nsShortName + 'Body';
|
||||
if not SameText(bdyNd.NodeName,eltName) then begin
|
||||
check(False,'Node not found : "Body".');
|
||||
end;
|
||||
|
||||
bdyNd := envNd.FirstChild;
|
||||
If Not Assigned(bdyNd) Then
|
||||
check(False,'Node not found : "Body"');
|
||||
If Not SameText(bdyNd.NodeName,eltName) Then
|
||||
bdyNd := bdyNd.NextSibling;
|
||||
If Not Assigned(bdyNd) Then
|
||||
Check(False,'Node not found : "Body"');
|
||||
If Not Assigned(bdyNd.FirstChild) Then
|
||||
Check(False,'Response Node not found');
|
||||
eltName := nsShortName + 'Fault';
|
||||
if SameText(eltName,bdyNd.FirstChild.NodeName) then begin
|
||||
fltNd := bdyNd.FirstChild;
|
||||
eltName := 'faultcode';
|
||||
tmpNode := FindNode(fltNd,eltName);
|
||||
if not Assigned(tmpNode) then
|
||||
Check(False,Format('"%s" Node not found.',[eltName]));
|
||||
if tmpNode.HasChildNodes then
|
||||
msgBuff := tmpNode.FirstChild.NodeValue
|
||||
else
|
||||
msgBuff := tmpNode.NodeValue;
|
||||
CheckEquals(VAL_CODE,msgBuff,eltName);
|
||||
|
||||
eltName := 'faultstring';
|
||||
tmpNode := FindNode(fltNd,eltName);
|
||||
if not Assigned(tmpNode) then
|
||||
Check(False,Format('"%s" Node not found.',[eltName]));
|
||||
if tmpNode.HasChildNodes then
|
||||
msgBuff := tmpNode.FirstChild.NodeValue
|
||||
else
|
||||
msgBuff := tmpNode.NodeValue;
|
||||
CheckEquals(VAL_MSG,msgBuff,eltName);
|
||||
end;
|
||||
finally
|
||||
FreeAndNil(strm);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTest_SoapFormatterExceptionBlock.ExceptBlock_client();
|
||||
const
|
||||
VAL_CODE = 'Server.CustomCode.Test'; VAL_MSG = 'This is a sample exception message.';
|
||||
VAL_STREAM =
|
||||
'<?xml version="1.0"?> '+
|
||||
' <SOAP-ENV:Envelope ' +
|
||||
' xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' +
|
||||
' xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" ' +
|
||||
' xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> ' +
|
||||
' <SOAP-ENV:Body> '+
|
||||
' <SOAP-ENV:Fault> '+
|
||||
' <faultcode>' + VAL_CODE + '</faultcode> '+
|
||||
' <faultstring>' + VAL_MSG +'</faultstring> '+
|
||||
' </SOAP-ENV:Fault> '+
|
||||
' </SOAP-ENV:Body> '+
|
||||
' </SOAP-ENV:Envelope>';
|
||||
var
|
||||
f : IFormatterClient;
|
||||
strm : TStringStream;
|
||||
excpt_code, excpt_msg : string;
|
||||
begin
|
||||
excpt_code := '';
|
||||
excpt_msg := '';
|
||||
f := CreateFormatterClient();
|
||||
strm := TStringStream.Create(VAL_STREAM);
|
||||
try
|
||||
strm.Position := 0;
|
||||
f.LoadFromStream(strm);
|
||||
try
|
||||
f.BeginCallRead(nil);
|
||||
Check(False,'BeginCallRead() should raise an exception.');
|
||||
except
|
||||
on e : ESOAPException do begin
|
||||
excpt_code := e.FaultCode;
|
||||
excpt_msg := e.FaultString;
|
||||
end;
|
||||
end;
|
||||
CheckEquals(VAL_CODE,excpt_code,'faultCode');
|
||||
CheckEquals(VAL_MSG,excpt_msg,'faultString');
|
||||
finally
|
||||
FreeAndNil(strm);
|
||||
end;
|
||||
end;
|
||||
|
||||
{$IFDEF WST_RECORD_RTTI}
|
||||
function __TTestSmallRecord_TYPEINFO_FUNC__() : PTypeInfo;
|
||||
var
|
||||
p : ^TTestSmallRecord;
|
||||
r : TTestSmallRecord;
|
||||
begin
|
||||
p := @r;
|
||||
Result := MakeRawTypeInfo(
|
||||
'TTestSmallRecord',
|
||||
SizeOf(TTestSmallRecord),
|
||||
[ PtrUInt(@(p^.fieldSmallint)) - PtrUInt(p), PtrUInt(@(p^.fieldWord)) - PtrUInt(p), PtrUInt(@(p^.fieldString)) - PtrUInt(p) ],
|
||||
[ TypeInfo(SmallInt), TypeInfo(Word), TypeInfo(String) ]
|
||||
);
|
||||
end;
|
||||
{$ENDIF WST_RECORD_RTTI}
|
||||
|
||||
{$IFDEF WST_RECORD_RTTI}
|
||||
function __TTestRecord_TYPEINFO_FUNC__() : PTypeInfo;
|
||||
var
|
||||
p : ^TTestRecord;
|
||||
r : TTestRecord;
|
||||
begin
|
||||
p := @r;
|
||||
Result := MakeRawTypeInfo(
|
||||
'TTestRecord',
|
||||
SizeOf(TTestRecord),
|
||||
[ PtrUInt(@(p^.fieldByte)) - PtrUInt(p), PtrUInt(@(p^.fieldShortInt)) - PtrUInt(p), PtrUInt(@(p^.fieldSmallint)) - PtrUInt(p), PtrUInt(@(p^.fieldWord)) - PtrUInt(p), PtrUInt(@(p^.fieldInteger)) - PtrUInt(p), PtrUInt(@(p^.fieldLongWord)) - PtrUInt(p), PtrUInt(@(p^.fieldInt64)) - PtrUInt(p), PtrUInt(@(p^.fieldQWord)) - PtrUInt(p), PtrUInt(@(p^.fieldComp)) - PtrUInt(p), PtrUInt(@(p^.fieldSingle)) - PtrUInt(p), PtrUInt(@(p^.fieldDouble)) - PtrUInt(p), PtrUInt(@(p^.fieldExtended)) - PtrUInt(p), PtrUInt(@(p^.fieldCurrency)) - PtrUInt(p), PtrUInt(@(p^.fieldBoolean)) - PtrUInt(p), PtrUInt(@(p^.fieldString)) - PtrUInt(p), PtrUInt(@(p^.fieldRecord)) - PtrUInt(p) ],
|
||||
[ TypeInfo(Byte), TypeInfo(ShortInt), TypeInfo(SmallInt), TypeInfo(Word), TypeInfo(Integer), TypeInfo(LongWord), TypeInfo(Int64), TypeInfo(QWord), TypeInfo(Comp), TypeInfo(Single), TypeInfo(Double), TypeInfo(Extended), TypeInfo(Currency), TypeInfo(Boolean), TypeInfo(String), TypeInfo(TTestSmallRecord) ]
|
||||
);
|
||||
end;
|
||||
{$ENDIF WST_RECORD_RTTI}
|
||||
|
||||
procedure TTest_SoapFormatterExceptionBlock.SetUp();
|
||||
begin
|
||||
inherited;
|
||||
{$IFNDEF FPC}
|
||||
CoInitialize(nil);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TTest_SoapFormatterExceptionBlock.TearDown();
|
||||
begin
|
||||
{$IFNDEF FPC}
|
||||
CoUninitialize();
|
||||
{$ENDIF}
|
||||
inherited;
|
||||
end;
|
||||
|
||||
{ TTest_XmlRpcFormatterExceptionBlock }
|
||||
|
||||
procedure TTest_XmlRpcFormatterExceptionBlock.SetUp();
|
||||
begin
|
||||
inherited;
|
||||
{$IFNDEF FPC}
|
||||
CoInitialize(nil);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TTest_XmlRpcFormatterExceptionBlock.TearDown();
|
||||
begin
|
||||
{$IFNDEF FPC}
|
||||
CoUninitialize();
|
||||
{$ENDIF}
|
||||
inherited;
|
||||
end;
|
||||
|
||||
function TTest_XmlRpcFormatterExceptionBlock.CreateFormatter() : IFormatterResponse;
|
||||
begin
|
||||
Result := server_service_xmlrpc.TXmlRpcFormatter.Create() as IFormatterResponse;
|
||||
end;
|
||||
|
||||
function TTest_XmlRpcFormatterExceptionBlock.CreateFormatterClient() : IFormatterClient;
|
||||
begin
|
||||
Result := xmlrpc_formatter.TXmlRpcFormatter.Create() as IFormatterClient;
|
||||
end;
|
||||
|
||||
procedure TTest_XmlRpcFormatterExceptionBlock.ExceptBlock_server();
|
||||
function loc_FindNode(AScope : TDOMNode; const ANodeName: string): TDOMNode;
|
||||
var
|
||||
memberNode, tmpNode : TDOMNode;
|
||||
i : Integer;
|
||||
chilNodes : TDOMNodeList;
|
||||
nodeFound : Boolean;
|
||||
begin
|
||||
Result := nil;
|
||||
if AScope.HasChildNodes() then begin
|
||||
nodeFound := False;
|
||||
memberNode := AScope.FirstChild;
|
||||
while ( not nodeFound ) and ( memberNode <> nil ) do begin
|
||||
if memberNode.HasChildNodes() then begin
|
||||
chilNodes := memberNode.ChildNodes;
|
||||
for i := 0 to Pred(GetNodeListCount(chilNodes)) do begin
|
||||
tmpNode := chilNodes.Item[i];
|
||||
if AnsiSameText(sNAME,tmpNode.NodeName) and
|
||||
( tmpNode.FirstChild <> nil ) and
|
||||
AnsiSameText(ANodeName,tmpNode.FirstChild.NodeValue)
|
||||
then begin
|
||||
nodeFound := True;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
if nodeFound then begin
|
||||
tmpNode := FindNode(memberNode,sVALUE);
|
||||
if ( tmpNode <> nil ) and ( tmpNode.FirstChild <> nil ) then begin
|
||||
Result := tmpNode.FirstChild;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
memberNode := memberNode.NextSibling;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
const VAL_CODE = '1210'; VAL_MSG = 'This is a sample exception message.';
|
||||
var
|
||||
f : IFormatterResponse;
|
||||
strm : TMemoryStream;
|
||||
callNode : TDOMElement;
|
||||
faultNode, faultStruct, tmpNode : TDOMNode;
|
||||
doc : TXMLDocument;
|
||||
eltName : string;
|
||||
excpt_Obj : EXmlRpcException;
|
||||
excpt_code, excpt_msg : string;
|
||||
begin
|
||||
f := CreateFormatter();
|
||||
f.BeginExceptionList(VAL_CODE,VAL_MSG);
|
||||
f.EndExceptionList();
|
||||
strm := TMemoryStream.Create();
|
||||
try
|
||||
f.SaveToStream(strm);strm.SaveToFile('TTest_XmlRpcFormatterExceptionBlock.ExceptBlock.xml');
|
||||
strm.Position := 0;
|
||||
ReadXMLFile(doc,strm);
|
||||
callNode := doc.DocumentElement;
|
||||
if not SameText(base_xmlrpc_formatter.sMETHOD_RESPONSE,callNode.NodeName) then
|
||||
Check(False,Format('XML root node must be "%s".',[base_xmlrpc_formatter.sMETHOD_RESPONSE]));
|
||||
|
||||
faultNode := FindNode(callNode,base_xmlrpc_formatter.sFAULT);
|
||||
if ( faultNode = nil ) then begin
|
||||
Check(False,Format('Invalid XmlRPC response message, "%s" or "%s" are not present.',[base_xmlrpc_formatter.sPARAMS,base_xmlrpc_formatter.sFAULT]));
|
||||
end;
|
||||
tmpNode := FindNode(faultNode,base_xmlrpc_formatter.sVALUE);
|
||||
if ( tmpNode = nil ) then begin
|
||||
Check(False,Format('Invalid XmlRPC fault response message, "%s" is not present.',[base_xmlrpc_formatter.sVALUE]));
|
||||
end;
|
||||
faultStruct := FindNode(tmpNode,XmlRpcDataTypeNames[xdtStruct]);
|
||||
if ( faultStruct = nil ) then begin
|
||||
Check(False,Format('Invalid XmlRPC fault response message, "%s" is not present.',[XmlRpcDataTypeNames[xdtStruct]]));
|
||||
end;
|
||||
tmpNode := loc_FindNode(faultStruct,base_xmlrpc_formatter.sFAULT_CODE);
|
||||
if ( tmpNode = nil ) then begin
|
||||
Check(False,Format('Invalid XmlRPC fault response message, "%s" is not present.',[base_xmlrpc_formatter.sFAULT_CODE]));
|
||||
end;
|
||||
excpt_code := tmpNode.FirstChild.NodeValue;
|
||||
CheckEquals(VAL_CODE,excpt_code,base_xmlrpc_formatter.sFAULT_STRING);
|
||||
tmpNode := loc_FindNode(faultStruct,base_xmlrpc_formatter.sFAULT_STRING);
|
||||
if ( tmpNode = nil ) then begin
|
||||
Check(False,Format('Invalid XmlRPC fault response message, "%s" is not present.',[base_xmlrpc_formatter.sFAULT_STRING]));
|
||||
end;
|
||||
excpt_msg := tmpNode.FirstChild.NodeValue;
|
||||
CheckEquals(VAL_MSG,excpt_msg,base_xmlrpc_formatter.sFAULT_STRING);
|
||||
finally
|
||||
FreeAndNil(strm);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTest_XmlRpcFormatterExceptionBlock.ExceptBlock_client();
|
||||
const
|
||||
VAL_CODE = '1210'; VAL_MSG = 'This is a sample exception message.';
|
||||
VAL_STREAM =
|
||||
'<?xml version="1.0"?> ' +
|
||||
' <methodResponse> ' +
|
||||
' <fault> ' +
|
||||
' <value> ' +
|
||||
' <struct> ' +
|
||||
' <member> ' +
|
||||
' <name>faultCode</name> ' +
|
||||
' <value> ' +
|
||||
' <int>' + VAL_CODE + '</int> ' +
|
||||
' </value> ' +
|
||||
' </member> ' +
|
||||
' <member> ' +
|
||||
' <name>faultString</name> ' +
|
||||
' <value> ' +
|
||||
' <string>' + VAL_MSG + '</string> ' +
|
||||
' </value> ' +
|
||||
' </member> ' +
|
||||
' </struct> ' +
|
||||
' </value> ' +
|
||||
' </fault> ' +
|
||||
' </methodResponse>';
|
||||
var
|
||||
f : IFormatterClient;
|
||||
strm : TStringStream;
|
||||
excpt_code, excpt_msg : string;
|
||||
begin
|
||||
excpt_code := '';
|
||||
excpt_msg := '';
|
||||
f := CreateFormatterClient();
|
||||
strm := TStringStream.Create(VAL_STREAM);
|
||||
try
|
||||
strm.Position := 0;
|
||||
f.LoadFromStream(strm);
|
||||
try
|
||||
f.BeginCallRead(nil);
|
||||
Check(False,'BeginCallRead() should raise an exception.');
|
||||
except
|
||||
on e : EXmlRpcException do begin
|
||||
excpt_code := e.FaultCode;
|
||||
excpt_msg := e.FaultString;
|
||||
end;
|
||||
end;
|
||||
CheckEquals(VAL_CODE,excpt_code,'faultCode');
|
||||
CheckEquals(VAL_MSG,excpt_msg,'faultString');
|
||||
finally
|
||||
FreeAndNil(strm);
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
RegisterStdTypes();
|
||||
GetTypeRegistry().Register(sXSD_NS,TypeInfo(TTestEnum),'TTestEnum').RegisterExternalPropertyName('teOne', '1');
|
||||
@ -3177,6 +3751,22 @@ initialization
|
||||
RegisterExternalPropertyName(sARRAY_STYLE,sEmbedded);
|
||||
end;
|
||||
|
||||
GetTypeRegistry().Register(sWST_BASE_NS,TypeInfo(TTestSmallRecord),'TTestSmallRecord').RegisterExternalPropertyName('__FIELDS__','fieldSmallint;fieldWord;fieldString');
|
||||
{$IFNDEF WST_RECORD_RTTI}
|
||||
GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestSmallRecord)].RegisterObject(FIELDS_STRING,TRecordRttiDataObject.Create(MakeRecordTypeInfo(TypeInfo(TTestSmallRecord)),GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestSmallRecord)].GetExternalPropertyName('__FIELDS__')));
|
||||
{$ENDIF WST_RECORD_RTTI}
|
||||
{$IFDEF WST_RECORD_RTTI}
|
||||
GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestSmallRecord)].RegisterObject(FIELDS_STRING,TRecordRttiDataObject.Create(MakeRecordTypeInfo(__TTestSmallRecord_TYPEINFO_FUNC__()),GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestSmallRecord)].GetExternalPropertyName('__FIELDS__')));
|
||||
{$ENDIF WST_RECORD_RTTI}
|
||||
|
||||
GetTypeRegistry().Register(sWST_BASE_NS,TypeInfo(TTestRecord),'TTestRecord').RegisterExternalPropertyName('__FIELDS__','fieldByte;fieldShortInt;fieldSmallint;fieldWord;fieldInteger;fieldLongWord;fieldInt64;fieldQWord;fieldComp;fieldSingle;fieldDouble;fieldExtended;fieldCurrency;fieldBoolean;fieldString;fieldRecord');
|
||||
{$IFNDEF WST_RECORD_RTTI}
|
||||
GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestRecord)].RegisterObject(FIELDS_STRING,TRecordRttiDataObject.Create(MakeRecordTypeInfo(TypeInfo(TTestRecord)),GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestRecord)].GetExternalPropertyName('__FIELDS__')));
|
||||
{$ENDIF WST_RECORD_RTTI}
|
||||
{$IFDEF WST_RECORD_RTTI}
|
||||
GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestRecord)].RegisterObject(FIELDS_STRING,TRecordRttiDataObject.Create(MakeRecordTypeInfo(__TTestRecord_TYPEINFO_FUNC__()),GetTypeRegistry().ItemByTypeInfo[TypeInfo(TTestRecord)].GetExternalPropertyName('__FIELDS__')));
|
||||
{$ENDIF WST_RECORD_RTTI}
|
||||
|
||||
{$IFDEF FPC}
|
||||
RegisterTest(TTestArray);
|
||||
RegisterTest(TTestSOAPFormatter);
|
||||
@ -3190,6 +3780,8 @@ initialization
|
||||
|
||||
RegisterTest(TTestXmlRpcFormatterAttributes);
|
||||
RegisterTest(TTestXmlRpcFormatter);
|
||||
RegisterTest(TTest_SoapFormatterExceptionBlock);
|
||||
RegisterTest(TTest_XmlRpcFormatterExceptionBlock);
|
||||
{$ELSE}
|
||||
RegisterTest(TTestArray.Suite);
|
||||
RegisterTest(TTestSOAPFormatter.Suite);
|
||||
@ -3203,5 +3795,9 @@ initialization
|
||||
|
||||
RegisterTest(TTestXmlRpcFormatterAttributes.Suite);
|
||||
RegisterTest(TTestXmlRpcFormatter.Suite);
|
||||
RegisterTest(TTest_SoapFormatterExceptionBlock.Suite);
|
||||
RegisterTest(TTest_XmlRpcFormatterExceptionBlock.Suite);
|
||||
{$ENDIF}
|
||||
|
||||
|
||||
end.
|
||||
|
@ -27,9 +27,6 @@ uses
|
||||
pascal_parser_intf,
|
||||
metadata_wsdl;
|
||||
|
||||
{$INCLUDE wst.inc}
|
||||
{$INCLUDE wst_delphi.inc}
|
||||
|
||||
type
|
||||
|
||||
{ TTestMetadata }
|
||||
|
@ -7,7 +7,7 @@
|
||||
<MainUnit Value="0"/>
|
||||
<IconPath Value="./"/>
|
||||
<TargetFileExt Value=".exe"/>
|
||||
<ActiveEditorIndexAtStart Value="4"/>
|
||||
<ActiveEditorIndexAtStart Value="2"/>
|
||||
</General>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
@ -27,27 +27,25 @@
|
||||
<PackageName Value="FPCUnitTestRunner"/>
|
||||
</Item1>
|
||||
</RequiredPackages>
|
||||
<Units Count="72">
|
||||
<Units Count="74">
|
||||
<Unit0>
|
||||
<Filename Value="wst_test_suite.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wst_test_suite"/>
|
||||
<CursorPos X="9" Y="5"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<CursorPos X="48" Y="5"/>
|
||||
<TopLine Value="4"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="testformatter_unit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="testformatter_unit"/>
|
||||
<CursorPos X="17" Y="1733"/>
|
||||
<TopLine Value="1726"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<CursorPos X="3" Y="901"/>
|
||||
<TopLine Value="890"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="17" Y="984" ID="3"/>
|
||||
<Item0 X="17" Y="1046" ID="3"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
@ -55,25 +53,29 @@
|
||||
<Filename Value="..\..\server_service_soap.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="server_service_soap"/>
|
||||
<CursorPos X="38" Y="29"/>
|
||||
<TopLine Value="18"/>
|
||||
<CursorPos X="8" Y="182"/>
|
||||
<TopLine Value="161"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit2>
|
||||
<Unit3>
|
||||
<Filename Value="..\..\soap_formatter.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="soap_formatter"/>
|
||||
<CursorPos X="26" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="31" Y="148"/>
|
||||
<TopLine Value="148"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit3>
|
||||
<Unit4>
|
||||
<Filename Value="..\..\base_binary_formatter.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="base_binary_formatter"/>
|
||||
<CursorPos X="15" Y="1479"/>
|
||||
<TopLine Value="1464"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<CursorPos X="31" Y="19"/>
|
||||
<TopLine Value="13"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit4>
|
||||
@ -81,13 +83,13 @@
|
||||
<Filename Value="..\..\base_service_intf.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="base_service_intf"/>
|
||||
<CursorPos X="46" Y="4524"/>
|
||||
<TopLine Value="4490"/>
|
||||
<CursorPos X="19" Y="10"/>
|
||||
<TopLine Value="10"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Bookmarks Count="2">
|
||||
<Item0 X="33" Y="1130" ID="0"/>
|
||||
<Item1 X="5" Y="1184" ID="1"/>
|
||||
<Item0 X="33" Y="1135" ID="0"/>
|
||||
<Item1 X="5" Y="1189" ID="1"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
</Unit5>
|
||||
@ -95,9 +97,9 @@
|
||||
<Filename Value="..\..\base_soap_formatter.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="base_soap_formatter"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<CursorPos X="3" Y="1127"/>
|
||||
<TopLine Value="1116"/>
|
||||
<EditorIndex Value="4"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit6>
|
||||
@ -105,17 +107,19 @@
|
||||
<Filename Value="..\..\binary_formatter.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="binary_formatter"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="12" Y="108"/>
|
||||
<TopLine Value="103"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit7>
|
||||
<Unit8>
|
||||
<Filename Value="..\..\binary_streamer.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="binary_streamer"/>
|
||||
<CursorPos X="14" Y="14"/>
|
||||
<CursorPos X="1" Y="14"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="17"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="38" Y="490" ID="2"/>
|
||||
@ -126,34 +130,34 @@
|
||||
<Filename Value="..\..\server_binary_formatter.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="server_binary_formatter"/>
|
||||
<CursorPos X="26" Y="13"/>
|
||||
<CursorPos X="22" Y="21"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="200"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit9>
|
||||
<Unit10>
|
||||
<Filename Value="..\..\metadata_repository.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="metadata_repository"/>
|
||||
<CursorPos X="1" Y="334"/>
|
||||
<TopLine Value="337"/>
|
||||
<CursorPos X="51" Y="18"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="200"/>
|
||||
</Unit10>
|
||||
<Unit11>
|
||||
<Filename Value="testmetadata_unit.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="testmetadata_unit"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="14"/>
|
||||
<CursorPos X="1" Y="30"/>
|
||||
<TopLine Value="7"/>
|
||||
<UsageCount Value="202"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\..\ws_helper\metadata_generator.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="metadata_generator"/>
|
||||
<CursorPos X="1" Y="19"/>
|
||||
<TopLine Value="67"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="40"/>
|
||||
<UsageCount Value="202"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
@ -161,20 +165,19 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="parserdefs"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<TopLine Value="16"/>
|
||||
<UsageCount Value="202"/>
|
||||
<Bookmarks Count="2">
|
||||
<Item0 X="45" Y="1146" ID="0"/>
|
||||
<Item1 X="18" Y="1133" ID="2"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="18" Y="1133" ID="2"/>
|
||||
</Bookmarks>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\..\metadata_wsdl.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="metadata_wsdl"/>
|
||||
<CursorPos X="44" Y="21"/>
|
||||
<TopLine Value="209"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<CursorPos X="1" Y="22"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<UsageCount Value="206"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit14>
|
||||
@ -183,61 +186,63 @@
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="15" Y="429"/>
|
||||
<TopLine Value="413"/>
|
||||
<UsageCount Value="5"/>
|
||||
<UsageCount Value="3"/>
|
||||
</Unit15>
|
||||
<Unit16>
|
||||
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\objpas\sysutils\sysutilh.inc"/>
|
||||
<CursorPos X="13" Y="235"/>
|
||||
<TopLine Value="215"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit16>
|
||||
<Unit17>
|
||||
<Filename Value="..\..\server_service_intf.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="server_service_intf"/>
|
||||
<CursorPos X="54" Y="19"/>
|
||||
<CursorPos X="25" Y="14"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="203"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\..\service_intf.pas"/>
|
||||
<UnitName Value="service_intf"/>
|
||||
<CursorPos X="3" Y="38"/>
|
||||
<TopLine Value="27"/>
|
||||
<UsageCount Value="15"/>
|
||||
<CursorPos X="15" Y="15"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="13"/>
|
||||
<UsageCount Value="16"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit18>
|
||||
<Unit19>
|
||||
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\objpas\classes\classesh.inc"/>
|
||||
<CursorPos X="3" Y="316"/>
|
||||
<TopLine Value="304"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit19>
|
||||
<Unit20>
|
||||
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\objpas\classes\lists.inc"/>
|
||||
<CursorPos X="3" Y="407"/>
|
||||
<TopLine Value="404"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\fcl\inc\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="3" Y="474"/>
|
||||
<TopLine Value="471"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit21>
|
||||
<Unit22>
|
||||
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="27" Y="121"/>
|
||||
<TopLine Value="104"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\inc\objpas.inc"/>
|
||||
<CursorPos X="9" Y="166"/>
|
||||
<TopLine Value="142"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="D:\Lazarus\components\fpcunit\guitestrunner.pas"/>
|
||||
@ -246,302 +251,280 @@
|
||||
<UnitName Value="GuiTestRunner"/>
|
||||
<CursorPos X="34" Y="32"/>
|
||||
<TopLine Value="25"/>
|
||||
<UsageCount Value="9"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit24>
|
||||
<Unit25>
|
||||
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\fcl\fpcunit\fpcunit.pp"/>
|
||||
<UnitName Value="fpcunit"/>
|
||||
<CursorPos X="21" Y="94"/>
|
||||
<TopLine Value="83"/>
|
||||
<UsageCount Value="7"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit25>
|
||||
<Unit26>
|
||||
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\fcl\fpcunit\DUnitCompatibleInterface.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="4"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\imp_utils.pas"/>
|
||||
<UnitName Value="imp_utils"/>
|
||||
<CursorPos X="15" Y="36"/>
|
||||
<TopLine Value="22"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\fcl\xml\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="3" Y="51"/>
|
||||
<TopLine Value="41"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<CursorPos X="15" Y="50"/>
|
||||
<TopLine Value="8"/>
|
||||
<EditorIndex Value="3"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit26>
|
||||
<Unit27>
|
||||
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\fcl\xml\xmlread.pp"/>
|
||||
<UnitName Value="XMLRead"/>
|
||||
<CursorPos X="43" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<UsageCount Value="3"/>
|
||||
</Unit27>
|
||||
<Unit28>
|
||||
<Filename Value="test_parserdef.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="test_parserdef"/>
|
||||
<CursorPos X="93" Y="76"/>
|
||||
<TopLine Value="11"/>
|
||||
<UsageCount Value="176"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<UsageCount Value="198"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="8" Y="190"/>
|
||||
<TopLine Value="133"/>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\..\wst.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\objpas\objpas.pp"/>
|
||||
<UnitName Value="objpas"/>
|
||||
<CursorPos X="47" Y="64"/>
|
||||
<TopLine Value="38"/>
|
||||
<UsageCount Value="1"/>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit30>
|
||||
<Unit31>
|
||||
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\rtl\inc\heaph.inc"/>
|
||||
<CursorPos X="43" Y="100"/>
|
||||
<TopLine Value="83"/>
|
||||
<UsageCount Value="4"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<UsageCount Value="2"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\test_fpc\interface_problem\interface_problem.pas"/>
|
||||
<UnitName Value="interface_problem"/>
|
||||
<CursorPos X="1" Y="10"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit32>
|
||||
<Unit33>
|
||||
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="base_xmlrpc_formatter"/>
|
||||
<CursorPos X="8" Y="1352"/>
|
||||
<TopLine Value="1335"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="114"/>
|
||||
<CursorPos X="32" Y="64"/>
|
||||
<TopLine Value="49"/>
|
||||
<EditorIndex Value="5"/>
|
||||
<UsageCount Value="136"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
</Unit33>
|
||||
<Unit34>
|
||||
<Filename Value="..\..\ws_helper\pscanner.pp"/>
|
||||
<UnitName Value="PScanner"/>
|
||||
<CursorPos X="19" Y="505"/>
|
||||
<TopLine Value="491"/>
|
||||
<UsageCount Value="19"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<UsageCount Value="17"/>
|
||||
</Unit34>
|
||||
<Unit35>
|
||||
<Filename Value="..\..\ws_helper\pascal_parser_intf.pas"/>
|
||||
<UnitName Value="pascal_parser_intf"/>
|
||||
<CursorPos X="62" Y="296"/>
|
||||
<TopLine Value="296"/>
|
||||
<UsageCount Value="29"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<UsageCount Value="27"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<Filename Value="..\..\ws_helper\pastree.pp"/>
|
||||
<UnitName Value="PasTree"/>
|
||||
<CursorPos X="18" Y="254"/>
|
||||
<TopLine Value="243"/>
|
||||
<UsageCount Value="19"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
<UsageCount Value="17"/>
|
||||
</Unit36>
|
||||
<Unit37>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="38" Y="225"/>
|
||||
<TopLine Value="203"/>
|
||||
<UsageCount Value="18"/>
|
||||
</Unit40>
|
||||
<Unit41>
|
||||
<UsageCount Value="16"/>
|
||||
</Unit37>
|
||||
<Unit38>
|
||||
<Filename Value="..\..\wst_rtti_filter\cursor_intf.pas"/>
|
||||
<UnitName Value="cursor_intf"/>
|
||||
<CursorPos X="3" Y="75"/>
|
||||
<TopLine Value="70"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit41>
|
||||
<Unit42>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit38>
|
||||
<Unit39>
|
||||
<Filename Value="..\..\wst_rtti_filter\dom_cursors.pas"/>
|
||||
<UnitName Value="dom_cursors"/>
|
||||
<CursorPos X="3" Y="182"/>
|
||||
<TopLine Value="180"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit42>
|
||||
<Unit43>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit39>
|
||||
<Unit40>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
|
||||
<UnitName Value="fpcunit"/>
|
||||
<CursorPos X="1" Y="446"/>
|
||||
<TopLine Value="434"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit43>
|
||||
<Unit44>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit40>
|
||||
<Unit41>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\i386\i386.inc"/>
|
||||
<CursorPos X="1" Y="1284"/>
|
||||
<TopLine Value="1268"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit44>
|
||||
<Unit45>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit41>
|
||||
<Unit42>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\rtl\objpas\classes\streams.inc"/>
|
||||
<CursorPos X="1" Y="107"/>
|
||||
<TopLine Value="95"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit45>
|
||||
<Unit46>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit42>
|
||||
<Unit43>
|
||||
<Filename Value="..\..\semaphore.pas"/>
|
||||
<UnitName Value="semaphore"/>
|
||||
<CursorPos X="3" Y="30"/>
|
||||
<TopLine Value="23"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit46>
|
||||
<Unit47>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit43>
|
||||
<Unit44>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="14" Y="351"/>
|
||||
<TopLine Value="336"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit47>
|
||||
<Unit48>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit44>
|
||||
<Unit45>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\win32\system.pp"/>
|
||||
<UnitName Value="System"/>
|
||||
<CursorPos X="22" Y="33"/>
|
||||
<TopLine Value="18"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit48>
|
||||
<Unit49>
|
||||
<UsageCount Value="6"/>
|
||||
</Unit45>
|
||||
<Unit46>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-base\src\inc\contnrs.pp"/>
|
||||
<UnitName Value="contnrs"/>
|
||||
<CursorPos X="3" Y="964"/>
|
||||
<TopLine Value="962"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit49>
|
||||
<Unit50>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit46>
|
||||
<Unit47>
|
||||
<Filename Value="..\..\wst_delphi.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit50>
|
||||
<Unit51>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit47>
|
||||
<Unit48>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\strutils.pp"/>
|
||||
<UnitName Value="strutils"/>
|
||||
<CursorPos X="10" Y="29"/>
|
||||
<TopLine Value="14"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit51>
|
||||
<Unit52>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit48>
|
||||
<Unit49>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
|
||||
<CursorPos X="20" Y="168"/>
|
||||
<TopLine Value="166"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit52>
|
||||
<Unit53>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit49>
|
||||
<Unit50>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpas.inc"/>
|
||||
<CursorPos X="11" Y="442"/>
|
||||
<TopLine Value="556"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit53>
|
||||
<Unit54>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit50>
|
||||
<Unit51>
|
||||
<Filename Value="..\..\wst_fpc_xml.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="wst_fpc_xml"/>
|
||||
<CursorPos X="8" Y="38"/>
|
||||
<TopLine Value="11"/>
|
||||
<UsageCount Value="60"/>
|
||||
</Unit54>
|
||||
<Unit55>
|
||||
<CursorPos X="3" Y="53"/>
|
||||
<TopLine Value="51"/>
|
||||
<UsageCount Value="82"/>
|
||||
</Unit51>
|
||||
<Unit52>
|
||||
<Filename Value="..\..\wst_global.inc"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<CursorPos X="20" Y="11"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit55>
|
||||
<Unit56>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit52>
|
||||
<Unit53>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-base\src\inc\custapp.pp"/>
|
||||
<UnitName Value="CustApp"/>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit56>
|
||||
<Unit57>
|
||||
<UsageCount Value="5"/>
|
||||
</Unit53>
|
||||
<Unit54>
|
||||
<Filename Value="test_utilities.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="test_utilities"/>
|
||||
<CursorPos X="29" Y="43"/>
|
||||
<CursorPos X="71" Y="3"/>
|
||||
<TopLine Value="3"/>
|
||||
<EditorIndex Value="16"/>
|
||||
<UsageCount Value="51"/>
|
||||
<EditorIndex Value="17"/>
|
||||
<UsageCount Value="73"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit57>
|
||||
<Unit58>
|
||||
</Unit54>
|
||||
<Unit55>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
|
||||
<UnitName Value="fpcunit"/>
|
||||
<CursorPos X="21" Y="99"/>
|
||||
<TopLine Value="84"/>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit58>
|
||||
<Unit59>
|
||||
<CursorPos X="66" Y="231"/>
|
||||
<TopLine Value="231"/>
|
||||
<UsageCount Value="13"/>
|
||||
</Unit55>
|
||||
<Unit56>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\testregistry.pp"/>
|
||||
<UnitName Value="testregistry"/>
|
||||
<CursorPos X="39" Y="27"/>
|
||||
<CursorPos X="11" Y="32"/>
|
||||
<TopLine Value="17"/>
|
||||
<EditorIndex Value="15"/>
|
||||
<UsageCount Value="17"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit59>
|
||||
<Unit60>
|
||||
<UsageCount Value="15"/>
|
||||
</Unit56>
|
||||
<Unit57>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\testdecorator.pp"/>
|
||||
<UnitName Value="testdecorator"/>
|
||||
<CursorPos X="3" Y="30"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit60>
|
||||
<Unit61>
|
||||
<UsageCount Value="7"/>
|
||||
</Unit57>
|
||||
<Unit58>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
|
||||
<CursorPos X="11" Y="49"/>
|
||||
<TopLine Value="47"/>
|
||||
<UsageCount Value="14"/>
|
||||
</Unit61>
|
||||
<Unit62>
|
||||
<CursorPos X="21" Y="9"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit58>
|
||||
<Unit59>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
|
||||
<UnitName Value="typinfo"/>
|
||||
<CursorPos X="79" Y="218"/>
|
||||
<TopLine Value="203"/>
|
||||
<UsageCount Value="12"/>
|
||||
</Unit62>
|
||||
<Unit63>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit59>
|
||||
<Unit60>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
|
||||
<CursorPos X="89" Y="122"/>
|
||||
<TopLine Value="106"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit63>
|
||||
<Unit64>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit60>
|
||||
<Unit61>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysinth.inc"/>
|
||||
<CursorPos X="24" Y="63"/>
|
||||
<TopLine Value="46"/>
|
||||
<UsageCount Value="11"/>
|
||||
</Unit64>
|
||||
<Unit65>
|
||||
<UsageCount Value="9"/>
|
||||
</Unit61>
|
||||
<Unit62>
|
||||
<Filename Value="..\..\ws_helper\wsdl2pas_imp.pas"/>
|
||||
<UnitName Value="wsdl2pas_imp"/>
|
||||
<CursorPos X="16" Y="2045"/>
|
||||
<TopLine Value="2031"/>
|
||||
<EditorIndex Value="6"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit65>
|
||||
<Unit66>
|
||||
<CursorPos X="1" Y="1"/>
|
||||
<TopLine Value="31"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit62>
|
||||
<Unit63>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus2204\fpc\2.0.4\source\fcl\xml\dom.pp"/>
|
||||
<UnitName Value="DOM"/>
|
||||
<CursorPos X="3" Y="196"/>
|
||||
<TopLine Value="191"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit66>
|
||||
<Unit67>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit63>
|
||||
<Unit64>
|
||||
<Filename Value="..\..\type_lib_edtr\umoduleedit.pas"/>
|
||||
<ComponentName Value="fModuleEdit"/>
|
||||
<HasResources Value="True"/>
|
||||
@ -549,11 +532,9 @@
|
||||
<UnitName Value="umoduleedit"/>
|
||||
<CursorPos X="47" Y="21"/>
|
||||
<TopLine Value="18"/>
|
||||
<EditorIndex Value="7"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit67>
|
||||
<Unit68>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit64>
|
||||
<Unit65>
|
||||
<Filename Value="..\..\type_lib_edtr\ubindingedit.pas"/>
|
||||
<ComponentName Value="fBindingEdit"/>
|
||||
<HasResources Value="True"/>
|
||||
@ -561,11 +542,9 @@
|
||||
<UnitName Value="ubindingedit"/>
|
||||
<CursorPos X="41" Y="21"/>
|
||||
<TopLine Value="18"/>
|
||||
<EditorIndex Value="8"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit68>
|
||||
<Unit69>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit65>
|
||||
<Unit66>
|
||||
<Filename Value="..\..\type_lib_edtr\ufarrayedit.pas"/>
|
||||
<ComponentName Value="fArrayEdit"/>
|
||||
<HasResources Value="True"/>
|
||||
@ -573,11 +552,9 @@
|
||||
<UnitName Value="ufarrayedit"/>
|
||||
<CursorPos X="41" Y="9"/>
|
||||
<TopLine Value="5"/>
|
||||
<EditorIndex Value="9"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit69>
|
||||
<Unit70>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit66>
|
||||
<Unit67>
|
||||
<Filename Value="..\..\type_lib_edtr\uftypealiasedit.pas"/>
|
||||
<ComponentName Value="fTypeAliasEdit"/>
|
||||
<HasResources Value="True"/>
|
||||
@ -585,11 +562,9 @@
|
||||
<UnitName Value="uftypealiasedit"/>
|
||||
<CursorPos X="22" Y="9"/>
|
||||
<TopLine Value="7"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit70>
|
||||
<Unit71>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit67>
|
||||
<Unit68>
|
||||
<Filename Value="..\..\type_lib_edtr\ufrmsaveoption.pas"/>
|
||||
<ComponentName Value="frmSaveOptions"/>
|
||||
<HasResources Value="True"/>
|
||||
@ -597,12 +572,76 @@
|
||||
<UnitName Value="ufrmsaveoption"/>
|
||||
<CursorPos X="22" Y="9"/>
|
||||
<TopLine Value="6"/>
|
||||
<EditorIndex Value="11"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit68>
|
||||
<Unit69>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysutilh.inc"/>
|
||||
<CursorPos X="4" Y="64"/>
|
||||
<TopLine Value="64"/>
|
||||
<UsageCount Value="8"/>
|
||||
</Unit69>
|
||||
<Unit70>
|
||||
<Filename Value="..\..\server_service_xmlrpc.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="server_service_xmlrpc"/>
|
||||
<CursorPos X="14" Y="144"/>
|
||||
<TopLine Value="136"/>
|
||||
<EditorIndex Value="10"/>
|
||||
<UsageCount Value="27"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit70>
|
||||
<Unit71>
|
||||
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlread.pp"/>
|
||||
<UnitName Value="XMLRead"/>
|
||||
<CursorPos X="6" Y="37"/>
|
||||
<TopLine Value="31"/>
|
||||
<UsageCount Value="10"/>
|
||||
</Unit71>
|
||||
<Unit72>
|
||||
<Filename Value="..\..\xmlrpc_formatter.pas"/>
|
||||
<UnitName Value="xmlrpc_formatter"/>
|
||||
<CursorPos X="31" Y="131"/>
|
||||
<TopLine Value="116"/>
|
||||
<EditorIndex Value="12"/>
|
||||
<UsageCount Value="12"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit71>
|
||||
</Unit72>
|
||||
<Unit73>
|
||||
<Filename Value="..\..\record_rtti.pas"/>
|
||||
<UnitName Value="record_rtti"/>
|
||||
<CursorPos X="3" Y="248"/>
|
||||
<TopLine Value="13"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="10"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit73>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
<JumpHistory Count="6" HistoryIndex="5">
|
||||
<Position1>
|
||||
<Filename Value="..\..\base_service_intf.pas"/>
|
||||
<Caret Line="1211" Column="10" TopLine="1211"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="..\..\base_service_intf.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="..\..\base_service_intf.pas"/>
|
||||
<Caret Line="4614" Column="1" TopLine="4572"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="..\..\server_binary_formatter.pas"/>
|
||||
<Caret Line="121" Column="11" TopLine="111"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="..\..\server_binary_formatter.pas"/>
|
||||
<Caret Line="21" Column="22" TopLine="1"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="..\..\base_binary_formatter.pas"/>
|
||||
<Caret Line="19" Column="31" TopLine="13"/>
|
||||
</Position6>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
@ -622,6 +661,10 @@
|
||||
</SyntaxOptions>
|
||||
</Parsing>
|
||||
<CodeGeneration>
|
||||
<Checks>
|
||||
<RangeChecks Value="True"/>
|
||||
<OverflowChecks Value="True"/>
|
||||
</Checks>
|
||||
<Generate Value="Faster"/>
|
||||
</CodeGeneration>
|
||||
<Linking>
|
||||
|
@ -15,7 +15,8 @@ uses
|
||||
base_service_intf, base_soap_formatter, binary_formatter, binary_streamer,
|
||||
server_binary_formatter, metadata_repository,
|
||||
metadata_generator, parserdefs, server_service_intf, metadata_wsdl,
|
||||
test_parserdef, base_xmlrpc_formatter, wst_fpc_xml, test_utilities;
|
||||
test_parserdef, base_xmlrpc_formatter, wst_fpc_xml, test_utilities,
|
||||
server_service_xmlrpc;
|
||||
|
||||
Const
|
||||
ShortOpts = 'alh';
|
||||
|
Reference in New Issue
Block a user