TS 61 XML
XML Tools Test Specification for NetBeans 6.1
Author: Tony Beckham
Version: 1.3
Last update: 05/21/2008
Introduction:
Comments: Requires "XML and Schema" plugin installed
Test suite: Schema Aware Code Completion (auto)
Purpose: Verify Code Completion functionality for multiple scenarios
Setup: Create a new Java Project for these tests
- From local schema #1
- Choose File->New File->XML->Purchase Order Sample Schema, next, finish
- Choose File->New File->XML->XML Document, next, XML Schema-Constrained Document
- Select Browse in the wizard and navigate to the Purchase Order schema under "By File"
- Set the root element to purchaseOrder, next, finish
- In the XML document start a tag ("<")
- EXPECTED RESULT: code completion should give you suggestions
- From local schema #2
- Repeat steps above but at step #3 find the schema under "By Namespace"
- EXPECTED RESULT: code completion should give you suggestions
- From local schema #3
- Choose File->Java->Java Package, next, finish
- Choose File->New File->XML->Purchase Order Sample Schema, next
- For the folder field select browse and choose the new package, finish
- Choose File->New File->XML->XML Document, Make sure to select a different folder than the Purchase Order was created in for
- next, XML Schema-Constrained Document
- Select Browse in the wizard and navigate to the Purchase Order schema under "By File"
- Set the root element to purchaseOrder, next, finish
- In the XML document start a tag ("<")
- EXPECTED RESULT: code completion should give you suggestions
- From local schema #4
- Repeat steps above but at step #6 find the schema under "By Namespace"
- EXPECTED RESULT: code completion should give you suggestions
- From remote (internet) schema
- File->New File->XML->XML Document, next, XML Schema-Constrained Document
- In the Schema column use the URL: http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- Set the root to Bean once the schema has been retrieved
- In the document just above "</ns1:bean>" begin a new tag
- EXPECTED RESULT: Code Completion should offer suggestions
- From multiple schemas (wildcards) #1
- File->New File->XML->XML Schema accept all defaults
- Switch the editor view to Design View
- Add an Element to the schema accepting default values
- To this element add a few child elements
- Switch to source view and just before the first child element declaration add "<xsd:any/>"
- Repeat steps 1-4
- Choose File->New File->XML->XML Document, next, XML Schema-Constrained Document
- Select Browse in the wizard and select the two schemes created under "By File"
- Begin a tag in the new XML document and select the top element of the first schema from Suggestions
- EXPECTED RESULT: Suggestions from all schemas referenced are available
- From multiple schemas (wildcards) #2
- With the same setup as wilcards test #1
- Begin a new tag
- Select an element from the second schema created and its closing tag as well
- Inside of this tag start a new tag
- EXPECTED RESULT: Suggestions from only the second referenced schema are available
- From catalog DTD
- File->New File->XML->XML Schema, next
- Choose DTD-Constrained document, next
- Accept all default values, finish
- At the end of the document start a new tag
- EXPECTED RESULT: code completion should offer suggestions from the DTD
- From catalog Schema
- File->New File->Persistence->Persistence Unit, next
- Choose a Database Connection, finish
- Switch to XML view for persistence.xml
- Just above "</persistence>" at the end of the document begin a new tag
- EXPECTED RESULT: Code Completion offers suggestion
Test suite: XML Document and Schema Generation (auto)
- Sample XML generation from schema via context menu
- Create new loan application sample schema
- Right click loan application schema in projects window
- select "Generate Sample XML"
- accept defaults
- run check xml on the XML file
- EXPECTED RESULT: XML file for is generated, populated with correct information, and is valid
- Sample XML generation from schema via new file wizard
- Create new loan application sample schema
- Choose File->New File->XML->XML Document, next
- Select XML Schema-Constrained Document, next
- Select browse and navigate to the sample schema and set as primary, next, finish
- run check xml on the XML file
- EXPECTED RESULT: XML file for is generated, populated with correct information
- XML instance generation from a web source
- Choose File->New File->XML->XML Document, next
- Select XML Schema-Constrained Document, next
- Enter a URL for a schema file on the web, ie. http://www.openlaszlo.org/lps/tools/lzx.xsd
- Once schema is laoded, set as primary and choose root element, next , finish
- run check xml on the XML file
- EXPECTED RESULT: XML file is generated
- Multiple XML Schema generation from local sources
- Choose File->New File->XML->External XML Schema Document(s), next
- Select from local file system, browse
- Choose 2 or more schema from filesystem, open, finish
- EXPECTED RESULT: all selected schema are added to current project
- XML document creation from multiple schemas
- File->New File->XML->XML Schema accept all defaults
- Repeat step 1 to create a second schema
- Choose File->New File->XML->XML Document, next, XML Schema-Constrained Document
- Select Browse in the wizard and select the two schemes created under "By File"
- set one as primary and complete the wizard
- EXPECTED RESULT: XML file is generated, schemalocation attribute includes all selected schema
Test suite: DTD Node Actions (auto)
Setup:
- Create a new Java Project
- To this project add the Purchase Order Sample Schema
- Generate Sample XML of purchase order schema selecting purchaseOrder as the root element
- Generate DTD of the xml document
- Generate CSS
- Right click Generated DTD Node in projects view
- from the context menu select "Generate CSS..."
- EXPECTED RESULT: stylesheet for the DTD is generated and is valid
- Check DTD
- Right click Generated DTD Node in projects view
- from the context menu select "Check DTD"
- EXPECTED RESULT: Output Window shows DTD checking Started and DTD Checking finished
- Generate Documentation
- Right click Generated DTD Node in projects view
- from the context menu select "Generate Documentation..."
- If the file did not open in a browser, manually do this and check documentation created successfully
- EXPECTED RESULT: html documentation file will be generated and be correct
- Generate DOM Tree Scanner
- Right click Generated DTD Node in projects view
- from the context menu select "Generate DOM Tree Scanner..."
- check generated file for correctness and contains no errors
- EXPECTED RESULT: scanner for the DOM tree is generated
- SAX Document Handler Wizard Sanity
- Right click Generated DTD Node in projects view
- From the context menu select "SAX Document Handler Wizard"
- Accept Defaults, next
- For all handler types that are empty, change to ignore, next, next,finish
- EXPECTED RESULT: 4 files are generated; NewPurchaseOrderHandler.java, NewPurchaseOrderHandlerImpl.java, NewPurchaseOrderParser.java, NewPurchaseOrderSAXBindings
- SAX Document Handler Wizard Detail
- Repeat testcase SAX Document Handler Wizard Sanity with all combinations of JAXP & SAX versions as well as Propagate SAX Events to Generated Handler and save custom bindings options of the wizard
- EXPECTED RESULT: same results as SAX Document Handler Sanity test case except if save custom bindings is not selected only 3 files will be generated
Test suite: "All" component (auto)
Purpose: Checking compliance of "All" component properties and functionality bound up with them
Setup: Select "http://sample.namespace.org|ComplexType-0 (Global Complex Type)|all (All)" path in Explore tree
- Checking property set
- Check properties displayed in Properties pane.
- EXPECTED RESULT: There should be the following properties available: kind: All, ID: null, Min Occurs: 1.
- Checking ID property
- Change value of ID to "qwerty".
- EXPECTED RESULT: It should be possible to do. New value should be displayed on the right of ID.
- Change value of ID to "12345".
- EXPECTED RESULT: Ivalid value should be reported.
- Change value of ID to "asdfg".
- EXPECTED RESULT: It should be possible to do. New value should be displayed on the right of ID.
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of ID property should be reverted to qwerty.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of ID property should be reverted back to asdfg.
- Checking MinOccurs property
- Drop down list of possible MinOccurs values.
- EXPECTED RESULT: Possible values of MinOccurs are 0 and 1.
- Change value of MinOccurs to 0.
- EXPECTED RESULT: It should be possible to do. New value should be displayed on the right of MinOccurs.
- Change value of MinOccurs back to 1.
- EXPECTED RESULT: It should be possible to do. Old value should be displayed on the right of MinOccurs.
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of MinOccurs property should be reverted to 0.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of MinOccurs property should be reverted back to 1.
- Checking updated source
- Invoke Go To Source popup menu command on all (All) node.
- {{{1}}}
Test suite: "Any" component (auto)
Purpose: Checking compliance of "Any" component properties and functionality bound up with them
Setup: Select "http://sample.namespace.org|Group-0 (Global Group)|sequence|any (Any)" path in Explore tree
- Checking property set
- Check properties displayed in Properties pane.
- EXPECTED 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.
- Checking ID property
- Change value of ID to "qwer".
- EXPECTED RESULT: It should be possible to do. New value should be displayed on the right of ID.
- Change value of ID to "1234".
- EXPECTED RESULT: Ivalid value should be reported.
- Change value of ID to "asdf".
- EXPECTED RESULT: It should be possible to do. New value should be displayed on the right of ID.
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of ID property should be reverted to qwer.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of ID property should be reverted back to asdf.
- Checking MaxOccurs property
- Drop down list of MaxOccurs values.
- EXPECTED RESULT: Dropped list should contain only value of "unbounded".
- Change value of MaxOccurs to *.
- EXPECTED RESULT: It should be possible to do. "unbounded" value should be displayed on the right of MaxOccurs
- Change MaxOccurs property to -5.
- EXPECTED RESULT: It shouldn't be possible to do.
- Change MaxOccurs property to 5.
- EXPECTED RESULT: New value 5 should be displayed on the right of MaxOccurs
- Change value of MaxOccurs to "unbounded".
- EXPECTED RESULT: "unbounded" value should be displayed on the right of MaxOccurs
- Change MaxOccurs property to 2.
- EXPECTED RESULT: New value 2 should be displayed on the right of MaxOccurs
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of MaxOccurs property should be reverted to "unbounded".
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of MaxOccurs property should be reverted back to 2.
- Checking MinOccurs property
- Change MinOccurs property to -5.
- EXPECTED RESULT: It shouldn't be possible to do.
- Change MinOccurs property to 5.
- EXPECTED RESULT: New value 5 should be displayed on the right of MinOccurs
- Change value of MinOccurs to 0.
- EXPECTED RESULT: New value 0 should be displayed on the right of MinOccurs
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of MinOccurs property should be reverted to 5.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of MinOccurs property should be reverted back to 0.
- Checking Process Contents property
- Drop down list of Process Contents values.
- EXPECTED RESULT: Possible values of Process Contents are as follows: Default for schema (not set), Lax, Skip, Strict.
- Change value of Process Contents to Lax.
- EXPECTED RESULT: Lax value should be displayed on the right of Process Contents
- Change value of Process Contents to Skip.
- EXPECTED RESULT: Skip value should be displayed on the right of Process Contents
- Change value of Process Contents to Strict.
- EXPECTED RESULT: Strict value should be displayed on the right of Process Contents
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of Process Content property should be reverted to Skip.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of Process Content property should be reverted back to Strict.
- Checking Namespace property (TBD)
- Checking updated source
- Invoke Go To Source popup menu command on all (All) node.
- {{{1}}}
Test suite: "Any attribute" component (auto)
Purpose: Checking compliance of "Any attribute" component properties and functionality bound up with them
Setup: Select "http://sample.namespace.org|AttributeGroup-0 (Global Attribute Group)|anyAttribute (Any Attribute)" path in Explore tree
- Checking property set
- Check properties displayed in Properties pane.
- EXPECTED 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.
- Checking ID property
- Change value of ID to "qwer".
- EXPECTED RESULT: It should be possible to do. New value should be displayed on the right of ID.
- Change value of ID to "1234".
- EXPECTED RESULT: Ivalid value should be reported.
- Change value of ID to "asdf".
- EXPECTED RESULT: It should be possible to do. New value should be displayed on the right of ID.
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of ID property should be reverted to qwer.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of ID property should be reverted back to asdf.
- Checking MaxOccurs property
- Drop down list of MaxOccurs values.
- EXPECTED RESULT: Dropped list should contain only value of "unbounded".
- Change value of MaxOccurs to *.
- EXPECTED RESULT: It should be possible to do. "unbounded" value should be displayed on the right of MaxOccurs
- Change MaxOccurs property to -5.
- EXPECTED RESULT: It shouldn't be possible to do.
- Change MaxOccurs property to 5.
- EXPECTED RESULT: New value 5 should be displayed on the right of MaxOccurs
- Change value of MaxOccurs to "unbounded".
- EXPECTED RESULT: "unbounded" value should be displayed on the right of MaxOccurs
- Change MaxOccurs property to 2.
- EXPECTED RESULT: New value 2 should be displayed on the right of MaxOccurs
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of MaxOccurs property should be reverted to "unbounded".
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of MaxOccurs property should be reverted back to 2.
- Checking MinOccurs property
- Change MinOccurs property to -5.
- EXPECTED RESULT: It shouldn't be possible to do.
- Change MinOccurs property to 5.
- EXPECTED RESULT: New value 5 should be displayed on the right of MinOccurs
- Change value of MinOccurs to 0.
- EXPECTED RESULT: New value 0 should be displayed on the right of MinOccurs
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of MinOccurs property should be reverted to 5.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of MinOccurs property should be reverted back to 0.
- Checking Process Contents property
- Drop down list of Process Contents values.
- EXPECTED RESULT: Possible values of Process Contents are as follows: Default for schema (not set), Lax, Skip, Strict.
- Change value of Process Contents to Lax.
- EXPECTED RESULT: Lax value should be displayed on the right of Process Contents
- Change value of Process Contents to Skip.
- EXPECTED RESULT: Skip value should be displayed on the right of Process Contents
- Change value of Process Contents to Strict.
- EXPECTED RESULT: Strict value should be displayed on the right of Process Contents
- Undo the last changes by pressing Undo toolbar button.
- EXPECTED RESULT: Value of Process Content property should be reverted to Skip.
- Redo the last changes by pressing Redo toolbar button.
- EXPECTED RESULT: Value of Process Content property should be reverted back to Strict.
- Checking Namespace property (TBD)
- Checking updated source
- Invoke Go To Source popup menu command on all (All) node.
- {{{1}}}
Test suite: "Global Element" component (auto)
Purpose: Checking Editing "Global Element" Properties and It's Interaction with Properties Sheet
Setup: Find Global Element "Element-1" in Source.
- Checking "ID" Property
- Add ' id="qwerty" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Id "qwerty" should be displayed for Element in Properties Window.
- Switch back to Source View and change id from "qwerty" to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' id="12345" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value should be empty for ID in Properties Window.
- Checking "Name" Property
- Change Element-1 Name to "Element-12345" in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "Element-12345" should be displayed in Properties Window.
- Switch back to Source View and change Name to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Name back to "Element-1".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "Element-1" should be displayed in Properties Window.
- Checking "Abstract" Property
- Add ' abstract="true" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "true" should be displayed for Abstract in Properties Window.
- Switch back to Source View and change Abstract to "true" to "true12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Abstract from "true12345" to "false".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "false" should be displayed for Abstract in Properties Window.
- Switch back to Source View and delete ' abstract="false" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Abstract in Properties Window.
- Checking "Nillable" Property
- Add ' nillable="true" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "true" should be displayed for Nillable in Properties Window.
- Switch back to Source View and change Nillable to "true" to "true12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Nillable from "true12345" to "false".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "false" should be displayed for Nillable in Properties Window.
- Switch back to Source View and delete ' nillable="false" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Nillable in Properties Window.
- Checking "Fixed Value" Property
- Add ' fixed="12345" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "12345" should be displayed for Fixed Value in Properties Window.
- Switch back to Source View and change Fixed from "12345" to "qwerty".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "qwerty" should be displayed for Fixed Value in Properties Window.
- Switch back to Source. Add ' default="12345" ' to Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' default="12345" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Default Value in Properties Window.
- Switch back to Source View and delete ' fixed="12345" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Fixed Value in Properties Window.
- Checking "Default Value" Property
- Add ' default="12345" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "12345" should be displayed for Default Value in Properties Window.
- Switch back to Source. Add ' fixed="12345" ' to Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' fixed="12345" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Default Value in Properties Window.
- Switch back to Source View and change Default from "12345" to "qwerty".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "qwerty" should be displayed for Default Value in Properties Window.
- Switch back to Source View and delete ' default="12345" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Default Value in Properties Window.
- Checking "Prohibited Derivations (Final)" Property
- Add ' final="#all" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "#all" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Derivations (Final)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Derivations (Final)" opens. "Prevent all types derivations (#all)" should be selected.
- Switch back to Source View and change Final from "#all" to "extension restriction".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "extension restriction" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Derivations (Final)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Derivations (Final)" opens. "Prevent types derivations of following kinds:" should be selected and Restriction and Extension should be checked.
- Switch back to Source View and delete ' final="extension restriction" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: "Prohibited Derivations (Final)" Value field should be empty in Properties Window.
- Checking "Prohibited Substitutions (Block)" Property
- Add ' block="#all" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "#all" should be displayed for Prohibited Substitution in Properties Window.
- Click on "Prohibited Substitutions (Block)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Substitutions (Block)" opens. "Block all Substitution (#all)" should be selected.
- Switch back to Source View and change Block from "#all" to "restriction substitution extension".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "restriction substitution extension" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Substitutions (Block)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Substitutions (Block)" opens. "Block Substitutions of following kinds:" should be selected and Restriction, Substitution and Extension should be checked.
- Switch back to Source View and delete ' block="extension substitution restriction" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: "Prohibited Substitutions (Block)" Value field should be empty in Properties Window.
- Checking "Substitution Group" Property
- Add ' substitutionGroup="IncludedElement" ' to Element-1 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "IncludedElement" should be displayed for Substitution Group in Properties Window.
- Click on "Substitution Group" input field to open dialog.
- EXPECTED RESULT: "Global element - Substitution Group" opens. "IncludedElement" should be selected.
- Switch back to Source View and change Substitution Group from "IncludedElement" to "ImportedElement".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "ImportedElement" should be displayed for Substitution Group in Properties Window.
- Click on "Substitution Group" input field to open dialog.
- EXPECTED RESULT: "Global element - Substitution Group" opens. "ImportedElement" should be selected.
- Switch back to Source View and delete ' substitutionGroup="IncludedElement" ' from Element-1.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: "Substitution Group" Value field should be empty in Properties Window.
Test suite: "Global Complex Type" component (auto)
Purpose: Checking Editing "Global Complex Type" Properties and It's Interaction with Properties Sheet
Setup: Find Global Complex Type "ComplexType-0" in Source.
- Checking "ID" Property
- Add ' id="qwerty" ' to ComplexType-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Id "qwerty" should be displayed for Element in Properties Window.
- Switch back to Source View and change id from "qwerty" to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' id="12345" ' from ComplexType-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value should be empty for ID in Properties Window.
- Checking "Name" Property
- Change ComplexType-0 Name to "ComplexType-012345" in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "ComplexType-012345" should be displayed in Properties Window.
- Switch back to Source View and change Name to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Name back to "ComplexType-0".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "ComplexType-0" should be displayed in Properties Window.
- Checking "Abstract" Property
- Add ' abstract="true" ' to ComplexType-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "true" should be displayed for Abstract in Properties Window.
- Switch back to Source View and change Abstract to "true" to "true12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Abstract from "true12345" to "false".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "false" should be displayed for Abstract in Properties Window.
- Switch back to Source View and delete ' abstract="false" ' from ComplexType-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Abstract in Properties Window.
- Checking "Mixed Content" Property
- Add ' mixed="true" ' to ComplexType-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "true" should be displayed for Mixed Content in Properties Window.
- Switch back to Source View and change Mixed to "true" to "true12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Mixed from "true12345" to "false".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "false" should be displayed for Mixed Content in Properties Window.
- Switch back to Source View and delete ' mixed="false" ' from ComplexType-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Mixed Content in Properties Window.
- Checking "Prohibited Derivations (Final)" Property
- Add ' final="#all" ' to ComplexType-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "#all" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Derivations (Final)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Derivations (Final)" opens. "Prevent all types derivations (#all)" should be selected.
- Switch back to Source View and change Final from "#all" to "extension restriction".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "extension restriction" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Derivations (Final)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Derivations (Final)" opens. "Prevent types derivations of following kinds:" should be selected and Restriction and Extension should be checked.
- Switch back to Source View and delete ' final="extension restriction" ' from ComplexType-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: "Prohibited Derivations (Final)" Value field should be empty in Properties Window.
- Checking "Prohibited Substitutions (Block)" Property
- Add ' block="#all" ' to ComplexType-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "#all" should be displayed for Prohibited Substitution in Properties Window.
- Click on "Prohibited Substitutions (Block)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Substitutions (Block)" opens. "Block all Substitution (#all)" should be selected.
- Switch back to Source View and change Block from "#all" to "restriction substitution extension".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "restriction substitution extension" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Substitutions (Block)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Substitutions (Block)" opens. "Block Substitutions of following kinds:" should be selected and Restriction, Substitution and Extension should be checked.
- Switch back to Source View and delete ' block="extension substitution restriction" ' ComplexType-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: "Prohibited Substitutions (Block)" Value field should be empty in Properties Window.
Test suite: "Global Simple Type" component (auto)
Purpose: Checking Editing "Global Simple Type" Properties and It's Interaction with Properties Sheet
Setup: Find Global Simple Type "SimpleType-0" in Source.
- Checking "ID" Property
- Add ' id="qwerty" ' to SimpleType-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Id "qwerty" should be displayed for ID in Properties Window.
- Switch back to Source View and change id from "qwerty" to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' id="12345" ' from SimpleType-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value should be empty for ID in Properties Window.
- Checking "Name" Property
- Change SimpleType-0 Name to "SimpleType-012345" in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "SimpleType-012345" should be displayed in Properties Window.
- Switch back to Source View and change Name to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Name back to "SimpleType-0".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "SimpleType-0" should be displayed in Properties Window.
- Checking "Prohibited Derivations (Final)" Property
- Add ' final="#all" ' to SimpleType-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "#all" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Derivations (Final)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Derivations (Final)" opens. "Prevent all types derivations (#all)" should be selected.
- Switch back to Source View and change Final from "#all" to "extension restriction".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "extension restriction" should be displayed for Prohibited Derivations in Properties Window.
- Click on "Prohibited Derivations (Final)" input field to open dialog.
- EXPECTED RESULT: "Global element - Prohibited Derivations (Final)" opens. "Prevent types derivations of following kinds:" should be selected and Restriction and Extension should be checked.
- Switch back to Source View and delete ' final="extension restriction" ' SimpleType-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: "Prohibited Derivations (Final)" Value field should be empty in Properties Window.
Test suite: "Global Attribute" component (auto)
Purpose: Checking Editing "Global Attribute" Properties and It's Interaction with Properties Sheet
Setup: Attribute "Attribute-0" in Source.
- Checking "ID" Property
- Add ' id="qwerty" ' to Attribute-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Id "qwerty" should be displayed for Element in Properties Window.
- Switch back to Source View and change id from "qwerty" to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' id="12345" ' from Attribute-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value should be empty for ID in Properties Window.
- Checking "Name" Property
- Change Attribute-0 Name to "Attribute-012345" in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "Attribute-012345" should be displayed in Properties Window.
- Switch back to Source View and change Name to "12345".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and change Name back to "Attribute-0".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Name "Attribute-0" should be displayed in Properties Window.
- Checking "Fixed Value" Property
- Add ' fixed="12345" ' to Attribute-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "12345" should be displayed for Fixed Value in Properties Window.
- Switch back to Source View and change Fixed from "12345" to "qwerty".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "qwerty" should be displayed for Fixed Value in Properties Window.
- Switch back to Source. Add ' default="12345" ' to Attribute-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' default="12345" ' from Attribute-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Default Value in Properties Window.
- Switch back to Source View and delete ' fixed="12345" ' from Attribute-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Fixed Value in Properties Window.
- Checking "Default Value" Property
- Add ' default="12345" ' to Attribute-0 in Source.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "12345" should be displayed for Default Value in Properties Window.
- Switch back to Source. Add ' fixed="12345" ' to Attribute-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Invalid value should be reported.
- Switch back to Source View and delete ' fixed="12345" ' from Attribute-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Default Value in Properties Window.
- Switch back to Source View and change Default from "12345" to "qwerty".
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "qwerty" should be displayed for Default Value in Properties Window.
- Switch back to Source View and delete ' default="12345" ' from Attribute-0.
- EXPECTED RESULT: It should be possible to do.
- Switch to Explore View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Default Value in Properties Window.
Test suite: Schema View Editor Window (auto in progress)
Purpose: Test functionality of operations available in the Schema View
- Adding Components
- Choose File->New File->XML->Schema, next, finish
- Right click Attributes node
- Select Add Attribute...
- accept defaults
- EXPECTED RESULT: newAttribute is added to the schema
- Create a new schema (Choose File->New File->XML->Schema, next, give schema a unique name)
- The schema should open in the editor
- Switch to the first schema
- Right click the Referenced Schema node
- Select import
- Navigate via By File to the the second schema just created and mark the checkbox next to it
- Press OK
- EXPECTED RESULT: There should be a reference to the second schema from the first
- Repeat procedure for the rest of the component types (Attribute Groups through Simple Types)
- EXPECTED RESULT: The new component should be added to the schema
- Modify Attributes of each instance via Properties
- If the properties window is not open do so now
- Select newAttribute under the Attributs node
- In the name field of the properties window rename newAttribute
- EXPECTED RESULT: newAttribute should be renamed and reflected across all views
- Repeat renaming procedure for all nodes (excluding Referenced Schemas)
- EXPECTED RESULT: each item should be renamed and reflected across all views
- For schema root node change one or more attributes in the properties window
- EXPECTED RESULT: each change should be reflected across all views
- Modify Attributes of each instance via Customizer
- Add an instance of each type of component (excluding Referenced Schema) to a new XML document
- Use Customizer (where applicable) for all items via right click on item
- EXPECTED RESULT: customization should be reflected for each item customized and reflected across all views
- Navigate Through Schema
- Create Loan Sample Schema (NewFIle->XML->Loan Application Sample Schema)
- Navigate through column representation of schema (Column View)
- Navigate through tree representation of schema (Tree View)
- EXPECTED RESULT: all nodes/items should be reachable
- Check and Validate Schema
- Create Loan Sample Schema (NewFIle->XML->Loan Application Sample Schema)
- Select Validate schema
- EXPECTED RESULT: schema is valid
- Switch to source view and select check XML
- EXPECTED RESULT: checking finishes without errors
- Syncronization Between Views
- Create Loan Sample Schema (NewFIle->XML->Loan Application Sample Schema)
- Clone the schema 3 times
- Switch each cloned window to a different view (schema, design, source)
- Tile the windows
- modify schema in schema view/properties
- EXPECTED RESULT: All views should keep in sync
- GoTo Source/Design
- Create Loan Sample Schema (NewFIle->XML->Loan Application Sample Schema)
- In schema view expand the Complex Types node
- Right click AddressType and select GoTo->source
- EXPECTED RESULT: View changes to Source view and AddressType is selected
- Repeat this time selecting GoTo->Design
- EXPECTED RESULT: View changes to design view and AddressType is selected
- Deletion of Components
- Create a new schema
- Add a new instance of each component type
- Delete each new instance
- EXPECTED RESULT: item is removed all views remain in sync
Test suite: Schema View Search
Purpose: Test functionality of search in the Schema View
- Invoke Search
- Invoke search via Ctrl+f and from the Edit menu
- EXPECTED RESULT: search bar opens at the bottom of the editor window
- Search for Component Name
- Create new loan sample schema
- In Column View invoke search via Ctrl+f or from the Edit menu
- In the search field enter Address and press return
- EXPECTED RESULT: 6 occurrences of components with Address in their name are highlighted
- Repeat search but in Tree View
- Expected Result: same as in Column View
- Navigate Search Results
- Create new loan sample schema
- Invoke search via Ctrl+f or from the Edit menu
- In the search field enter Address and press return
- Use the Find Next and Find Previous buttons to navigate through results
- EXPECTED RESULT: Next cycles one direction through results and Previous cycles the other way
- Repeat search navigation but in Tree View
- Expected Result: same as in Column View
- Search for Component Kind
- Create new loan sample schema
- In Column View invoke search via Ctrl+f or from the Edit menu
- Change the search type to Component Kind from the search field drop down list
- In the search field enter Complex and press return
- EXPECTED RESULT: 14 occurrences of components of Complex kind are highlighted
- Repeat search but in Tree View
- Expected Result: same as in Column View
- Search for Attribute Value
- Create new loan sample schema
- In Column View invoke search via Ctrl+f or from the Edit menu
- Change the search type to Attribute Value from the search field drop down list
- In the search field enter loan and press return
- EXPECTED RESULT: 4 occurrences are found
- Repeat search but in Tree View
- Expected Result: same as in Column View
- Search from selected
- Create new loan sample schema
- In Column View invoke search via Ctrl+f or from the Edit menu
- Navigate to Complex Types->AddressType and click sequence
- Using the drop down in the search bar select Search Selection
- In search box enter address press return
- EXPECTED RESULT: 2 occurrence are found
- Repeat search but in Tree View
- Expected Result: same as in Column View
- Search for non existent component
- Create new loan sample schema
- In Column View invoke search via Ctrl+f or from the Edit menu
- In search box enter new press return
- EXPECTED RESULT: No occurrence are found textbox becomes red
- Repeat search but in Tree View
- Expected Result: same as in Column View
- Invoke Advanced Search
- In Column View invoke advanced search via menu icon (binoculars)
- EXPECTED RESULT: Advanced Search Window appears
- Repeat search but in Tree View
- Expected Result: same as in Column View
- Invoke Advanced Search
- Create Loan Application Sample Schema
- In Column View invoke advanced search via menu icon
- Change the Target field to Complex Type
- Change Name field to Address* and search
- EXPECTED RESULT: Advanced Search output pane opens showing 1 occurrence
- Repeat search but in Tree View
- Expected Result: same as in Column View
- Find Usages
- Create Loan Application Sample Schema
- In Column View right click CarType under Complex Types
- Select Find Usages
- EXPECTED RESULT: Output pane opens showing 1 occurrence with trail from top most node down to occurrence
- Repeat search but in Tree View
- Expected Result: same as in Column View
Test suite: Design View Palette
Purpose: Test Palette Items in Design View
- Palette Element to Schema Node
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- EXPECTED RESULT: new element added under the Elements node
- Palette Element to Element Node
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the elements node
- EXPECTED RESULT: new element added under the elements node
- Palette Complex Type to Schema Node
- Create a new Schema
- Switch to Design View
- Drag and drop a Complex Type item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- EXPECTED RESULT: new Complex Type added under the Complex Type node
- Palette Complex Type to Complex Types Node
- Create a new Schema
- Switch to Design View
- Drag and drop a Complex Type item from the palette to the Complex Types node
- EXPECTED RESULT: Complex Type to Complex Types Node
- Palette Attribute to Schema Node
- Create a new Schema
- Switch to Design View
- Drag and drop a Complex Type item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Drag and drop an Attribute item from the palette to newElement
- Drag and drop an Attribute item from the palette to newComplexType
- EXPECTED RESULT: newAttribute of type string added to newComplexType and newElement
- Palette Complex Type Compositors
- Create a new Schema
- Switch to Design View
- Drag and drop a Complex Type item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Repeat 2 more times
- Drag and Drop the item all from the palette onto the first Complex Type
- Drag and Drop the item choice from the palette onto the second Complex Type
- Drag and Drop the item sequence from the palette onto the third Complex Type
- EXPECTED RESULT: newComplexType should now be of type all, newComplexType1 should now be of type choice, newComplexType2 should now have be of type sequence
Test suite: Design View Keyboard/Icon
Purpose: Test Design View Keyboard/Icons
- Rename via F2
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Select newElement
- Press F2
- EXPECTED RESULT: new element name is now in edit mode
- Rename via Spacebar
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Select newElement
- Press Spacebar
- EXPECTED RESULT: new element name is now in edit mode
- Rename via Shift+Click
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Press Shift and Click newElement
- EXPECTED RESULT: new element name is now in edit mode
- Undo via keyboard
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Select newElement
- Press F2
- Rename element
- Press enter
- Press Ctrl+z
- EXPECTED RESULT: new element name change is undone
- Redo via keyboard
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Select newElement
- Press F2
- Rename element
- Press Ctrl+z
- Press Ctrl+y
- EXPECTED RESULT: new element name change is undone then redone
- Undo via menu
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Select newElement
- Press F2
- Rename element
- Press enter
- Press the undo icon in the menu bar
- EXPECTED RESULT: new element name change is undone
- Redo via menu
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Select newElement
- Press F2
- Rename element
- Press Enter
- Press Ctrl+z
- Press the redo icon in the menu bar
- EXPECTED RESULT: new element name change is undone then redone
- Navigation Drill Down
- Create new loan application schema
- Switch to Design View
- Press the right arrow key to expand each node
- EXPECTED RESULT: every element and complex type are accessible
- Navigation Fold Up
- Create new loan application schema
- Switch to Design View
- Press the right arrow key to expand each node until all nodes are fully expanded
- Press the left arrow key to collapse each node untill all nodes are colapsed
- EXPECTED RESULT: Design View shows only top most components
- Add Element via Keyboard
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Press shift + e
- Press return
- EXPECTED RESULT: A new child element is born
- Add Attribute via Keyboard
- Create a new Schema
- Switch to Design View
- Drag and drop an Element item from the palette to the schema top node (http://xml.netbeans.org/schema/newXMLSchema)
- Press shift+e
- Press enter
- press shift+a
- enter again
- EXPECTED RESULT: A new child element is born and a new attribute is added to the newborn