diff options
author | Björn Gustavsson <[email protected]> | 2010-09-02 15:44:33 +0200 |
---|---|---|
committer | Lars Thorsen <[email protected]> | 2011-05-10 09:13:23 +0200 |
commit | 824a6db3ff111f8d2427ac5adad0362bf078630a (patch) | |
tree | f146685c27e4c8f91b07f76d3e1e3510553e2e88 /lib/xmerl/test/xmerl_xsd_Sun2002-01-16_SUITE.erl | |
parent | 1a5796cd12061ebb21e7e51a0b7bdf05ed4786a7 (diff) | |
download | otp-824a6db3ff111f8d2427ac5adad0362bf078630a.tar.gz otp-824a6db3ff111f8d2427ac5adad0362bf078630a.tar.bz2 otp-824a6db3ff111f8d2427ac5adad0362bf078630a.zip |
Add test suite for xmerl
Diffstat (limited to 'lib/xmerl/test/xmerl_xsd_Sun2002-01-16_SUITE.erl')
-rw-r--r-- | lib/xmerl/test/xmerl_xsd_Sun2002-01-16_SUITE.erl | 812 |
1 files changed, 812 insertions, 0 deletions
diff --git a/lib/xmerl/test/xmerl_xsd_Sun2002-01-16_SUITE.erl b/lib/xmerl/test/xmerl_xsd_Sun2002-01-16_SUITE.erl new file mode 100644 index 0000000000..e619390f65 --- /dev/null +++ b/lib/xmerl/test/xmerl_xsd_Sun2002-01-16_SUITE.erl @@ -0,0 +1,812 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2006-2010. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% +%% +%%% Purpose : Test suite for the xmerl application + +%% Do NOT edit this file. It is generated by the generate_xsd_suite module +%% For more info read the comments in the header of that file. + +-module('xmerl_xsd_Sun2002-01-16_SUITE'). + +-compile(export_all). + +-include_lib("test_server/include/test_server.hrl"). +-include_lib("xmerl/include/xmerl.hrl"). +-include_lib("xmerl/include/xmerl_xsd.hrl"). + + +all() -> + ['Sun-idc001.nogen', 'Sun-idc002.e', 'Sun-idc002b.e', + 'Sun-idc003.e', 'Sun-idc004.nogen', 'Sun-idc004a.e', + 'Sun-idc005.nogen', 'Sun-idc006.nogen', 'Sun-xsd001', + 'Sun-xsd002', 'Sun-xsd003-1.e', 'Sun-xsd003-2.e', + 'Sun-xsd003a', 'Sun-xsd003b', 'Sun-xsd004', + 'Sun-xsd005', 'Sun-xsd006', 'Sun-xsd008', 'Sun-xsd011', + 'Sun-xsd012', 'Sun-xsd013.e', 'Sun-xsd014.e', + 'Sun-xsd015.e', 'Sun-xsd016.e', 'Sun-xsd017.e', + 'Sun-xsd018.e', 'Sun-xsd019.e', 'Sun-xsd020.e', + 'Sun-xsd020-2.e', 'Sun-xsd020-3.e', 'Sun-xsd020-4.e', + 'Sun-xsd021', 'Sun-xsd022', 'Sun-xsd023.e', + 'Sun-xsiType1', 'Sun-xsiType-block-1', + 'Sun-xsiType-block-2', 'Sun-xsiType-block-3', + 'Sun-xsiType-block-4', 'Sun-type-and-subst-1']. + +groups() -> + []. + +init_per_group(_GroupName, Config) -> + Config. + +end_per_group(_GroupName, Config) -> + Config. + + + +%% initialization before the test suite +init_per_suite(Config) -> + Dog=test_server:timetrap({minutes,10}), + xmerl_xsd_lib:unpack(Config,sun), + {ok,LogFile} = xmerl_xsd_lib:create_error_log_file(Config,sun), + test_server:timetrap_cancel(Dog), + [{suite,sun},{xmerl_error_log,LogFile}|Config]. + +end_per_suite(Config) -> + xmerl_xsd_lib:rmdir(Config,sun), + xmerl_xsd_lib:close_error_log_file(Config), + ok. + +%% initialization before each testcase +init_per_testcase(TestCase,Config) -> + Dog=test_server:timetrap({minutes,3}), + [{testcase,TestCase},{watchdog, Dog}|Config]. + +%% clean up after each testcase +end_per_testcase(_Func,Config) -> + Dog=?config(watchdog, Config), + test_server:timetrap_cancel(Dog), + ok. + +%% ID Constranints. Very naive test of identity constraint +'Sun-idc001.nogen'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc001.nogen.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc001.nogen.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc001.nogen.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc001.nogen.v01.xml','./suntest/SunTestsAll',valid,S0), + ITResList3 = [ITRes2|ITResList2], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList3). + +%% ID Constranints. Reference to an undeclared key +'Sun-idc002.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc002.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% ID Constranints. Reference to an undeclared key in an undeclared namespace +'Sun-idc002b.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc002b.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% ID Constranints. Reference to non-key constraint. +'Sun-idc003.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc003.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% ID Constranints. +'Sun-idc004.nogen'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc004.nogen.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc004.nogen.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc004.nogen.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc004.nogen.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc004.nogen.n03.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc004.nogen.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList5 = [ITRes4|ITResList4], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList5). + +%% ID Constraints. Key/keyref field size mismatch. +'Sun-idc004a.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc004a.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% ID Constraints. Very naive test of identity constraint. +'Sun-idc005.nogen'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc005.nogen.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc005.nogen.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc005.nogen.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc005.nogen.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList3 = [ITRes2|ITResList2], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList3). + +%% ID Constraints. XPath engine test: ".//a/*/b" and use of "." for both selector and field. +'Sun-idc006.nogen'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/idc006.nogen.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc006.nogen.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc006.nogen.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/idc006.nogen.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList3 = [ITRes2|ITResList2], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList3). + +%% - use of elementFormDefault="unqualified" - unusual minOccurs/maxOccurs (3 and 7 respectively) - complexType with simpleContent, and restriction. - simpleType within restriction. +'Sun-xsd001'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd001.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n03.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n04.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + ?line ITRes5 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n05.xml','./suntest/SunTestsAll',invalid,S0), + ITResList6 = [ITRes5|ITResList5], + ?line ITRes6 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n06.xml','./suntest/SunTestsAll',invalid,S0), + ITResList7 = [ITRes6|ITResList6], + ?line ITRes7 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.n07.xml','./suntest/SunTestsAll',invalid,S0), + ITResList8 = [ITRes7|ITResList7], + ?line ITRes8 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList9 = [ITRes8|ITResList8], + ?line ITRes9 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.v01.xml','./suntest/SunTestsAll',valid,S0), + ITResList10 = [ITRes9|ITResList9], + ?line ITRes10 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.v02.xml','./suntest/SunTestsAll',valid,S0), + ITResList11 = [ITRes10|ITResList10], + ?line ITRes11 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd001.v03.xml','./suntest/SunTestsAll',valid,S0), + ITResList12 = [ITRes11|ITResList11], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList12). + +%% - use of elementFormDefault="unqualified" - use of elementFormDefault and form attribute. - implicit use of "ur-type" as the content model of element. +'Sun-xsd002'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd002.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd002.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd002.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd002.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd002.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd002.v01.xml','./suntest/SunTestsAll',valid,S0), + ITResList5 = [ITRes4|ITResList4], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList5). + +%% Element redefinition. Unable to redefine element. +'Sun-xsd003-1.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd003-1.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Element redefinition. Unable to redefine element. +'Sun-xsd003-2.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd003-2.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Element redefinition. Test without redefinition. +'Sun-xsd003a'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd003a.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd003a.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList1 = [ITRes0|ITResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList1). + +%% Element redefinition. Test with redefinition with self-reference. +'Sun-xsd003b'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd003b.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd003b.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd003b.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd003b.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd003b.v01.xml','./suntest/SunTestsAll',valid,S0), + ITResList4 = [ITRes3|ITResList3], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList4). + +%% Use of three different type of any element with different @namespace. +'Sun-xsd004'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd004.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n03.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n04.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + ?line ITRes5 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n05.xml','./suntest/SunTestsAll',invalid,S0), + ITResList6 = [ITRes5|ITResList5], + ?line ITRes6 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n06.xml','./suntest/SunTestsAll',invalid,S0), + ITResList7 = [ITRes6|ITResList6], + ?line ITRes7 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n07.xml','./suntest/SunTestsAll',invalid,S0), + ITResList8 = [ITRes7|ITResList7], + ?line ITRes8 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n08.xml','./suntest/SunTestsAll',invalid,S0), + ITResList9 = [ITRes8|ITResList8], + ?line ITRes9 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n09.xml','./suntest/SunTestsAll',invalid,S0), + ITResList10 = [ITRes9|ITResList9], + ?line ITRes10 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n10.xml','./suntest/SunTestsAll',invalid,S0), + ITResList11 = [ITRes10|ITResList10], + ?line ITRes11 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n11.xml','./suntest/SunTestsAll',invalid,S0), + ITResList12 = [ITRes11|ITResList11], + ?line ITRes12 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.n12.xml','./suntest/SunTestsAll',invalid,S0), + ITResList13 = [ITRes12|ITResList12], + ?line ITRes13 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd004.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList14 = [ITRes13|ITResList13], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList14). + +%% Complex type derivation. +'Sun-xsd005'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd005.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.n03.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.n04.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + ?line ITRes5 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.n05.xml','./suntest/SunTestsAll',invalid,S0), + ITResList6 = [ITRes5|ITResList5], + ?line ITRes6 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.n06.xml','./suntest/SunTestsAll',invalid,S0), + ITResList7 = [ITRes6|ITResList6], + ?line ITRes7 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd005.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList8 = [ITRes7|ITResList7], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList8). + +%% minOccurs/maxOccurs. Various combinations. +'Sun-xsd006'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd006.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n03.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n04.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + ?line ITRes5 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n05.xml','./suntest/SunTestsAll',invalid,S0), + ITResList6 = [ITRes5|ITResList5], + ?line ITRes6 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n06.xml','./suntest/SunTestsAll',invalid,S0), + ITResList7 = [ITRes6|ITResList6], + ?line ITRes7 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n07.xml','./suntest/SunTestsAll',invalid,S0), + ITResList8 = [ITRes7|ITResList7], + ?line ITRes8 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n08.xml','./suntest/SunTestsAll',invalid,S0), + ITResList9 = [ITRes8|ITResList8], + ?line ITRes9 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n09.xml','./suntest/SunTestsAll',invalid,S0), + ITResList10 = [ITRes9|ITResList9], + ?line ITRes10 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.n10.xml','./suntest/SunTestsAll',invalid,S0), + ITResList11 = [ITRes10|ITResList10], + ?line ITRes11 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd006.v00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList12 = [ITRes11|ITResList11], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList12). + +%% Abstract element and element substitution group. +'Sun-xsd008'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd008.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd008.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd008.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd008.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd008.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList4 = [ITRes3|ITResList3], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList4). + +%% Nillable. +'Sun-xsd011'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd011.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd011.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd011.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd011.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd011.n03.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd011.n04.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + ?line ITRes5 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd011.v00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList6 = [ITRes5|ITResList5], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList6). + +%% Mixed content model. +'Sun-xsd012'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd012.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd012.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd012.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList2 = [ITRes1|ITResList1], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList2). + +%% Reference to undeclared element. +'Sun-xsd013.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd013.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared element. +'Sun-xsd014.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd014.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared type (it may be simple or complex). +'Sun-xsd015.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd015.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared type (it may be simple or complex). +'Sun-xsd016.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd016.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared complex type. +'Sun-xsd017.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd017.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared complex type. +'Sun-xsd018.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd018.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared simple type. +'Sun-xsd019.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd019.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared simple type. +'Sun-xsd020.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd020.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared attribute. +'Sun-xsd020-2.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd020-2.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared model group. +'Sun-xsd020-3.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd020-3.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Reference to undeclared attribute group. +'Sun-xsd020-4.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd020-4.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% anyOtherAttribute. +'Sun-xsd021'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd021.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n01.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n02.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n03.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n04.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + ?line ITRes5 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n05.xml','./suntest/SunTestsAll',invalid,S0), + ITResList6 = [ITRes5|ITResList5], + ?line ITRes6 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n06.xml','./suntest/SunTestsAll',invalid,S0), + ITResList7 = [ITRes6|ITResList6], + ?line ITRes7 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n07.xml','./suntest/SunTestsAll',invalid,S0), + ITResList8 = [ITRes7|ITResList7], + ?line ITRes8 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n08.xml','./suntest/SunTestsAll',invalid,S0), + ITResList9 = [ITRes8|ITResList8], + ?line ITRes9 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n09.xml','./suntest/SunTestsAll',invalid,S0), + ITResList10 = [ITRes9|ITResList9], + ?line ITRes10 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n10.xml','./suntest/SunTestsAll',invalid,S0), + ITResList11 = [ITRes10|ITResList10], + ?line ITRes11 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.n11.xml','./suntest/SunTestsAll',invalid,S0), + ITResList12 = [ITRes11|ITResList11], + ?line ITRes12 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd021.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList13 = [ITRes12|ITResList12], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList13). + +%% Simple type. Various forms of forward reference to the simple type. +'Sun-xsd022'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd022.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd022.n00.xml','./suntest/SunTestsAll',invalid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsd022.v00.xml','./suntest/SunTestsAll',valid,S0), + ITResList2 = [ITRes1|ITResList1], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList2). + +%% Simple type. Recursive definition. +'Sun-xsd023.e'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,_} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsd023.e.xsd','./suntest/SunTestsAll',invalid), + STResList1 = [STRes0|STResList0], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,[]). + +%% Simple type. +'Sun-xsiType1'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsiType1.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType1.v1.xml','./suntest/SunTestsAll',valid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType1.n1.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList2). + +%% Test block attribute (1) - use block="extension" at the B type. This should exclude all types that uses extension. +'Sun-xsiType-block-1'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsiType-block-1.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-1.v1.xml','./suntest/SunTestsAll',valid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-1.n1.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-1.n2.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-1.n3.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-1.n4.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList5). + +%% Test block attribute (2) - use block="extension" as the blockDefault attribute. This should achieve the same result as the previous test case. +'Sun-xsiType-block-2'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsiType-block-2.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-2.v1.xml','./suntest/SunTestsAll',valid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-2.n1.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-2.n2.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-2.n3.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-2.n4.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList5). + +%% Test block attribute (3) - use block="extension" for the child2 element. child2 has no block constraint. - see if @block for element is working as expected. +'Sun-xsiType-block-3'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsiType-block-3.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-3.v1.xml','./suntest/SunTestsAll',valid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-3.n1.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-3.n2.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-3.n3.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-3.n4.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList5). + +%% Test block attribute (4) - use block="extension" for the child2 element. child2 has no block constraint. - use block="restriction" for the Dr type. - see if @block for element and @block for types interacts as expected. +'Sun-xsiType-block-4'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/xsiType-block-4.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-4.v1.xml','./suntest/SunTestsAll',valid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-4.n1.xml','./suntest/SunTestsAll',invalid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-4.n2.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-4.n3.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/xsiType-block-4.n4.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList5). + +%% No block attribute is specified. Just test that the substitution group and the type hierarchy is OK. The substitution group hierarchy mirrors the complex type hierarchy. +'Sun-type-and-subst-1'(Config) when is_list(Config) -> + STResList0 = [], + + ?line {STRes0,S0} = xmerl_xsd_lib:schema_test(Config,'./suntest/SunTestsAll/type-and-subst-1.xsd','./suntest/SunTestsAll',valid), + STResList1 = [STRes0|STResList0], + ITResList0 = [], + ?line ITRes0 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.v1.xml','./suntest/SunTestsAll',valid,S0), + ITResList1 = [ITRes0|ITResList0], + ?line ITRes1 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.v2.xml','./suntest/SunTestsAll',valid,S0), + ITResList2 = [ITRes1|ITResList1], + ?line ITRes2 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n1.xml','./suntest/SunTestsAll',invalid,S0), + ITResList3 = [ITRes2|ITResList2], + ?line ITRes3 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n2.xml','./suntest/SunTestsAll',invalid,S0), + ITResList4 = [ITRes3|ITResList3], + ?line ITRes4 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n3.xml','./suntest/SunTestsAll',invalid,S0), + ITResList5 = [ITRes4|ITResList4], + ?line ITRes5 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n4.xml','./suntest/SunTestsAll',invalid,S0), + ITResList6 = [ITRes5|ITResList5], + ?line ITRes6 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n5.xml','./suntest/SunTestsAll',invalid,S0), + ITResList7 = [ITRes6|ITResList6], + ?line ITRes7 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n6.xml','./suntest/SunTestsAll',invalid,S0), + ITResList8 = [ITRes7|ITResList7], + ?line ITRes8 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n7.xml','./suntest/SunTestsAll',invalid,S0), + ITResList9 = [ITRes8|ITResList8], + ?line ITRes9 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n8.xml','./suntest/SunTestsAll',invalid,S0), + ITResList10 = [ITRes9|ITResList9], + ?line ITRes10 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n9.xml','./suntest/SunTestsAll',invalid,S0), + ITResList11 = [ITRes10|ITResList10], + ?line ITRes11 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n10.xml','./suntest/SunTestsAll',invalid,S0), + ITResList12 = [ITRes11|ITResList11], + ?line ITRes12 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n11.xml','./suntest/SunTestsAll',invalid,S0), + ITResList13 = [ITRes12|ITResList12], + ?line ITRes13 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n12.xml','./suntest/SunTestsAll',invalid,S0), + ITResList14 = [ITRes13|ITResList13], + ?line ITRes14 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n13.xml','./suntest/SunTestsAll',invalid,S0), + ITResList15 = [ITRes14|ITResList14], + ?line ITRes15 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n14.xml','./suntest/SunTestsAll',invalid,S0), + ITResList16 = [ITRes15|ITResList15], + ?line ITRes16 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n15.xml','./suntest/SunTestsAll',invalid,S0), + ITResList17 = [ITRes16|ITResList16], + ?line ITRes17 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n16.xml','./suntest/SunTestsAll',invalid,S0), + ITResList18 = [ITRes17|ITResList17], + ?line ITRes18 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n17.xml','./suntest/SunTestsAll',invalid,S0), + ITResList19 = [ITRes18|ITResList18], + ?line ITRes19 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n18.xml','./suntest/SunTestsAll',invalid,S0), + ITResList20 = [ITRes19|ITResList19], + ?line ITRes20 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n19.xml','./suntest/SunTestsAll',invalid,S0), + ITResList21 = [ITRes20|ITResList20], + ?line ITRes21 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n20.xml','./suntest/SunTestsAll',invalid,S0), + ITResList22 = [ITRes21|ITResList21], + ?line ITRes22 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n21.xml','./suntest/SunTestsAll',invalid,S0), + ITResList23 = [ITRes22|ITResList22], + ?line ITRes23 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n22.xml','./suntest/SunTestsAll',invalid,S0), + ITResList24 = [ITRes23|ITResList23], + ?line ITRes24 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n23.xml','./suntest/SunTestsAll',invalid,S0), + ITResList25 = [ITRes24|ITResList24], + ?line ITRes25 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n24.xml','./suntest/SunTestsAll',invalid,S0), + ITResList26 = [ITRes25|ITResList25], + ?line ITRes26 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n25.xml','./suntest/SunTestsAll',invalid,S0), + ITResList27 = [ITRes26|ITResList26], + ?line ITRes27 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n26.xml','./suntest/SunTestsAll',invalid,S0), + ITResList28 = [ITRes27|ITResList27], + ?line ITRes28 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n27.xml','./suntest/SunTestsAll',invalid,S0), + ITResList29 = [ITRes28|ITResList28], + ?line ITRes29 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n28.xml','./suntest/SunTestsAll',invalid,S0), + ITResList30 = [ITRes29|ITResList29], + ?line ITRes30 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n29.xml','./suntest/SunTestsAll',invalid,S0), + ITResList31 = [ITRes30|ITResList30], + ?line ITRes31 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n30.xml','./suntest/SunTestsAll',invalid,S0), + ITResList32 = [ITRes31|ITResList31], + ?line ITRes32 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n31.xml','./suntest/SunTestsAll',invalid,S0), + ITResList33 = [ITRes32|ITResList32], + ?line ITRes33 = xmerl_xsd_lib:instance_test(Config,'./suntest/SunTestsAll/type-and-subst-1.n32.xml','./suntest/SunTestsAll',invalid,S0), + ITResList34 = [ITRes33|ITResList33], + + + xmerl_xsd_lib:compare_test_results(Config,STResList1,ITResList34). + |