<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="spec.xsl" ?>
<spec title="NetBeans Enterprise Pack XML Tools Properties Test Specification (Not finished yet)" version="1.0" last-updated="20 January 2006" author="Andrei Chistiakov" author-email="ca@netbeans.org">
        <intro>
        This specification provides usecases of Property pane used in conjunction with Explore view for viewing/editing an XML Schema components in NetBeans Enterprise Pack.
        TestProject project should be used to perform testing.
        This specification is based on Schema UI micro-spec.
        Test execution assumes having IDE started and TestProject project open within it. Synt01.xsd schema should be opened in Structural representation of Explore view as well. Properties pane should be opened by &quot;Window|Properties&quot; menu command.
        
        </intro>
        <caseblock name="&quot;All&quot; component">
                <purpose>Checking compliance of &quot;All&quot; component properties and functionality bound up with them</purpose>
                <setup>Select &quot;http://sample.namespace.org|ComplexType-0 (Global Complex Type)|all (All)&quot; path in Explore tree</setup>
                <usecase name="Checking property set">
                        <action>Check properties displayed in Properties pane.</action>
                        <result>There should be the following properties available: kind: All, ID: null, Min Occurs: 1.</result>
                </usecase>
                <usecase name="Checking ID property">
                        <action>Change value of ID to &quot;qwerty&quot;.</action>
                        <result>It should be possible to do. New value should be displayed on the right of ID.</result>
                        <action>Change value of ID to &quot;12345&quot;.</action>
                        <result>Ivalid value should be reported.</result>
                        <action>Change value of ID to &quot;asdfg&quot;.</action>
                        <result>It should be possible to do. New value should be displayed on the right of ID.</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of ID property should be reverted to qwerty.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of ID property should be reverted back to asdfg.</result>
                </usecase>
                <usecase name="Checking MinOccurs property">
                        <action>Drop down list of possible MinOccurs values.</action>
                        <result>Possible values of MinOccurs are 0 and 1.</result>
                        <action>Change value of MinOccurs to 0.</action>
                        <result>It should be possible to do. New value should be displayed on the right of MinOccurs.</result>
                        <action>Change value of MinOccurs back to 1.</action>
                        <result>It should be possible to do. Old value should be displayed on the right of MinOccurs.</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of MinOccurs property should be reverted to 0.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of MinOccurs property should be reverted back to 1.</result>
                </usecase>
                <usecase name="Checking updated source">
                        <action>Invoke Go To Source popup menu command on all (All) node.</action>
                        <result>Cursor should be placed on the following line of the schema source: &lt;xsd:all minOccurs=&quot;0&quot; id=&quot;qwerty&quot;&gt;</result>
                </usecase>
        </caseblock>
        <caseblock name="&quot;Any&quot; component">
                <purpose>Checking compliance of &quot;Any&quot; component properties and functionality bound up with them</purpose>
                <setup>Select &quot;http://sample.namespace.org|Group-0 (Global Group)|sequence|any (Any)&quot; path in Explore tree</setup>
                <usecase name="Checking property set">
                        <action>Check properties displayed in Properties pane.</action>
                        <result>There should be the following properties available: kind: Any, ID: null, Max Occurs: unbounded, Min Occurs: 1, Process Contents: Default for schema (not set). Not yet implemented: Namespace.</result>
                </usecase>
                <usecase name="Checking ID property">
                        <action>Change value of ID to &quot;qwer&quot;.</action>
                        <result>It should be possible to do. New value should be displayed on the right of ID.</result>
                        <action>Change value of ID to &quot;1234&quot;.</action>
                        <result>Ivalid value should be reported.</result>
                        <action>Change value of ID to &quot;asdf&quot;.</action>
                        <result>It should be possible to do. New value should be displayed on the right of ID.</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of ID property should be reverted to qwer.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of ID property should be reverted back to asdf.</result>
                </usecase>
                <usecase name="Checking MaxOccurs property">
                        <action>Drop down list of MaxOccurs values.</action>
                        <result>Dropped list should contain only value of &quot;unbounded&quot;.</result>
                        <action>Change value of MaxOccurs to *.</action>
                        <result>It should be possible to do. &quot;unbounded&quot; value should be displayed on the right of MaxOccurs</result>
                        <action>Change MaxOccurs property to -5.</action>
                        <result>It shouldn't be possible to do.</result>
                        <action>Change MaxOccurs property to 5.</action>
                        <result>New value 5 should be displayed on the right of MaxOccurs</result>
                        <action>Change value of MaxOccurs to &quot;unbounded&quot;.</action>
                        <result>&quot;unbounded&quot; value should be displayed on the right of MaxOccurs</result>
                        <action>Change MaxOccurs property to 2.</action>
                        <result>New value 2 should be displayed on the right of MaxOccurs</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of MaxOccurs property should be reverted to &quot;unbounded&quot;.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of MaxOccurs property should be reverted back to 2.</result>
                </usecase>
                <usecase name="Checking MinOccurs property">
                        <action>Change MinOccurs property to -5.</action>
                        <result>It shouldn't be possible to do.</result>
                        <action>Change MinOccurs property to 5.</action>
                        <result>New value 5 should be displayed on the right of MinOccurs</result>
                        <action>Change value of MinOccurs to 0.</action>
                        <result>New value 0 should be displayed on the right of MinOccurs</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of MinOccurs property should be reverted to 5.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of MinOccurs property should be reverted back to 0.</result>
                </usecase>
                <usecase name="Checking Process Contents property">
                        <action>Drop down list of Process Contents values.</action>
                        <result>Possible values of Process Contents are as follows: Default for schema (not set), Lax, Skip, Strict.</result>
                        <action>Change value of Process Contents to Lax.</action>
                        <result>Lax value should be displayed on the right of Process Contents</result>
                        <action>Change value of Process Contents to Skip.</action>
                        <result>Skip value should be displayed on the right of Process Contents</result>
                        <action>Change value of Process Contents to Strict.</action>
                        <result>Strict value should be displayed on the right of Process Contents</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of Process Content property should be reverted to Skip.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of Process Content property should be reverted back to Strict.</result>
                </usecase>
                <usecase name="Checking Namespace property (TBD)">
                </usecase>
                <usecase name="Checking updated source">
                        <action>Invoke Go To Source popup menu command on all (All) node.</action>
                        <result>Cursor should be placed on the following line of the schema source: &lt;xsd:any minOccurs=&quot;0&quot; maxOccurs=&quot;2&quot; id=&quot;asdf&quot; processContents=&quot;strict&quot;></result>
                </usecase>
        </caseblock>
        <caseblock name="&quot;Any attribute&quot; component">
                <purpose>Checking compliance of &quot;Any attribute&quot; component properties and functionality bound up with them</purpose>
                <setup>Select &quot;http://sample.namespace.org|AttributeGroup-0 (Global Attribute Group)|anyAttribute (Any Attribute)&quot; path in Explore tree</setup>
                <usecase name="Checking property set">
                        <action>Check properties displayed in Properties pane.</action>
                        <result>There should be the following properties available: kind: Any, ID: null, Max Occurs: unbounded, Min Occurs: 1, Process Contents: Default for schema (not set). Not yet implemented: Namespace.</result>
                </usecase>
                <usecase name="Checking ID property">
                        <action>Change value of ID to &quot;qwer&quot;.</action>
                        <result>It should be possible to do. New value should be displayed on the right of ID.</result>
                        <action>Change value of ID to &quot;1234&quot;.</action>
                        <result>Ivalid value should be reported.</result>
                        <action>Change value of ID to &quot;asdf&quot;.</action>
                        <result>It should be possible to do. New value should be displayed on the right of ID.</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of ID property should be reverted to qwer.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of ID property should be reverted back to asdf.</result>
                </usecase>
                <usecase name="Checking MaxOccurs property">
                        <action>Drop down list of MaxOccurs values.</action>
                        <result>Dropped list should contain only value of &quot;unbounded&quot;.</result>
                        <action>Change value of MaxOccurs to *.</action>
                        <result>It should be possible to do. &quot;unbounded&quot; value should be displayed on the right of MaxOccurs</result>
                        <action>Change MaxOccurs property to -5.</action>
                        <result>It shouldn't be possible to do.</result>
                        <action>Change MaxOccurs property to 5.</action>
                        <result>New value 5 should be displayed on the right of MaxOccurs</result>
                        <action>Change value of MaxOccurs to &quot;unbounded&quot;.</action>
                        <result>&quot;unbounded&quot; value should be displayed on the right of MaxOccurs</result>
                        <action>Change MaxOccurs property to 2.</action>
                        <result>New value 2 should be displayed on the right of MaxOccurs</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of MaxOccurs property should be reverted to &quot;unbounded&quot;.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of MaxOccurs property should be reverted back to 2.</result>
                </usecase>
                <usecase name="Checking MinOccurs property">
                        <action>Change MinOccurs property to -5.</action>
                        <result>It shouldn't be possible to do.</result>
                        <action>Change MinOccurs property to 5.</action>
                        <result>New value 5 should be displayed on the right of MinOccurs</result>
                        <action>Change value of MinOccurs to 0.</action>
                        <result>New value 0 should be displayed on the right of MinOccurs</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of MinOccurs property should be reverted to 5.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of MinOccurs property should be reverted back to 0.</result>
                </usecase>
                <usecase name="Checking Process Contents property">
                        <action>Drop down list of Process Contents values.</action>
                        <result>Possible values of Process Contents are as follows: Default for schema (not set), Lax, Skip, Strict.</result>
                        <action>Change value of Process Contents to Lax.</action>
                        <result>Lax value should be displayed on the right of Process Contents</result>
                        <action>Change value of Process Contents to Skip.</action>
                        <result>Skip value should be displayed on the right of Process Contents</result>
                        <action>Change value of Process Contents to Strict.</action>
                        <result>Strict value should be displayed on the right of Process Contents</result>
                        <action>Undo the last changes by pressing Undo toolbar button.</action>
                        <result>Value of Process Content property should be reverted to Skip.</result>
                        <action>Redo the last changes by pressing Redo toolbar button.</action>
                        <result>Value of Process Content property should be reverted back to Strict.</result>
                </usecase>
                <usecase name="Checking Namespace property (TBD)">
                </usecase>
                <usecase name="Checking updated source">
                        <action>Invoke Go To Source popup menu command on all (All) node.</action>
                        <result>Cursor should be placed on the following line of the schema source: &lt;xsd:any minOccurs=&quot;0&quot; maxOccurs=&quot;2&quot; id=&quot;asdf&quot; processContents=&quot;strict&quot;></result>
                </usecase>
        </caseblock>
</spec>
