TS 70 XML
XML Tools Test Specification for NetBeans 7.0 (6.9)
Contact: Michael A. Nazarov
Version: 1.01
Last update: Mar 2, 2009
Introduction:
Comments: Requires "XML and Schema" plugin installed
Test suite: Schema Aware Code Completion
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 (todo)
- 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 (Updated)
- File->New File->XML->XML Schema accept all defaults
- Add a new Element named "A"
- Repeat step 1 to create a second schema
- Add a new Element "B"
- 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 (todo)
Purpose: Test available DTD actions
Setup: Create a new Java 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
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 (updated)
- 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.
- Checking MinOccurs property (updated)
- 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.
- Checking updated source
- Invoke Go To Source popup menu command on all (All) node.
- {{{1}}}
Test suite: "Any" component
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 (updated)
- 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.
- Checking MaxOccurs property (updated)
- 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
- Checking MinOccurs property (updated)
- 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
- Checking Process Contents property (updated)
- 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
- Checking Namespace property (TBD)
- Checking updated source
- Invoke Go To Source popup menu command on all (All) node.
- {{{1}}}
Test suite: "Any attribute" component
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 (updated)
- 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.
- Checking MaxOccurs property (updated)
- 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
- Checking MinOccurs property (updated)
- 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
- Checking Process Contents property (updated)
- 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
- Checking Namespace property (TBD)
- Checking updated source
- Invoke Go To Source popup menu command on all (All) node.
- {{{1}}}
Test suite: "Global Element" component (todo)
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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema View.
- EXPECTED RESULT: "Prohibited Substitutions (Block)" Value field should be empty in Properties Window.
- Checking "Substitution Group" Property //in revision
Test suite: "Global Complex Type" component (todo)
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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema View.
- EXPECTED RESULT: "Prohibited Substitutions (Block)" Value field should be empty in Properties Window.
Test suite: "Global Simple Type" component
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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema View.
- EXPECTED RESULT: "Prohibited Derivations (Final)" Value field should be empty in Properties Window.
Test suite: "Global Attribute" component
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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema 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 Schema View.
- EXPECTED RESULT: Value "False(non set)" should be displayed for Default Value in Properties Window.
Test suite: Schema View Editor Window (todo)
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
- Repeat procedure adding instances of the rest of the component types (Attribute Groups through Simple Types)
- EXPECTED RESULT: The new component should be added to the schema
- Import Schema
- Create a new schema (Choose File->New File->XML->Schema)
- Repeat to generate a second schema
- Switch to the first schema in the editor
- 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
- Include Schema
- Create a new schema (Choose File->New File->XML->Schema)
- Repeat, for this second schema, clear the namespace field
- Switch to the first schema in the editor
- Right click the Referenced Schema node
- Select Include
- 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
- Redefine Schema
- Create a new schema (Choose File->New File->XML->Schema)
- Repeat, for this second schema, clear the namespace field
- Switch to the first schema in the editor
- Right click the Referenced Schema node
- Select Redefine
- 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
- Import External Schema
- Create a new schema (Choose File->New File->XML->Schema, next, finish)
- switch to source view
- add an import to a remote schema as the liast attribute of the schema tag.
- ie. <xsd:import schemaLocation="http://schemas.xmlsoap.org/wsdl" namespace="http://schemas.xmlsoap.org/wsdl"/>
- Switch back to schema view
- Expand Referenced Schemas
- EXPECTED RESULT: There should be a reference to the external 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 from window menu bar
- EXPECTED RESULT: schema is valid
- 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 so each are visible
- For each view have visible in the window the element Loan from autoLoanApplication element
- modify the name "Loan" to some other name in schema view/properties Name field.
- EXPECTED RESULT: All views should keep in sync (have the new name)
- 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: Schema View Refactoring (todo)
Purpose: Test Refactoring in Schema View
- Rename From Context menu no preview
- Create the Purchase Order Schema
- Expand Complex Types
- Right click Items and select Refactor -> rename
- Change the name to something else
- Select refactor
- EXPECTED RESULT: Items is immediately renamed and change is reflected across all views and instances
- Rename From Context menu with preview
- Create the Purchase Order Schema
- Expand Complex Types
- Right click Items and select Refactor -> rename
- Change the name to something else
- Select preview
- Preview Pane will open showing occurrences and a diff of the source
- Select do refactoring in preview pane
- EXPECTED RESULT: Items is renamed and change is reflected across all views and instances
- Undo Rename
- Create the Purchase Order Schema
- Expand Complex Types
- Right click Items and select Refactor -> rename
- Change the name to something else
- Select refactor
- Right click the newly renamed type
- Select Refactor -> undo rename
- EXPECTED RESULT: Modified name is reverted back to Items and change is reflected across all views and instances
- Safe Delete no Preview
- Create a new schema
- Add a new complex type
- Right click the new complex type and select Refactor -> Safe Delete
- Select refactor
- EXPECTED RESULT: The component is deleted and change is reflected across all views
- Safe Delete with Preview
- Create a new schema
- Add a new complex type
- Right click the new complex type and select Refactor -> Safe Delete
- Select preview
- Preview Pane will open showing occurrences
- Select Do Refactoring in preview pane
- EXPECTED RESULT: The component is deleted and change is reflected across all views
- Undo Safe Delete
- Create a new schema
- Add a new complex type
- Right click the new complex type and select Refactor -> Safe Delete
- Select refactor
- From the Refactor menu item select Undo Delete newComplexType
- EXPECTED RESULT: The deletion of newComplexType is undone and change is reflected across all views
- Rename From Refactor menu item no preview
- Create the Purchase Order Schema
- Expand Complex Types
- Select Items
- From the menubar select Refactor->Rename
- Select refactor
- EXPECTED RESULT: Items is immediately renamed and change is reflected across all views and instances
- Rename From Refactor menu item with preview
- Create the Purchase Order Schema
- Expand Complex Types
- Select Items
- From the menubar select Refactor->Rename
- Change the name to something else
- Select preview
- Preview Pane will open showing occurrences and a diff of the source
- Select do refactoring in preview pane
- EXPECTED RESULT: Items is renamed and change is reflected across all views and instances
- Cut/Copy Paste Attributes
- Create the Purchase Order Schema
- Expand Complex Types
- Select PurchaseOrderType
- Right click the OrderDate attribute select copy
- Right click USAddress Complex Type and choose paste
- Delete the just pasted item from USAddressType
- Repeat steps 4 & 5 choosing cut instead of copy.
- EXPECTED RESULT: OrderDate attribute added to USAddress complex type, OrderDate removed from PurchaseOrderType
- Cut/Copy Paste Components
- Create the Purchase Order Schema
- Create a new schema
- Expand Complex Types of Purchase Order
- Right Click PurchaseOrderType select Copy
- Switch to new schema right click Complex Types node and select paste
- Delete the just pasted item from USAddressType
- Repeat steps 4 & 5 choosing cut instead of copy.
- EXPECTED RESULT: PurchaseOrderType added to new schema and removed from PurchaseOrder schema
- Perform the same copy/cut paste selecting more than one component at once
- EXPECTED RESULT: several components can be copied/cut pasted at once
Test suite: Design View Palette (todo)
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 (todo)
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
Test suite: Source View Editor (todo)
Purpose: Test Source View Editor features/functionality
- Editor Window Find/Navigate/Toggle Search
- Create a new Schema
- Switch to Source View
- EXPECTED RESULT: XML structure should be neatly formatted and editable
- Highlight the word "schema"
- From the Editor Window Menu bar select find selection
- EXPECTED RESULT: All instances of the text "schema" are highlighted
- Using the Find Previous and Find Next menu items cycle through selected items
- EXPECTED RESULT: Can go forward and backward through all instances of selected text
- Select the Toggle Highlight Search icon in the editor's menu bar
- EXPECTED RESULT: highlighting of selected text is toggled off
- Bookmarks/Bookmark Navigation
- Create a new Schema
- Switch to Source View
- Place cursor at line 3
- Click the Toggle Bookmark editor window menu bar item
- Place cursor at line 8
- Click the Toggle Bookmark editor window menu bar item
- Using the bookmark navigation icons cycle back and forth between bookmarks going forward and backward
- EXPECTED RESULT: Line 3 and 8 are bookmarked and can navigate from one bookmark to the next
- Selection Indentation
- Create a new Schema
- Switch to Source View
- Highlight a section of code
- Using the indent icon in the editor menu window select indent right
- Repeat using indent left
- EXPECTED RESULT: selection is indented with each click of the menu item
- Check XML
- Create a new loan application sample schema
- Switch to Source View
- click the check xml icon in the menu bar
- EXPECTED RESULT: output window will open and XML will be check and completed without errors
- Validate XML
- Create a new loan application sample schema
- Switch to Source View
- click the validate xml icon in the menu bar
- EXPECTED RESULT: output window will open and XML will be validated, 0 errors 0 warnings
- XSL Transformation
- Create a new loan application sample schema
- Switch to Source View
- click the XSL Transformation icon in the menu bar
- EXPECTED RESULT: XSLT wizard will appear
Test suite: Source View Context Menu (todo)
Purpose: Test actions available from the context menu in source view
- Format Code
- Create the Purchase Order Schema
- Indent some tags so that they are misaligned and bad form
- Right click in the editor window and select Format from the context menu
- EXPECTED RESULT: The document will have a coherent indentation arrangement and empty lines are removed
- Check XML
- Create a new loan application sample schema
- Switch to Source View
- Right click in the editor window and select Check XML from the context menu
- EXPECTED RESULT: output window will open and XML will be check and completed without errors
- Validate XML
- Create a new loan application sample schema
- Switch to Source View
- Right click in the editor window and select Validate XML from the context menu
- EXPECTED RESULT: output window will open and XML will be validated, 0 errors 0 warnings
- XSL Transformation
- Create a new loan application sample schema
- Switch to Source View
- Right click in the editor window and select XSL Transformation from the context menu
- EXPECTED RESULT: XSLT wizard will appear
- Cut
- Create a new loan application sample schema
- Switch to Source View
- Highlight some code
- Right click in the editor window and select Cut from the context menu
- EXPECTED RESULT: selected text is removed
- Paste
- Create a new loan application sample schema
- Switch to Source View
- Highlight some code
- Right click in the editor window and select Cut from the context menu
- Move the cursor to some other location
- Right click in the editor window and select paste from the context menu
- EXPECTED RESULT: Text cut is pasted at new location
- Copy
- Create a new loan application sample schema
- Switch to Source View
- Highlight some code
- Right click in the editor window and select Copy from the context menu
- Move the cursor to some other location
- Right click in the editor window and select paste from the context menu
- EXPECTED RESULT: copied text is pasted at new location
- Go To Schema
- Create a new loan application sample schema
- Switch to Source View
- Highlight the name of an element
- right click selection and choose GoTo -> Schema
- EXPECTED RESULT: View is changed to Schema View and element selected in source view has focus
- Go To Design
- Create a new loan application sample schema
- Switch to Source View
- Highlight the name of an element
- right click selection and choose GoTo -> Design
- EXPECTED RESULT: View is changed to Design View
- Go To Definition
- Create a new loan application sample schema
- Switch to Source View
- Highlight the name of the first element "loan"
- right click selection and choose GoTo -> Definition
- EXPECTED RESULT: Cursor is moved to the location of the definition of type LoanType
Test suite: Apply Design Pattern
Purpose: Abuse the Apply Design Pattern functionality
- Apply Salami Slice Design Pattern to OTA schema
- Create an instance of the OTA schema (attached to this document or from Travel BPEL sample project)
- Open the OTA schema
- Right Click the schema in the projects window
- select Apply Design Pattern
- Change to Salami Slice
- EXPECTED RESULT: After some time, the structure of the document will be salami slice style
- Apply Design Patterns to Loan Application schema
- Create Sample Loan Application
- Open the schema
- Right Click the schema in the projects window
- select Apply Design Pattern
- Change to Salami Slice
- Validate Schema
- Repeat steps 3 & 4 for each other design pattern (Garden of Eden, Russian Doll, Venetian Blind) and validate after each change
- EXPECTED RESULT: The structure of the document will be style selected schema will be valid
Test suite: Schema Retriever Wizard (todo)
Purpose: Test ability to retrieve external schema
- From URL
- Open the output window
- Create a new schema from external schema: New->XML->External Schema Document(s), next
- For the URL use http://www.springframework.org/schema/beans/spring-beans-2.5.xsd or other internet schema
- EXPECTED RESULT: Output window shows schema was retrieved only one time and schema is added to the project
- From Local Filesystem
- Create the BPEL sample project Travel Reservation Service
- Create a new BPEL module
- Open the output window
- To the new BPEL module add a new external schema (New->XML->External Schema Document(s), next)
- Select Local Filesystem and chose browse
- Browse to OTA.xsd in the TRAVEL Reservation Project
- EXPECTED RESULT: Output window shows schema was retrieved only one time and copied to current project
- From Invalid URL
- Open the output window
- Create a new schema from external schema: New->XML->External Schema Document(s), next
- For the URL use http://www.netbeans.org/test.xsd or other invalid internet schema
- EXPECTED RESULT: Output window shows error: file not found and schema is not added to project
- From URL to different location
- Open the output window
- Create a new schema from external schema: New->XML->External Schema Document(s), next
- For the URL use http://www.springframework.org/schema/beans/spring-beans-2.5.xsd or other internet schema
- Change the save to folder to a different location
- finish wizard
- EXPECTED RESULT: Output window shows schema was retrieved only one time and schema is added to the specified location
- From Local Filesystem to different location
- Open the output window
- Create the BPEL sample project Travel Reservation Service
- Create a new BPEL module
- Open the output window
- To the new BPEL module add a new external schema (New->XML->External Schema Document(s), next)
- Select Local Filesystem and chose browse
- Browse to OTA.xsd in the TRAVEL Reservation Project
- Change the save to folder to a different location
- finish wizard
- EXPECTED RESULT: Output window shows schema was retrieved only one time and schema is added to the specified location
Test suite: Query
Purpose: Test different Query actions
- Find Unused Components 1
- Create Purchase Order Sample Schema
- In the projects window right click newPurchaseOrder schema
- From the context menu select Query->Find Unused Components
- Press OK in the wizard
- EXPECTED RESULT: Output window shows that there is one unused global component
- Find Unused Components 2
- Create Purchase Order Sample Schema
- In the projects window right click newPurchaseOrder schema
- From the context menu select Query->Find Unused Components
- In the wizard mark the Exclude Global Elements check box
- Pres OK to finish the wizard
- EXPECTED RESULT: Output window shows that there were 0 unused global components
- Find Derivations of Complex Type
- Add OTA sample schema to a project
- In the projects window right click OTA_TravelItinerary schema
- From the context menu select Query->Find Derivations of Complex Type
- Select AddressType and press OK
- EXPECTED RESULT: Output window shows usage map and there are 3 extensions and 0 restrictions
- Find Substitution Groups
- Create a new Schema
- Add An element call it E1
- Add another element call it Sub
- In schema view, select E1
- In Properties Window for E1 select Substitution Group
- In the wizard select Elemets->Sub and press OK
- In the projects window, From the context menu for the schema select Query->Find Substitution Groups
- EXPECTED RESULT: Output window shows E1 with pointer to Sub
Test suite: Navigator
Purpose: Test different Navigator Actions
- Design View/Schema View GoTO actions
- Create Loan Application Sample Schema
- In the Navigator Pane Design View should be selected in the drop down
- For any node right click and select GoTo
- Choose Source
- Repeat Choose Schema
- Repeat Choose Design
- Change the View Drop Down to Schema View and repeat all 3 GoTo options
- EXPECTED RESULT: Editor window is changed to selected view selected node is highlighted
- XML View Show/Hide Attributes
- Create Loan Application Sample Schema
- In Navigator Pane select XML View
- Toggle show hide attributes
- EXPECTED RESULT: Attributes will be toggled on/off
- XML View Show/Hide XML Content
- Create A new schema
- Add some text in the root element
- In the navigator pane XML View toggle show hide XML content
- EXPECTED RESULT: Content added to XML document will be toggled on/off