|
|
|
@ -37,6 +37,7 @@ type
|
|
|
|
|
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;virtual;abstract;
|
|
|
|
|
function LoadComplexType_Class_default_values() : TwstPasTreeContainer;virtual;abstract;
|
|
|
|
|
function LoadComplexType_Class_properties_extended_metadata() : TwstPasTreeContainer;virtual;abstract;
|
|
|
|
|
function LoadComplexType_Class_properties_extended_metadata2() : TwstPasTreeContainer;virtual;abstract;
|
|
|
|
|
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
|
|
|
|
|
function LoadComplexType_Class_Extend_Simple_Schema() : TwstPasTreeContainer;virtual;abstract;
|
|
|
|
|
|
|
|
|
@ -64,6 +65,7 @@ type
|
|
|
|
|
procedure ComplexType_Class();
|
|
|
|
|
procedure ComplexType_Class_default_values();
|
|
|
|
|
procedure ComplexType_Class_properties_extended_metadata();
|
|
|
|
|
procedure ComplexType_Class_properties_extended_metadata2();
|
|
|
|
|
procedure ComplexType_Class_Embedded();
|
|
|
|
|
procedure ComplexType_Class_Extend_Simple_Schema();
|
|
|
|
|
|
|
|
|
@ -97,6 +99,7 @@ type
|
|
|
|
|
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_default_values() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_properties_extended_metadata() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_properties_extended_metadata2() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_Extend_Simple_Schema() : TwstPasTreeContainer;override;
|
|
|
|
|
|
|
|
|
@ -127,6 +130,7 @@ type
|
|
|
|
|
function LoadSimpleType_Enum_Schema() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_default_values() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_properties_extended_metadata() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadComplexType_Class_properties_extended_metadata2() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadSimpleType_Enum_Embedded_Schema() : TwstPasTreeContainer;override;
|
|
|
|
|
function LoadSimpleType_AliasToNativeType_Schema() : TwstPasTreeContainer;override;
|
|
|
|
|
|
|
|
|
@ -1411,6 +1415,49 @@ begin
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
procedure TTest_CustomXsdParser.ComplexType_Class_properties_extended_metadata2;
|
|
|
|
|
const s_ProjectType = 'ProjectType';
|
|
|
|
|
var
|
|
|
|
|
tr : TwstPasTreeContainer;
|
|
|
|
|
clsType : TPasClassType;
|
|
|
|
|
mdl : TPasModule;
|
|
|
|
|
elt : TPasElement;
|
|
|
|
|
i : Integer;
|
|
|
|
|
p : TPasProperty;
|
|
|
|
|
begin
|
|
|
|
|
tr := LoadComplexType_Class_properties_extended_metadata2();
|
|
|
|
|
mdl := tr.FindModule('uri:sample');
|
|
|
|
|
CheckNotNull(mdl);
|
|
|
|
|
elt := tr.FindElement(s_ProjectType);
|
|
|
|
|
CheckNotNull(elt,s_ProjectType);
|
|
|
|
|
CheckIs(elt,TPasClassType);
|
|
|
|
|
clsType := elt as TPasClassType;
|
|
|
|
|
p := nil;
|
|
|
|
|
for i := 0 to Pred(clsType.Members.Count) do begin
|
|
|
|
|
if TPasElement(clsType.Members[i]).InheritsFrom(TPasProperty) and
|
|
|
|
|
SameText('ProjectLeader',TPasElement(clsType.Members[i]).Name)
|
|
|
|
|
then begin
|
|
|
|
|
p := TPasProperty(clsType.Members[i]);
|
|
|
|
|
Break;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
CheckNotNull(p,'Property non found : "ProjectLeader"');
|
|
|
|
|
CheckEquals('uri:sample#Person', tr.Properties.GetValue(p,'commonj.sdo#propertyType'), 'extended metadata');
|
|
|
|
|
|
|
|
|
|
p := nil;
|
|
|
|
|
for i := 0 to Pred(clsType.Members.Count) do begin
|
|
|
|
|
if TPasElement(clsType.Members[i]).InheritsFrom(TPasProperty) and
|
|
|
|
|
SameText('ProjectLeaderArray',TPasElement(clsType.Members[i]).Name)
|
|
|
|
|
then begin
|
|
|
|
|
p := TPasProperty(clsType.Members[i]);
|
|
|
|
|
Break;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
CheckNotNull(p,'Property non found : "ProjectLeaderArray"');
|
|
|
|
|
CheckEquals('uri:sample#Person', tr.Properties.GetValue(p,'commonj.sdo#propertyType'), 'extended metadata');
|
|
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{ TTest_XsdParser }
|
|
|
|
|
|
|
|
|
|
function TTest_XsdParser.ParseDoc(const ADoc: string): TwstPasTreeContainer;
|
|
|
|
@ -1529,6 +1576,11 @@ begin
|
|
|
|
|
Result := ParseDoc(x_complexType_class_properties_extended_metadata);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TTest_XsdParser.LoadComplexType_Class_properties_extended_metadata2: TwstPasTreeContainer;
|
|
|
|
|
begin
|
|
|
|
|
Result := ParseDoc(x_complexType_class_properties_extended_metadata + '_2');
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
{ TTest_WsdlParser }
|
|
|
|
|
|
|
|
|
|
function TTest_WsdlParser.ParseDoc(const ADoc: string): TwstPasTreeContainer;
|
|
|
|
@ -1890,6 +1942,11 @@ begin
|
|
|
|
|
Result := ParseDoc(x_complexType_class_properties_extended_metadata);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function TTest_WsdlParser.LoadComplexType_Class_properties_extended_metadata2: TwstPasTreeContainer;
|
|
|
|
|
begin
|
|
|
|
|
Result := ParseDoc(x_complexType_class_properties_extended_metadata + '_2');
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
initialization
|
|
|
|
|
RegisterTest('XSD parser',TTest_XsdParser.Suite);
|
|
|
|
|
RegisterTest('WSDL parser',TTest_WsdlParser.Suite);
|
|
|
|
|