<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="spec.xsl" ?>
<spec title="NetBeans Enterprise Pack 5.5 Preview XML Tools Source View Test Specification" version="1.0" last-updated="19 January 2006" author="Philipp Kozlov" author-email="kozlov@netbeans.org">
    <intro>
	This specification provides usecases of changing properties of some very common components via Source View and verifying them in Property Sheet/Explore View.
        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 Source view as well. Properties pane should be opened by &quot;Window|Properties&quot; menu command.
    </intro>
    <caseblock name="&quot;Global Element&quot; component">
        <purpose>Checking Editing &quot;Global Element&quot; Properties and It's Interaction with Properties Sheet</purpose>
        <setup> Find Global Element &quot;Element-1&quot; in Source.</setup>
        <usecase name="Checking &quot;ID&quot; Property">
            <action>Add ' id="qwerty" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Id "qwerty" should be displayed for Element in Properties Window.</result>
            <action>Switch back to Source View and change id from "qwerty" to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' id="12345" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value should be empty for ID in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Name&quot; Property">
            <action>Change Element-1 Name to "Element-12345" in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Name "Element-12345" should be displayed in Properties Window.</result>
            <action>Switch back to Source View and change Name to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Name back to "Element-1". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Name "Element-1" should be displayed in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Abstract&quot; Property">
            <action>Add ' abstract="true" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "true" should be displayed for Abstract in Properties Window.</result>
            <action>Switch back to Source View and change Abstract to "true" to "true12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Abstract from "true12345" to "false". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "false" should be displayed for Abstract in Properties Window.</result>
            <action>Switch back to Source View and delete ' abstract="false" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Abstract in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Nillable&quot; Property">
            <action>Add ' nillable="true" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "true" should be displayed for Nillable in Properties Window.</result>
            <action>Switch back to Source View and change Nillable to "true" to "true12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Nillable from "true12345" to "false". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "false" should be displayed for Nillable in Properties Window.</result>
            <action>Switch back to Source View and delete ' nillable="false" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Nillable in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Fixed Value&quot; Property">
            <action>Add ' fixed="12345" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "12345" should be displayed for Fixed Value in Properties Window.</result>
            <action>Switch back to Source View and change Fixed from "12345" to "qwerty". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "qwerty" should be displayed for Fixed Value in Properties Window.</result>
            <action>Switch back to Source. Add ' default="12345" ' to Element-1.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' default="12345" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source View and delete ' fixed="12345" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Fixed Value in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Default Value&quot; Property">
            <action>Add ' default="12345" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "12345" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source. Add ' fixed="12345" ' to Element-1.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' fixed="12345" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source View and change Default from "12345" to "qwerty". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "qwerty" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source View and delete ' default="12345" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Default Value in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Prohibited Derivations (Final)&quot; Property">
            <action>Add '  final="#all" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "#all" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Derivations (Final)" input field to open dialog.</action>
            <result>"Global element - Prohibited Derivations (Final)" opens. "Prevent all types derivations (#all)" should be selected.</result>
            <action>Switch back to Source View and change Final from "#all" to "extension restriction". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "extension restriction" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Derivations (Final)" input field to open dialog.</action>
            <result>"Global element - Prohibited Derivations (Final)" opens. "Prevent types derivations of following kinds:" should be selected and Restriction and Extension should be checked.</result>
            <action>Switch back to Source View and delete '  final="extension restriction" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>"Prohibited Derivations (Final)" Value field should be empty in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Prohibited Substitutions (Block)&quot; Property">
            <action>Add '  block="#all" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "#all" should be displayed for Prohibited Substitution in Properties Window.</result>
            <action>Click on "Prohibited Substitutions (Block)" input field to open dialog.</action>
            <result>"Global element - Prohibited Substitutions (Block)" opens. "Block all Substitution (#all)" should be selected.</result>
            <action>Switch back to Source View and change Block from "#all" to "restriction substitution extension". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "restriction substitution extension" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Substitutions (Block)" input field to open dialog.</action>
            <result>"Global element - Prohibited Substitutions (Block)" opens. "Block Substitutions of following kinds:" should be selected and Restriction, Substitution and Extension should be checked.</result>
            <action>Switch back to Source View and delete '  block="extension substitution restriction" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>"Prohibited Substitutions (Block)" Value field should be empty in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Substitution Group&quot; Property">
            <action>Add ' substitutionGroup="IncludedElement" ' to Element-1 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "IncludedElement" should be displayed for Substitution Group in Properties Window.</result>
            <action>Click on "Substitution Group" input field to open dialog.</action>
            <result>"Global element - Substitution Group" opens. "IncludedElement" should be selected.</result>
            <action>Switch back to Source View and change Substitution Group from "IncludedElement" to "ImportedElement". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "ImportedElement" should be displayed for Substitution Group in Properties Window.</result>
            <action>Click on "Substitution Group" input field to open dialog.</action>
            <result>"Global element - Substitution Group" opens. "ImportedElement" should be selected.</result>
            <action>Switch back to Source View and delete ' substitutionGroup="IncludedElement" ' from Element-1. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>"Substitution Group" Value field should be empty in Properties Window.</result>
        </usecase>
    </caseblock>
    <caseblock name="&quot;Global Complex Type&quot; component">
        <purpose>Checking Editing &quot;Global Complex Type&quot; Properties and It's Interaction with Properties Sheet</purpose>
        <setup> Find Global Complex Type &quot;ComplexType-0&quot; in Source.</setup>
        <usecase name="Checking &quot;ID&quot; Property">
            <action>Add ' id="qwerty" ' to ComplexType-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Id "qwerty" should be displayed for Element in Properties Window.</result>
            <action>Switch back to Source View and change id from "qwerty" to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' id="12345" ' from ComplexType-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value should be empty for ID in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Name&quot; Property">
            <action>Change ComplexType-0 Name to "ComplexType-012345" in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Name "ComplexType-012345" should be displayed in Properties Window.</result>
            <action>Switch back to Source View and change Name to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Name back to "ComplexType-0". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Name "ComplexType-0" should be displayed in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Abstract&quot; Property">
            <action>Add ' abstract="true" ' to ComplexType-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "true" should be displayed for Abstract in Properties Window.</result>
            <action>Switch back to Source View and change Abstract to "true" to "true12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Abstract from "true12345" to "false". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "false" should be displayed for Abstract in Properties Window.</result>
            <action>Switch back to Source View and delete ' abstract="false" ' from ComplexType-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Abstract in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Mixed Content&quot; Property">
            <action>Add ' mixed="true" ' to ComplexType-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "true" should be displayed for Mixed Content in Properties Window.</result>
            <action>Switch back to Source View and change Mixed to "true" to "true12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Mixed from "true12345" to "false". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "false" should be displayed for Mixed Content in Properties Window.</result>
            <action>Switch back to Source View and delete ' mixed="false" ' from ComplexType-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Mixed Content in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Prohibited Derivations (Final)&quot; Property">
            <action>Add '  final="#all" ' to ComplexType-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "#all" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Derivations (Final)" input field to open dialog.</action>
            <result>"Global element - Prohibited Derivations (Final)" opens. "Prevent all types derivations (#all)" should be selected.</result>
            <action>Switch back to Source View and change Final from "#all" to "extension restriction". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "extension restriction" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Derivations (Final)" input field to open dialog.</action>
            <result>"Global element - Prohibited Derivations (Final)" opens. "Prevent types derivations of following kinds:" should be selected and Restriction and Extension should be checked.</result>
            <action>Switch back to Source View and delete '  final="extension restriction" ' from ComplexType-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>"Prohibited Derivations (Final)" Value field should be empty in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Prohibited Substitutions (Block)&quot; Property">
            <action>Add '  block="#all" ' to ComplexType-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "#all" should be displayed for Prohibited Substitution in Properties Window.</result>
            <action>Click on "Prohibited Substitutions (Block)" input field to open dialog.</action>
            <result>"Global element - Prohibited Substitutions (Block)" opens. "Block all Substitution (#all)" should be selected.</result>
            <action>Switch back to Source View and change Block from "#all" to "restriction substitution extension". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "restriction substitution extension" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Substitutions (Block)" input field to open dialog.</action>
            <result>"Global element - Prohibited Substitutions (Block)" opens. "Block Substitutions of following kinds:" should be selected and Restriction, Substitution and Extension should be checked.</result>
            <action>Switch back to Source View and delete '  block="extension substitution restriction" ' ComplexType-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>"Prohibited Substitutions (Block)" Value field should be empty in Properties Window.</result>
        </usecase>
    </caseblock>
    <caseblock name="&quot;Global Simple Type&quot; component">
        <purpose>Checking Editing &quot;Global Simple Type&quot; Properties and It's Interaction with Properties Sheet</purpose>
        <setup> Find Global Simple Type &quot;SimpleType-0&quot; in Source.</setup>
        <usecase name="Checking &quot;ID&quot; Property">
            <action>Add ' id="qwerty" ' to SimpleType-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Id "qwerty" should be displayed for ID in Properties Window.</result>
            <action>Switch back to Source View and change id from "qwerty" to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' id="12345" ' from SimpleType-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value should be empty for ID in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Name&quot; Property">
            <action>Change SimpleType-0 Name to "SimpleType-012345" in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Name "SimpleType-012345" should be displayed in Properties Window.</result>
            <action>Switch back to Source View and change Name to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Name back to "SimpleType-0". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Name "SimpleType-0" should be displayed in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Prohibited Derivations (Final)&quot; Property">
            <action>Add '  final="#all" ' to SimpleType-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "#all" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Derivations (Final)" input field to open dialog.</action>
            <result>"Global element - Prohibited Derivations (Final)" opens. "Prevent all types derivations (#all)" should be selected.</result>
            <action>Switch back to Source View and change Final from "#all" to "extension restriction". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "extension restriction" should be displayed for Prohibited Derivations in Properties Window.</result>
            <action>Click on "Prohibited Derivations (Final)" input field to open dialog.</action>
            <result>"Global element - Prohibited Derivations (Final)" opens. "Prevent types derivations of following kinds:" should be selected and Restriction and Extension should be checked.</result>
            <action>Switch back to Source View and delete '  final="extension restriction" ' SimpleType-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>"Prohibited Derivations (Final)" Value field should be empty in Properties Window.</result>
        </usecase>
    </caseblock>
    <caseblock name="&quot;Global Attribute&quot; component">
        <purpose>Checking Editing &quot;Global Attribute&quot; Properties and It's Interaction with Properties Sheet</purpose>
        <setup> Attribute &quot;Attribute-0&quot; in Source.</setup>
        <usecase name="Checking &quot;ID&quot; Property">
            <action>Add ' id="qwerty" ' to Attribute-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Id "qwerty" should be displayed for Element in Properties Window.</result>
            <action>Switch back to Source View and change id from "qwerty" to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' id="12345" ' from Attribute-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value should be empty for ID in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Name&quot; Property">
            <action>Change Attribute-0 Name to "Attribute-012345" in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Name "Attribute-012345" should be displayed in Properties Window.</result>
            <action>Switch back to Source View and change Name to "12345". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and change Name back to "Attribute-0". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Name "Attribute-0" should be displayed in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Fixed Value&quot; Property">
            <action>Add ' fixed="12345" ' to Attribute-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "12345" should be displayed for Fixed Value in Properties Window.</result>
            <action>Switch back to Source View and change Fixed from "12345" to "qwerty". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "qwerty" should be displayed for Fixed Value in Properties Window.</result>
            <action>Switch back to Source. Add ' default="12345" ' to Attribute-0.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' default="12345" ' from Attribute-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source View and delete ' fixed="12345" ' from Attribute-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Fixed Value in Properties Window.</result>
        </usecase>
        <usecase name="Checking &quot;Default Value&quot; Property">
            <action>Add ' default="12345" ' to Attribute-0 in Source.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Value "12345" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source. Add ' fixed="12345" ' to Attribute-0.</action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View.</action>
            <result>Invalid value should be reported.</result>
            <action>Switch back to Source View and delete ' fixed="12345" ' from Attribute-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source View and change Default from "12345" to "qwerty". </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "qwerty" should be displayed for Default Value in Properties Window.</result>
            <action>Switch back to Source View and delete ' default="12345" ' from Attribute-0. </action>
            <result>It should be possible to do.</result>
            <action>Switch to Explore View. </action>
            <result>Value "False(non set)" should be displayed for Default Value in Properties Window.</result>
        </usecase>
    </caseblock>
        
</spec>
