You've already forked lazarus-ccr
SOAP inline namespace handling test
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2487 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
24
wst/trunk/tests/test_suite/files/soap_inline_ns.xml
Normal file
24
wst/trunk/tests/test_suite/files/soap_inline_ns.xml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?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-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
|
||||||
|
<SOAP-ENV:Body>
|
||||||
|
<ns4:c xmlns:ns4="NameSpace.C">
|
||||||
|
<ns4:Prop_String>This property should be in : NameSpace.C</ns4:Prop_String>
|
||||||
|
<ns2:Prop_A xmlns:ns2="NameSpace.A">
|
||||||
|
<ns2:Qualified_Val_Bool>false</ns2:Qualified_Val_Bool>
|
||||||
|
<ns2:Qualified_Val_Enum>steOne</ns2:Qualified_Val_Enum>
|
||||||
|
<ns2:Qualified_Val_Integer>0</ns2:Qualified_Val_Integer>
|
||||||
|
<ns2:Qualified_Val_Int64>0</ns2:Qualified_Val_Int64>
|
||||||
|
<ns2:Qualified_Val_String>This property should be in : NameSpace.A</ns2:Qualified_Val_String>
|
||||||
|
</ns2:Prop_A>
|
||||||
|
<ns3:Prop_B xmlns:ns2="NameSpace.A" xmlns:ns3="NameSpace.B">
|
||||||
|
<ns2:Qualified_Val_Bool>false</ns2:Qualified_Val_Bool>
|
||||||
|
<ns2:Qualified_Val_Enum>steFour</ns2:Qualified_Val_Enum>
|
||||||
|
<ns2:Qualified_Val_Integer>789</ns2:Qualified_Val_Integer>
|
||||||
|
<ns2:Qualified_Val_Int64>64</ns2:Qualified_Val_Int64>
|
||||||
|
<ns2:Qualified_Val_String>This inherited property should be in : NameSpace.A</ns2:Qualified_Val_String>
|
||||||
|
<ns3:Val_Bool>true</ns3:Val_Bool>
|
||||||
|
<ns3:Val_String>local elemet. This property should be in : NameSpace.B</ns3:Val_String>
|
||||||
|
</ns3:Prop_B>
|
||||||
|
</ns4:c>
|
||||||
|
</SOAP-ENV:Body>
|
||||||
|
</SOAP-ENV:Envelope>
|
@ -177,6 +177,7 @@ type
|
|||||||
TTest_SoapFormatterClient = class(TTestCase)
|
TTest_SoapFormatterClient = class(TTestCase)
|
||||||
published
|
published
|
||||||
procedure test_soap_href_id();
|
procedure test_soap_href_id();
|
||||||
|
procedure inline_namespace();
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TTest_THeaderBlockProxy }
|
{ TTest_THeaderBlockProxy }
|
||||||
@ -920,6 +921,58 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTest_SoapFormatterClient.inline_namespace();
|
||||||
|
var
|
||||||
|
f : IFormatterClient;
|
||||||
|
strm : TMemoryStream;
|
||||||
|
c, c_readed : TNameSpaceC_Class;
|
||||||
|
strName : string;
|
||||||
|
begin
|
||||||
|
c_readed := nil;
|
||||||
|
strm := nil;
|
||||||
|
f := soap_formatter.TSOAPFormatter.Create() as IFormatterClient;
|
||||||
|
f.GetPropertyManager().SetProperty('Style','Document');
|
||||||
|
f.GetPropertyManager().SetProperty('EncodingStyle','Literal');
|
||||||
|
c := TNameSpaceC_Class.Create();
|
||||||
|
try
|
||||||
|
c.Prop_String := 'This property should be in : ' + c.GetNameSpace() ;
|
||||||
|
c.Prop_A.Qualified_Val_String := 'This property should be in : ' + TNameSpaceA_Class.GetNameSpace() ;
|
||||||
|
c.Prop_B.Val_Bool := True;
|
||||||
|
c.Prop_B.Val_String := 'local elemet. This property should be in : ' + TNameSpaceB_Class.GetNameSpace() ;
|
||||||
|
c.Prop_B.Qualified_Val_Bool := False;
|
||||||
|
c.Prop_B.Qualified_Val_Enum := steFour;
|
||||||
|
c.Prop_B.Qualified_Val_Integer := 789;
|
||||||
|
c.Prop_B.Qualified_Val_Int64 := 64;
|
||||||
|
c.Prop_B.Qualified_Val_String := 'This inherited property should be in : ' + TNameSpaceA_Class.GetNameSpace() ;
|
||||||
|
strm := TMemoryStream.Create();
|
||||||
|
strm.LoadFromFile(GetFileFullName('soap_inline_ns.xml'));
|
||||||
|
strm.Position := 0;
|
||||||
|
f.LoadFromStream(strm);
|
||||||
|
c_readed := TNameSpaceC_Class.Create();
|
||||||
|
f.BeginCallRead(TSimpleCallContext.Create());
|
||||||
|
strName := 'c';
|
||||||
|
Check(f.Get(TypeInfo(TNameSpaceC_Class),strName,c_readed),'Reading from Formatter');
|
||||||
|
f.EndScopeRead();
|
||||||
|
|
||||||
|
CheckEquals(c.Prop_String,c_readed.Prop_String,'Prop_String');
|
||||||
|
CheckNotNull(c_readed.Prop_A,'Prop_A');
|
||||||
|
CheckEquals(c.Prop_A.Qualified_Val_String,c_readed.Prop_A.Qualified_Val_String,'Prop_A.Qualified_Val_String');
|
||||||
|
CheckNotNull(c_readed.Prop_B,'Prop_B');
|
||||||
|
CheckEquals(c.Prop_B.Val_Bool,c_readed.Prop_B.Val_Bool,'Prop_B.Val_Bool');
|
||||||
|
CheckEquals(c.Prop_B.Val_String,c_readed.Prop_B.Val_String,'Prop_B.Val_String');
|
||||||
|
CheckEquals(c.Prop_B.Qualified_Val_Bool,c_readed.Prop_B.Qualified_Val_Bool,'Prop_B.Qualified_Val_Bool');
|
||||||
|
CheckEquals(Ord(c.Prop_B.Qualified_Val_Enum),Ord(c_readed.Prop_B.Qualified_Val_Enum),'Prop_B.Qualified_Val_Enum');
|
||||||
|
CheckEquals(c.Prop_B.Qualified_Val_Integer,c_readed.Prop_B.Qualified_Val_Integer,'Prop_B.Qualified_Val_Integer');
|
||||||
|
CheckEquals(c.Prop_B.Qualified_Val_Int64,c_readed.Prop_B.Qualified_Val_Int64,'Prop_B.Qualified_Val_Int64');
|
||||||
|
CheckEquals(c.Prop_B.Qualified_Val_String,c_readed.Prop_B.Qualified_Val_String,'Prop_B.Qualified_Val_String');
|
||||||
|
Check(c.Equal(c_readed) and c_readed.Equal(c),'c');
|
||||||
|
finally
|
||||||
|
c_readed.Free();
|
||||||
|
c.Free();
|
||||||
|
strm.Free();
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
{ THeaderProxyTestObject }
|
{ THeaderProxyTestObject }
|
||||||
|
|
||||||
procedure THeaderProxyTestObject.SetDestructionCount(const AValue: PInteger);
|
procedure THeaderProxyTestObject.SetDestructionCount(const AValue: PInteger);
|
||||||
|
Reference in New Issue
Block a user