Testing of Toolbar buttons and their functions

There are several kinds of tests that should be done:

1. Testing that GUI toggle images toggle correctly.

Note: It would be good if the buttons could be scaled a little larger in their default setting, as the defining parts of some of them are not easily distinguished.

These 4 toolbar buttons are toggles: 
	(1) Ignore Boundaries. When boundaries are enforced (the default), the button image should have the border gate down/closed. When ignoring boundaries, the button image should have the border gate up/open.
	(2) Hide Punctuation. When punctuation is showing (the default), the button punctuation text should be red/bold. When punctuation is hidden, the button punctuation text should be greyed out.
	(3) Show Target Text Only. When both source and target text are showing (the default), the button image should show the colored source text (and navigation text) above the black target text. When the target text only is being shown the button image should only show the black target text. 
	(4) No Punctuation Copy. When punctuation is being copied the button image should show the punctuation characters without the big X superimposed on them. When punctuation is not being shown the button image should show the big X super-imposed on them.

2. Testing that tooltips display correctly especially for the toggle buttons.

The tooltips associated with Adapt It's toolbar were designed to let the user know what would happen if the button were clicked to change its toggle state. There are four toolbar buttons that are toggles each having two different button images and associated tooltips. The text of those tooltips changes according to the toggle state of the button. The tooltip always indicates to the user what would happen if the button were clicked.

Here is how the toolbar toggle buttons are supposed to work (which should be verified by testing):

	(1) Ignore Boundaries | Stop Selection at Boundaries. The default (when the gate is down/closed) is for the gate to be down/closed which indicates that the app is by default stopping selections at boundaries. In that mode the "Ignore Boundaries" tool tip displays if the mouse hovers over the button, because that is what clicking the button would do. When the button is toggled (the gate image changes to up/open) to indicate that selections won't stop at things like full stops or other sentence/clause final punctuation. The change is only temporary - until the phrasebox moves. In this toggled state the tooltip should change to "Stop Selection at Boundaries" because that is what would result by clicking the button again - to return immediately to indicating the default state of selections stopping at boundaries.
Testing: Ensure that the toggle button and its tooltips change their appearance as described above.

	(2) Hide Punctuation | Show Punctuation. The default is for the punctuation to be shown, so the button image indicates the punctuation is showing by coloring it is red (in the previous toolbar the button's image had an open curtain revealing the exclamation mark). In this default state the tooltip should read "Hide Punctuation" because that is what clicking the button would do. When the button is in that toggled state, the image on the button has the punctuation greyed out (the previous toolbar had the curtain closed), and the tooltip in that state should say "Show Punctuation" (as it did in the previous toolbar), because that is what would happen if the button were clicked again to get back to its default state.
Testing: Ensure that the toggle button and its tooltips change their appearance as described above.

	(3) Show Target Text Only | Show normal view. The default is for the application to show both the source and target text (normal view), so the image on the toolbar button shows both the colored source text alternating with the black target text. In this default state the tooltip says "Show Target Text Only" because that is what a click on the button will achieve in the main window. When the button is in the toggled state, the image on the button has only the (black) target text showing, and in that state the tooltip should read "Show normal view", because a click on the button will go back to the normal view.
Testing: Ensure that the toggle button and its tooltips change their appearance as described above.

	(4) No Punctuation Copy | Enable Punctuation Copy. The default is for the application to copy punctuation when there is no translation available from the KB and it copies the source text to the phrasebox. In this default state the button shows punctuation marks from the upper (source) language proceeding down to the target line (the previous toolbar had a green background for the punctuation marks appearing on the button) indicating "go" for copying). The tooltip in this default state says "No Punctuation Copy" because that would be the intended result of clicking on the toggle button. Once toggled, the button image gains a big red X superimposed over the default button's image indicating that the application is not copying punctuation from the source text to the target text. The tooltip in the toggled state now says "Enable Punctuation Copy", because the effect of clicking the button would go back to the default of copying punctuation.
Testing: Ensure that the toggle button and its tooltips change their appearance as described above.

3. Testing that certain toolbar buttons are enabled or disabled appropriately.

An important feature of Adapt It's interface is for its toolbar buttons to only be enabled when it would be appropriate to click on a given toolbar button. Whether a toolbar button is enabled is controlled by the OnUpdate...(wxUpdateUIEvent& event) handlers that are activated by the event handling macros that are of the form EVT_UPDATE_UI(id, ClassName::OnUpdate...) and are located near the beginning of the appropriate class (mostly in Adapt_ItView.cpp; some in Notes.cpp, Placeholder.cpp and Retranslation.cpp). If a toolbar button is found to be enabled or disabled when it should not be, it would be a direct result of a bug or incorrect boolean flag used in the code of the appropriate OnUpdate...(wxUpdateUIEvent& event) handler. Here is a list of all the toolbar buttons some commentary on some things to look for during testing:

Note: The first seven toolbar buttons are tied to the standard File and Edit menu items so they are triggered by EVT_MENU(wxID_..., ClassName::On...) macros rather than the EVT_UPDATE_UI() macros that catch the button clicks for the other toolbar buttons. 

	New - See the View's OnUpdateFileNew(). According to the code there, the New button is disabled if collaboration with PT/BE is ON, or if vertical editing is in progress. Otherwise, it is only enabled if KBs are not NULL (project is open) but the layout's strip array is zero (i.e., no document is open). 
Testing: To test the "New" button's enabled/disabled behavior, run Adapt It. While the "Choose a Project" wizard page is showing the button should be disabled. Select a project (or create a new one) and click "Next". 

If the project was previously set up for possible collaboration with PT/BE, the "Choose How You Want To Work With This Project" dialog (3-radio buttons) appears. The "New" toolbar button should remain disabled throughout each of the 3 button ways of getting a document into the main window. Exercise all 3 buttons on this dialog until a document appears and make sure in each case after the document is open that the "New" button stays disabled, and the New item on the File menu also disabled. Exercise the "Close" button for each of the 3 scenarios. Doing a File > Close for documents opened using the first radio button choice (collaboration on), the "New" item should remain disabled while the opened document is displaying. For the second and third radio button document opening choice scenarios (open a non-collab doc, or open a doc read-only), doing a File > Close on the resulting document should result in the "New" button being enabled after the document has closed.

If the project selected was not previously set up for possible collaboration with PT/BE, the "Choose a Document" wizard page appears after selecting the project. Select an existing document to open it. The "New" button should remain disabled. Select File > Close, the button should now be enabled. Finally do a File > Close Project menu command. The project is now closed and the "New" button should be disabled.

	Open - See the View's OnUpdateFileOpen(). According to the code there, the Open button is disabled when vertical editing is in progress. The Open button is enabled if collaboration with PT/BE is ON. Otherwise, the button is only enabled if KBs are not NULL and a document is not open. 
Testing: This code is similar to that for the New button's OnUpdate...() handler except that the button is enabled during collaboration. Do the same tests as for the New button above. Note, however, that the buttons should be enabled when collaborating with PT/BE. Also note that during collaboration the File > Open menu command will have extra wording in parentheses as:
   "Open...(Get Source Text From Paratext)", or
   "Open...(Get Source Text From Bibledit)"

	Save - See the Doc's OnUpdateFileSave(). According to the code there, the Save button is disabled when ReadOnlyAccess is ON, or when vertical editing is in progress. Otherwise, if the document is open and it has been modified (dirty) the button is enabled. Once enabled it should automatically become disabled if it is clicked on to save the current state of the document. An auto-save action can also make the Save button change from enabled to disabled. 
Testing: To test, open a project and documents with the same scenarios as for the "New" button above. Except for the collaboration = on scenario, the "Save" button should be disabled after a document has been opened, and remain that way until a change is made through the adaptation process. Just moving the phrasebox to a different location makes the document dirty and the Save button should be enabled. Opening a chapter or book document under collaboration with PT/BE, may also make the document dirty (and the Save button enabled) because of the possibility of a merger change of the source text when AI grabs the texts from PT/BE. Also note that during collaboration the File > Save menu command will have extra wording in parentheses as:
   "Open...(Transfer Translation Draft To Paratext)", or
   "Open...(Transfer Translation Draft To Bibledit)"

	Cut - See the View's OnUpdateEditCut() function. According to the code there, the Cut button is disabled if ReadOnlyAccess is ON, or if either the MainFrame, the ComposeBar or the ComposeBar's Edit control is NULL. Otherwise, the Cut button is enabled if a selection is made in either the ComposeBar or the PhraseBox. Note: The Cut, Copy and Paste buttons on the toolbar only deal with the contents of the compose bar or the phrasebox - whichever happens to be in focus. The Cut, Copy and Paste function can be used within or between the compose bar and/or phrasebox wherever it happens to be.
Testing: To test, make the compose bar visible (View > Compose Bar), then type, copy, cut and paste some text between the compose bar and the phrasebox. As is standard practice with Cut, Copy and Paste controls, text in AI's compose bar and/or phrasebox has to be selected first before it can be cut or copied, or replaced by pasting. A Cut or Copy operation puts the text into the system's clipboard, so it is available to paste into other programs, and text from other programs is likewise available to be pasted into AI's compose bar or phrasebox. To test the "Cut" button's enabled/disabled status when a document is in read-only mode see the next paragraph.

Toolbar testing under document read-only status: Although read-only mode can sometimes be imposed when an administrator snoops across a network to a user's computer and opens a document on that remote computer that is already in use, that is a scenario that is too complex for easy testing. Read-only status is much easier to achieve for testing purposes when a project exists that has been previously set up for collaboration. Just select a project at the "Choose a Project" wizard that was previously set up for collaboration and click "Next". The 3-button dialog titled "Choose How You Want To Work With This Project" opens. Select the third radio button "Read-only mode..." and click OK. Then at the "Choose a Document" wizard page select any existing document listed there. The document will open in Read-Only mode - with a pink background to indicate the read-only mode. 

	Copy - See the View's OnUpdateEditCopy(). According to the code there, the Copy button is disabled if the active pile, the MainFrame, the ComposeBar, or the ComposeBar's Edit control is NULL. Otherwise, the Copy button is enabled if a selection is made in either the CompseBar, the PhraseBox, or in the source phrase line of the display. Here is contrast with the Cut button (above), the Copy button also can apply to copying text in the phrasebox when a source line of the display is selected. For details see in DoSrcPhraseSelcopy(). 
Testing: See comments for the Cut button above for testing ideas.

	Paste - See the View's OnUpdateEditPaste(). According to the code there, the Paste button is disabled for ReadOnlyAccess, or if the MainFrame, ComposeBar or ComposeBar's Edit control are NULL. Otherwise, the Paste button is enabled if the ComposeBar or PhraseBox are showing/visible. 
Testing: For read-only mode testing see the "Toolbar testing under document read-only status..." paragraph in the comments for the Cut button above. There are also other testing ideas for testing under that "Cut" toolbar button section.

	Print - See the View's OnUpdateFilePrint(). According to the code there, the Print button is disabled when vertical editing is in progress, otherwise, it is enabled if a document is open. Otherwise, the button is disabled. 
Testing: For testing purposes, check the enabled state of the button (1) when no document is open and when a document is open, and (2) when vertical editing is in progress. 

To trigger the vertical edit process and test the button state in that mode, with a document open, select a source text word which has an existing adaptation under it, then select Edit > Edit Source Text..., change the source text word in the dialog's edit box to anything other than what it was, then click on the OK button. This triggers the vertical edit mode. While in this mode most of the text is greyed out and the vertical editing controls are visible at the top of the window. The state of the "Print" button should be disabled in this mode. To stop the vertical edit mode you can click on the "End Now" button or "Cancel All Steps" button.

The following toolbar buttons have dedicated EVT_TOOL() and EVT_UPDATE_UI() macros:

	Change Guesser Settings - See the View's OnUpdateButtonGuesserSettings(). This button is disabled for ReadOnlyAccess. Otherwise, it is enabled when the KBs are both ready (the App's m_bKBReady and m_bGlossingKBReady are TRUE) which is the case when a project is open. 
Testing: For read-only mode testing see the "Toolbar testing under document read-only status..." paragraph in the comments for the Cut button above. When in read-only mode the Change Guesser Settings toolbar button should be disabled. In all other cases, the button should be enabled as long as a project has been selected (open) from the "Choose a Project" wizard page. 

	Open a Note Dialog - See the Notes.cpp's OnUpdateButtonCreateNote(). According to the code there this "Open a Note Dialog" button is disabled for ReadOnlyAccess, when Vertical Edit is in progress, Show Target Only,  when the Active Pile is NULL, or when a Notes dialog is already existing/open, or, when the the first source phrase in a selection has a Note there. Otherwise, if the phrasebox is showing/visible, enable the button, but if not, keep it disabled. 
Testing: For read-only mode testing see the "Toolbar testing under document read-only status..." paragraph in the comments for the Cut button above. For a document in read-only mode, the "Open a Note Dialog" button should be disabled. Then do File > Project Close, and open the project in a non-read-only mode, and open any document for that project. The button should normally be enabled at that point. Locate an existing Note in the document (or create one). Select the first source phrase to the right of the note icon (the selection should be yellow). With the source phrase selection at that location the "Open a Note Dialog" button should be disabled. Select a different source word/phrase that doesn't have a note - the button should be re-enabled. Go to the end of the document and place the phrasebox under the last source word, and press return to get "The end..." message. Click OK to close the message box. In this state the phrasebox is technically "beyond" the end of the document. Although the phrasebox exists internally in the program it is not visible anywhere in the document. In this case the "Open a Note Dialog" should be disabled. Place the phrasebox in a visible location in the document - the button should be enabled. See comments for the "Print" toolbar button for testing in the context of vertical editing.

	Jump to the previous Note - See the Notes.cpp's OnUpdateButtonPrevNote(). According to the code there this "Jump to the previous Note" button is disabled for ReadOnlyAccess, when Vertical Edit is in progress, when no Notes exist yet, when Show Target Only, when in Free Translation mode, or when a selection is in effect. Otherwise, if the a Notes dialog is already open, or the phrasebox is showing/visible and Notes already exist, enable the button, but if not, keep it disabled. 
Testing: Test the state of the "Jump to the previous Note" button in the context of the various modes mentioned. For read-only mode testing see the "Toolbar testing under document read-only status..." paragraph in the comments for the Cut button above. See comments for the "Print" toolbar button for testing in the context of vertical editing.

	Jump to the next Note - See the Notes.cpp's OnUpdateButtonNextNote(). According to the code there this "Jump to the next Note" button is disabled for ReadOnlyAccess, when Vertical Edit is in progress, when no Notes exist yet, when Show Target Only, when in Free Translation mode, or when a selection is in effect. Otherwise, if the Notes dialog is already open, or the phrasebox is showing/visible and Notes already exist, enable the button, but if not, keep it disabled. (same conditions as for the "Jump to the previous Note" handler above). 
Testing: See the "Jump to the previous Note" section above for testing ideas.

	Delete All Notes - See the Notes.cpp's OnUpdateButtonDeleteAllNotes(). According to the code there this "Delete All Notes" button is disabled for ReadOnlyAccess, when Vertical Edit is in progress, when no Notes exist yet, when Show Target Only, or when the Active Pile is NULL. Otherwise, if the phrasebox is showing/visible and notes exist, then the button is enabled, but if not, keep is disabled. 
Testing: See the "Jump to the previous Note" section above for testing ideas.

	Ignore Boundaries | Stop Selection at Boundaries - Toggle - See the View's OnUpdateToggleRespectBoundary(). According to the code there this "Ignore Boundaries | Stop Selection at Boundaries" toggle button is disabled for ReadOnlyAccess, when in Free Translation mode, when in glossing mode, when Show Target Only, when the Active Pile is NULL, or when the m_pSourcePhrases has a count of zero (document has no source phrases). Otherwise, if the Active Sequence Number (current location of the phrasebox) is within the min and max (visible within the document), the button is enabled, but if not the button is disabled. 
Testing: Test the state of the "Ignore Boundaries | Stop Selection at Boundaries" button in the context of the various modes and specified conditions mentioned above. 

	Hide Punctuation | Show Punctuation - Toggle - See the View's OnUpdateToggleShowPunctuation(). According to the code there this "Hide Punctuation | Show Punctuation" toggle button is disabled for ReadOnlyAccess, when in Free Translation mode, when glossing, when the Active Pile is NULL, when the m_pSourcePhrases has a count of zero (document has no source phrases). Otherwise, if the Active Sequence Number (current location of the phrasebox) is within the min and max (visible within the document), the button is enabled, but if not the button is disabled. 
Testing: Test the state of the "Hide Punctuation | Show Punctuation" button in the context of the various modes and specified conditions mentioned above. Note: The phrasebox can be set outside the min and max sequence numbers by placing it at the last source word/phrase in the document and pressing return to get the "The end...." message, and clicking on OK. At this point the phrasebox is "past" the end of the document's sequenced source phrases and not visible (although it still exists).

	Advance to End - See the View's OnUpdateButtonToEnd(). According to the code there this "Advance to End" button is disabled if Vertical Edit is in progress, when the Active Pile is NULL, when the m_pSourcePhrases has a count of zero (document has no source phrases). Otherwise, if the Active Sequence Number (current location of the phrasebox) is within the min and max (visible within the document), the button is enabled, but if not the button is disabled. 
Testing: Test the state of the "Advance to End" button in the context of the various modes and specified conditions mentioned above. Place the phrasebox under the last source word/phrase in the document. The button should be disabled. Place the phrasebox at the next-to-last source phrase in the document. The button should be enabled again. See the "Hide Punctuation | Show Punctuation" comments for more information on testing.

	Back to Start - See the View's OnUpdateButtonToStart(). According to the code there this "Back to Start" button is disabled if Vertical Edit is in progress, or when no document exists yet (pDoc is NULL). Otherwise, if the Active Sequence Number is -1 and the count of source phrases is greater than 0 (phrasebox is past end of document) the button is enabled, otherwise if the Active Pile is NULL, or the count of source phrases is zero, the button is disabled, otherwise if the button is at the start of the document the button is enabled. If it is not at the start but GetMaxIndex is > 0 (the zero based index of the last source phrase in the document's m_pSourcePhrases) then it is enabled, otherwise it is disabled. 
Testing: Test the state of the "Back to Start" button in the context of the various modes and specified conditions mentioned above. Place the phrasebox under the first source word/phrase in the document. The button should be disabled. Place the phrasebox at the some other source phrase in the document. The button should be enabled again. See the "Hide Punctuation | Show Punctuation" comments for more information on testing.

	Move down one step - See the View's OnUpdateButtonStepDown(). According to the code there this "Move down one step" button is disabled if Vertical Edit is in Progress, when the Active Pile is NULL, or when the count of source phrases is zero (document is empty). Otherwise, if the Active Sequence Number is within the min and max (visible within the document), the button is enabled, but if not within the min and max the button is disabled. 
Testing: In current versions of Adapt It the "step" is considered a chapter. Therefore to test the "Move down one step" button one needs to have a document opened that has chapters. Pressing the button should cause the phrasebox to jump down to the next chapter (or at the beginning of any section heading before that next chapter). My testing shows that the Move down one step button will return to the first chapter if pressed after reaching the last chapter of the document.

	Move up one step - See the View's OnUpdateButtonStepUp(). According to the code there this "Move up one step" button is disabled if Vertical Edit it in progress, when the document doesn't exist (pDoc is NULL), or when the count of source phrases is zero (an empty document). Otherwise, if the Active Sequenct Number is within min and max (visible within the document), the button is enabled, otherwise, if the Active Pile is NULL or the button is at the start of the document, the button is disabled, otherwise, if GetMaxIndex is greater than zero, the button is enabled, otherwise it is disabled. 
Testing: In current versions of Adapt It the "step" is considered a chapter. Therefore to test the "Move up one step" button one needs to have a document opened that has chapters. Pressing the button should cause the phrasebox to jump up to the previous chapter (or at the beginning of any section heading before that next chapter). My testing shows that the Move up one step button will return to the first source phrase if pressed after reaching the first chapter of the document (and the first source phrase is usually the three-letter book name of the id line).

	Make a phrase - See the View's OnUpdateButtonMerge(). According to the code there this "Make a phrase" button is disabled when ReadOnlyAccess, when glossing, when Show Target Only, or when the Active Pile is NULL. Otherwise, if there is a selection active the button is enabled, but if not, the button is disabled. 
Testing: Test the "Make a phrase" button to ensure that it is indeed disabled when in read-only mode, when the "See Glosses" menu item on the Advanced menu it ticked and the "Glossing" checkbox on the mode bar is ticked, and when the "Show Target Text Only" button is toggled to only showing the target text. Make the phrasebox disappear by placing it in the last source phrase position of a document and pressing Enter. In this state, the button should still be disabled even when two or more source phrases are selected anywhere in the document. Place the phrasebox somewhere under the source line, then use ALT+RightArrow and/or ALT+LeftArrow keys to select multiple source phrases after/preceding the phrasebox location. The button should be enabled while at least two source phrases are selected.

	Unmake A Phrase - See the View's OnUpdateButtonRestore(). According to the code there this "Unmake A Phrase" button is disabled for ReadOnlyAccess, when glossing, when Show Target Only, when the Active Pile is NULL, or when the Source Phrase owned by the Active Pile is NULL. Otherwise, if there is an active selection and the selection is made up of multiple source words (a merger where the first source phrase making up the selection contains more than one word), then the button is enabled, otherwise, if there is no selection, but the phrasebox is at a Pile that has more than one source words associated with it (again a merger), then the button is enabled. Otherwise, the button is disabled. 
Testing: Test that the "Unmake A Phrase" button stays disabled except under two specific situations: (1) a previously merged source phrase is selected, or (2) the phrasebox is directly under a previously merged source phrase regardless of whether the source phrase is selected or not.

	Do a Retranslation - See the Retranslation.cpp's OnUpdateButtonRetranslation(). According to the code there the button is disabled if Glossing is active, if only the target text is showing, if the active pile is NULL (phrasebox beyond the end of the document), or if no selection of source phrase(s) has been made. But, if any part of a source phrase selection includes part of an existing retranslation it should be disabled. Otherwise, the button should be enabled for any source phrase selection. 
Testing: Test that the "Do a Retranslation" button is enabled when any selection is done on one or more source phrase words. Click the button to create a Retranslation. Then ensure that the button is not enabled if a subsequent selection overlaps with any word/phrase of the existing Retranslation.

	Edit a Retranslation - See the Retranslation.cpp's OnUpdateButtonEditRetranslation(). According to the code there the button is disabled for ReadOnlyAccess, when glossing, when Show Target Only, when the Active Pile is NULL, or when any selection of source phrase(s) is not entirely contained within an existing Retranslation. 
Testing: To test, make a source phrase selection in which at least one selected source phrase is outside of an existing Retranslation. The "Edit a Retranslation" button should be disabled. Make a selection of source phrase in which the selection is just the first word of an existing Retranslation. The button should be enabled. Make other selections of source phrases wholly within the existing Retranslation, including selecting all of the retranslation. With all such selections the button should be enabled.

	Remove a Retranslation - See the Retranslation.cpp's OnUpdateRemoveRetranslation(). According to the code there the button is disabled for ReadOnlyAccess, when glossing, when Show Target Only, when the Active Pile is NULL, or when any selection of source phrase(s) is not entirely contained within an existing Retranslation (same conditions as for the "Edit a Retranslation" button handler above. 
Testing: Do the same tests for this button's enabled/disabled state as done for the "Edit a Retranslation" button above.

	Insert A Placeholder - See the Placeholder.cpp's OnUpdateButtonNullSrc(). According to the code there the button is disabled for ReadOnlyAccess, when glossing, when Show Target Only, when the Active Pile is NULL, or when in Free Translation mode. It enables the toolbar button if there is a valid selection, or if the targetBox is showing, and the targetBox is the window in focus. If there is a selection at a location away from the location of the phrasebox, it is the location preceeding the selected source phrase (not the location of the phrasebox) where the place holder will go. 
Testing: Test that the "Insert A Placeholder" button is disabled and enabled for the conditions mentioned above.

	Remove A Placeholder - See the Placeholder.cpp's OnUpdateButtonRemoveNullSrcPhrase(). According to the code there the button is disabled for ReadOnlyAccess, when blossing, when Show Target Only, when the Active Pile is NULL, when in Free Translation mode, or when a selected source phrase is not part of a Retranslation. The button is enabled only if a selection is selecting an existing placeholder, or if the phrasebox (in absence of a selection) is located at an existing placeholder. 
Testing: To test the button's disabled/enabled behavior, first insert a placeholder using the "Insert A Placeholder" button. Then move the phrasebox away from the placeholder and select different source words/phrases around (but not including) the placeholder - the button should remain disabled. Then make a selection directly of the placeholder - the button should be enabled. Make a selection that includes the placeholder - the button should be enabled in that case too. Remove any selection and place the phrasebox at the location of the placeholder - the button should be enabled.

	Show the Choose Translation Dialog - See the View's OnUpdateButtonChooseTranslation(). According to the code there the button is disabled for ReadOnlyAccess, when in Free Translation mode, when the phrasebox is not showing/visible, when the Active Pile is NULL, and when the source phrase at the active pile does not have its m_bNotInKB flag set (i.e., there is no associated KB entry).
Testing: Ensure that the "Show the Choose Translation Dialog" button is disabled for read-only access mode (use a project previously set up for collaboration), and for Free Translation mode (Advanced > Free Translation Mode). Place the phrasebox under the last source phrase in a document and press Enter to get "The end..." message. Dismiss the message - the button should be disabled because the phrasebox is not showing/visible. It is difficult to test the condition of when the m_bNotInKB flag is not set, because placing the phrasebox to an empty location or "hole" automatically creates a potential KB entry out of the copied source text, and so the button will normally be enabled in such situations. You can do View > Copy Source to untick that toggle menu item temporarily. Then place the phrasebox at a "hole" in the document. The "Show the Choose Translation Dialog" button will still be enabled, but if clicked on the following message should appear:
"Sorry, the knowledge base does not yet have an entry matching this source text, so the Choose Translation dialog cannot be shown."
which we deemed more informative than purely disabling the toolbar button.

	Show Target Text Only | Show normal view - Toggle - See the View's OnUpdateToggleShowSourceText(). According to the code there the button is disabled when vertical edit is in progress, when the Active Pile is NULL, when the count of source phrases for the document is zero, or when in Free Translation mode. The button is enabled when the active sequence number (of the phrasebox) is within the range of source phrases (the phrasebox is visible).
Testing: Switch to Free Translation Mode (Advanced menu). The button should be disabled. Place the phrasebox under the last source phrase in the document and press Enter. After dismissing "The end..." message the phrasebox is not visible and the button should be disabled.

	View Translation or Glosses Elsewhere in the Document - See the View's OnUpdateButtonEarlierTranslation(). According to the code there the button is disabled when the Active Pile is NULL, or when the count of source phrases is zero. The button is enabled when the active sequence number is within the range of existing sequence numbers.
Testing: The button should be enabled at all times except for when the phrasebox is not showing/visible. Place the phrasebox under the last source phrase in the document and press Enter. After dismissing "The end..." message the phrasebox is not visible and the button should be disabled.

	No Punctuation Copy | Enable Punctuation Copy - Toggle - See the View's OnUpdateToggleEnablePunctuationCopy(). According to the code there the button is disabled for ReadOnlyAccess, when in Free Translation mode, when glossing, when the Active Pile is NULL, or when the count of source phrases is zero. The button is enabled whtn the active sequenct number is within the range of existing sequence numbers. 
Testing: Ensure that the button is disabled when in read-only mode (using a project opened as read-only that was previously set up as a collaboration project). Ensure that it is disabled when in Advanced > Free Translation Mode, and when Glossing is turned on. Place the phrasebox under the last source phrase in the document and press Enter. After dismissing "The end..." message the phrasebox is not visible and the button should be disabled.

	Help - The Help button does not have an Update UI handler, so it is enabled at all times.

4. Testing that actions and sub-dialogs are invoked properly.

Most (all but 4) of the toolbar buttons are not toggles. Clicking on the non-toggle buttons (when enabled) result in a direct action happening, or in the appearance of dialog of some kind. These are generally easy to test because we mainly want to verify that clicking the toolbar button does the specified action, or that the appropriate dialog appears. See the next section for comments about the testing of the dialog itself and any actions/changes it produces.

	New - This button's actions are dependent on whether collaboration with Paratext/Bibledit is in effect or not as well as certain administrator settings. When collaboration is in effect this button is always disabled and cannot be selected. When collaboration is not in effect, the button's actions are dependent on whether an administrator has ticked the "Protect from Navigation" checkbox in the "Assign Locations For Inputs and Outputs" dialog (Administrator menu). If no navigation protection has been set by an administrator, the button (when enabled) brings up a standard system File Open dialog in which the user can navigate to and select a source text file for input into Adapt It. If navigation protection is in effect for this function, AI does not present a standard File Open Dialog, but instead presents an "Input Text File For Adaptation" dialog that lists only input texts that an administrator has explicitly copied to the project's __SOURCE_INPUTS folder.
Note: The "New" toolbar button should always behave identically to the "New" item on the File menu.
Testing: Open a project that has been set up for collaboration, and open the chapter of a Scripture book. The "New" button should never be enabled during collaboration mode because new documents are taken only from books/chapters under the control of Paratext/Bibledit. Do File > Close Project followed by File > Start Working. Select a non-collaboration project and Cancel at the "Choose a Document" page of the wizard. The "New" button should be enabled in this situation, so click on it. A standard system File Dialog should appear with the title "Input Text File For Adaptation". Navigate to and select a suitable plain text file for input as a source text. Give it a name at the "Type a name for this data" dialog and press OK. The text should be shown as source text in AI's main window.

	Open - This button's actions are dependent on whether collaboration with Paratext/Bibledit is in effect or not. When collaboraion is ON, the "Open" toolbar button will be enabled and the File > Open menu command will be enabled and will have extra wording in parentheses as:
   "Open...(Get Source Text From Paratext)", or
   "Open...(Get Source Text From Bibledit)"
depending on which external editor is being used for collaboration. Clicking on the "Open..." button during collaboration will automatically bring up the "The document <name.xml> has changed. Do you want to save it?" dialog (if the current document has changes), and when that dialog is responded to, the "Get Source Text from Paratext/Bibledit Project" dialog automatically appears to allow the user to select a different chapter/book for opening. If collaboration is not activated for the currently selected project, the "Open" toolbar button is only enabled when a project has been selected, but no document is open (the user clicked Cancel at the "Choose a Document" wizard, or selected File > Close for a previously opened document. In this case (open project but no open document) AI simply calls up the "Choose a Document" wizard page to allow the user to select a different document from the currently selected/opened project.
Testing: Test that the "Open" toolbar button operates as described above for collaboration and non-colaboration scenarios.

	Save - Except for read-only access and vertical editing in progress, the "Save" toolbar button is enabled whenever a document is open and the application thinks the document has unsaved changes. Since the document saves the location of the phrase box, any change in the location of the phrase box will make the document "dirty". Also a newly opened collaboration document may also be considered "dirty" due to the automatic checking of the source text for changes and resulting mergers.
Testing: Open a previous collaboration project and move the phrase box to a different location. The document is now dirty and the "Save" button should be enabled. Click it to test the Save operation. Select File > "Close Project". Select File > "Start Working". At the collaboration project again, then select the 3rd radio button and OK. Select a document from the "Choose a Document" wizard page and "Finish". It should open in read-only mode. The save button should never be enabled while in read-only mode. Select File > "Close Project" again, and File > "Start Working". Select the collaboration project again, but this time select the 2nd radio button (collaboration off) and OK. Select a document in the "Choose a Document" list (or create a <New Document> if none exist) and "Finish". Select a good portion of source text that contains adapted text that contains a merger and/or other additions such as free translations. Select Edit > "Edit Source Text..." and ensure that the "Save" toolbar is disabled for the vertical edit process. Select "End Now" or "Cancel All Steps" to end the vertical edit. Make the document "dirty" by moving the phrase box or other adaptation changes. Note that the "Save" button is enabled. Without clicking the "Save" button, close the main window using the File > Exit menu command. A message should pop up asking if you want to make changes. Click yes. The save process should take place before the app closes. Start up the App again. Open a project and a document as done previously. Make the document dirty again by moving the phrase box. This time close the main Window by selecting the X icon in the main window's title bar. You should see the message again popup asking if you want to save it. Respond "Cancel". Click the X icon again. This time respond "No" to the message prompt. You should only see the brief wait - closing document message before the app quits.

	Cut -  See the "Cut" button in section 3 for discussion and testing ideas.

	Copy -  See the "Cut" button in section 3 for discussion and testing ideas.

	Paste -  See the "Cut" button in section 3 for discussion and testing ideas.

	Print - The "Print" toolbar button is enabled when a document is open, unless vertical editing is in progress.
Testing: For testing purposes, open a project and document. Then click on the "Print" toolbar button. The "Special Print Options" dialog should appear. Use the default settings, and click on the "Print >>" button. The system's standard "Print" dialog should appear. For the purposes of toolbar testing it is sufficient to simply ensure that the necessary print related dialogs appear, so click Cancel to return to the document which should appear well formed in the main window.

	Change Guesser Settings - The "Change Guesser Settings" toolbar button is activated at all times except for when in read-only mode or when no project is open.
Testing: Click on the "Change Guesser Settings" toolbar button. The "Guesser Settings Dialog" should appear. Click on the "Choose Guess Highlight Color..." button. The Color selection dialog should appear. Click Cancel and then Cancel again to end testing for this button.

	Open a Note Dialog -  See "Open a Note Dialog" in section 3 for comments about how this buttons is enabled/disabled. Select a source text item that doesn't have an existing Note icon, and then click on the "Open a Note Dialog" toolbar button. The "Note" dialog should open. Enter some text for testing the note. Ensure there is another note or two in the same document, creating some if necessary for testing. With the "Note" dialog open, navigate between the existing notes using the navigation buttons, and Delete the testing notes you made in the document using the "Delete" button within the Note dialog. You may also open the Note dialog by clicking on the little yellow note icon that marks the location of a note (it is always accompanied by the "Filtered Material" wedge to its right, because Notes are a type of filtered information in Adapt It).

	Jump to the previous Note - Create at least 3 more notes for testing at ramdom places in the document. Close the Note dialog. Place the phrase box at a target location between any two of the notes you created. Test the "Jump to the previous Note" toolbar button. The phrase box should move to that previous note's location and the "Note" dialog automatically open displaying the note. If there is not note previous to the current note the Note dialog will close. 

	Jump to the next Note - Using the existing testing notes you created above, test out the "Jump to the next Note" toolbar button. It should move the phrase box and the Note dialog (even when it was still open from the last test) to the next note. If there is no "next" note the Note dialog will close.

	Delete All Notes - Using the existing testing notes you created above, test out the "Delete All Notes" toolbar button. You should see a warning message, "You are about to cause all the notes in this document to be irreversibly deleted. Are you sure you want to do this?" If the only notes in your document are testing ones, go ahead and click "Yes", otherwisre you may want to click "No".

	Ignore Boundaries | Stop Selection at Boundaries - Toggle - This button toggles between showing a border crossing gate down/closed and being up/open. Adapt It considers that boundaries occur whenever significant sentence punctuation exists, or when the text type changes. Selections made on the source text line while punctuation is not showing, are not bounded, provided the text type stays constant. The reason why Adapt It requires an extra step to make selections across boundaries, is to help the user to avoid making source phrases which are unlikely to be grammatically useful in the adaptation process. Selections of source text can be done in one of three ways: (1) dragging the mouse over a stretch of two or more source words/phrases, (2) clicking on a source word/phrase in one location then holding down the SHIFT key and clicking on another source word/phrase, or (3) with the phrase box at the start or end of a desired selection hold the ALT key and use the RightArrow or LeftArrow keys to progressively select or unselect source words to the right or left of the phrasebox (including the source word/phrase at the phrase box'es location).
Testing: Find a source sentence that has both a comma and a full stop or other final punctuation. Try all three methods of selecting source phrases to select across the comma, and across the full stop or other final punctuation (or change in text type). The comma should not be a natural boundary so selections across it should be possible. Attempts to select text across a full stop however, should result in a message popup saying, "Sorry, you cannot extend the selection that far to the right/left unless you also use one of the techniques for ignoring boundaries." Click on the "Ignore Boundaries" toolbar button. It's image should toggle to an open gate, and you should be able to immediately extend the selection across the full stop using any combination of the three ways described above for extending selections. The toolbar button should automatically toggle back to a closed gate the next time the phrase box moves. It can also be toggled back if desired by clicking it a second time while still in the toggled state.

	Hide Punctuation | Show Punctuation - Toggle -  This toolbar button toggles between showing punctuation (highlighted in red on the button face) versus not showing (greyed out on the button face). The tooltip and help text indicate what you accomplish by clicking on this toggle button, i.e., you click it and it changes to show that the application is now hiding punctuation. Click it when you wish to hide punctuation from view - and it changes to the Hide Punctuation button. After clicking this button, you will only see source and target text without punctuation. Punctuation is still restored for you automatically if you do not type any in the phrase box. Sometimes hiding punctuation can also help with selections across certain kinds of punctuation boundaries as long as the text type doesn't change.
Testing: With a document open toggle the toolbar button to see its action in showing or hiding punctuation. You could do some adapting of a sentence that contains some punctuation and see how the adaptation process is little affected whether punctuation is showing or is hidden.

	Advance to End - This toolbar button simply makes the phrase box jump to the end of the document. If there is a Retranslation at the end of the document, the button will jump to the source word/phrase just before the start of the Retranslation - because the phrase box cannot be located within a Retranslation.
Testing: With the phrase box anywhere but at the end of the document press the "Advance to End" toolbar button. The phrase box should go to the end. Select the last few source words/phrases and make them into a Retranslation using the "Do a Retranslation" button (described below). The phrase box if it was within the selection at the time the Retranslation is made, should move automatically to the last source word/phrase before the Retranslation. Move the phrase box back toward the beginning of the document and press the "Advance to End" toolbar button again; it should jump to the last source word/phrase before the start of the Retranslation you created at the end of the document. Select a source word/phrase within the Retranslation you created and click on the "Remove a Retranslation" button to remove it. Finally test the "Advance to End" button again. It should now be able to jump to the end of the document.

	Back to Start - This button is the inverse of the Advance to End toolbar button above. It moves the phrase box to the beginning of the document or as close as it can go if there is a Retranslation at the beginning (not likely with documents that have an \id line there).
Testing: With the phrase box anywhere but at the beginning of the document press the "Back to Start" toolbar button. The phrase box should go to the beginning. You can select the first few source words and create a Retranslation there. The phrase box will move forward to the first word/phrase past the Retranslation. Remove the Retranslation; the phrase box should then go to the beginning with a click of the "Back to Start" button.

	Move down one step - The "Move down one step" toolbar button is designed to allow the user to step down through the document chapter by chapter for USFM formatted source texts.
Testing: To test the "Move down one step" button one needs to have a document opened that has chapters. Pressing the button should cause the phrasebox to jump down to the next chapter (or at the beginning of any section heading before that next chapter). My testing shows that the Move down one step button will return to the first chapter if pressed after reaching the last chapter of the document.

	Move up one step - The "Move up one step" toolbar button is designed to allow the user to step up through the document chapter by chapter for USFM formatted source texts.
Testing: To test the "Move up one step" button one needs to have a document opened that has chapters. Pressing the button should cause the phrasebox to jump up to the previous chapter (or at the beginning of any section heading before that next chapter). My testing shows that the Move up one step button will return to the first source phrase if pressed after reaching the first chapter of the document (and the first source phrase is usually the three-letter book name of the id line).

	Make a phrase - This button will merge selected source words/phrases together into a single larger phrase. When there is a current selection somewhere (it does not matter what line of a strip or strips shows the selection), if you hit this button then the selected storage elements are merged into one, and the source text words are collected together to make a phrase with a single space between each word. The phrase box will be placed there also, and then you can then type an adaptation of this new source text phrase. This method works whether or not the phrase box is under the selected source words/phrases or not.
Testing: Use one of the three ways to select source words/phrases (drag the mouse over some source words; select a source word with the mouse and click on a neaby source word; or use ALT + RightArrow or ALT + LeftArrow from the location of the phrase box). Then click on the toolbar's "Make a phrase" button. Try making phrases at places other than the location of the phrase box. In practice this toolbar button does not need to be used very often. Instead, the user can simply just start typing when the source words/phrases are selected - the merge will happen automatically and what is typed will go into the phrase box (moved to) that location automatically without needing to click on the "Make a phrase" button. Try making a phrase for some source text that has punctuation in the middle of the phrase. In this case Adapt It will open the "Placement Of Phrase-Medial Punctuation" dialog to allow you to place the punctuation in its proper place in the translation (or it can be left out of the translation if that is better).

	Unmake A Phrase - The "Unmake A Phrase" toolbar button is the reverse of the "Make a phrase" button. This button is enabled if you select a previously merged source phrase. Clicking the button will separate the original source words into individual storage elements, leaving the individual words untranslated (ready for selecting and making a phrase of different length, or no phrase at all).
Testing: Select an existing source phrase that was made into a phrase previously. The "Unmake A Phrase" toolbar button should be enabled. Click on the button. The phrase should be separated out into its original parsed source words. Make another phrase, and then use the keyboard short cut for "Unmake A Phrase" which is to hold the ALT down and press the Delete key. This shortcut should have the same effect at pressing the "Unmake A Phrase" toolbar button.

	Do a Retranslation - The "Do a Retranslation" toolbar button is designed to allow the user to group selected source words/phrases together into a special group. This may be desirable if the original source text is not as well translation as you would like, and this allows the translator to retranslate it so it has a different meaning. When this toolbar button is clicked the "Type Retranslation Text" dialog appears. The dialog shows some preceding context in the top box of the dialog and some following context in the bottom box of the dialog. The source text that was selected to group together is shown immediately below the preceding context, and an editable box below that is where you can type a new translation for that group of source words. Any existing translation is automatically copied into the edit box and selected when the dialog opens.
Testing: Select a group of source text words/phrases (using the "Ignore Boundaries" button if necessary to make the selection). Click on the "Do a Retranslation" toolbar button to check that the "Type Retranslation Text" dialog appears, which contains the appropriate preceding and following context, the source words/phrases that were selected to form the Retranslation and any existing translation highlighted in the edit box. Type some words for the retranslation, first using fewer words than the original source text words in the box above it, and click OK. The Retranslation appears in a different text color and its navigation text is marked with * characters above each word with *# marking the first word of the Retranslation. Make another Retranslation elsewhere, this time selecting the desired source text words from the phrase box location using the ALT + RightArrow method of selection; and then use the keyboard shortcut - which is ALT + UpArrow. The ALT + UpArrow should work the same as using the "Do a Retranslation" toolbar button. For this Retranslation, use several more words than the number of words in the source text being translated, and Click OK. This time you will see the Retranslation and added placeholders in the source text above the extra translation words. Creating a Retranslation is not permitted when Glossing mode is activated, so you might test that the button is disabled when Glossing is turned ON (Advanced > See Glosses, and tick the Glossing checkbox in the mode bar).

	Edit a Retranslation - This toolbar button allows you to edit an existing Retranslation. It brings up the same "Type Retranslation Text" dialog with the existing Retranslation highlighted, and allows you to edit the retranslation.
Testing: Select any word in one of the existing Retranslations that you made in the "Do a Retranslation" testing above. Click on the "Edit a Retranslation" toolbar button, and change the Retranslation and click OK. The changes should be recorded in the main window.

	Remove a Retranslation - The "Remove a Retranslation" toolbar button reverses the action of the "Do a Retranslation" toolbar button. It separates out the individual source words as originally parsed and leaves the target text line empty under the source words that previously made up the Retranslation. When a retranslation is removed, however, the former retranslated target text is not just thrown away. It is placed in the Compose Bar's edit box, and will remain there until you change the box contents, or remove another translation. The Compose Bar can then be made visible (View menu) and you can cut and paste parts of the old retranslated text if you wish.
Testing: Remove one of the existing Retranslations made above using the "Remove a Retranslation" toolbar button. Then open the Compose Bar using the View menu, and try cutting and pasting parts of the old Retranslation text into the phrase box under one or more source words that were part of the previous Retranslation.

	Insert A Placeholder - This toolbar button is available for times when during translation you need to insert some extra target text in the translation, but there is not suitable source text to "hang" it from. This button allows you to insert an empty storage element or placeholder immediately preceding either a selection, or preceding the location of the phrase box if there is no current selection. A placeholder has an ellipsis (i.e. three dots, like this: ... ) in the source text lines so that you can see it easily. There are no restrictions on the use of placeholders. You can use as many of them as you like, and put them any place you like, except within a retranslation (the ones which you will sometimes see at the end of a retranslation are put there automatically by Adapt It, that is not something you can control, and you cannot manually place extra ones there). Each one can store a target text phrase of arbitrary length. (But the ones in a retranslation each only store a single word. Again, this is not something you can control yourself.) The phrase box will jump to the just inserted placeholder, so you can begin to enter text into it immediately. 

If you hold down the CTRL key when you click the button, the placeholder is inserted after the end of the current selection, or if there is nothing selected, it is inserted after the location of the phrase box. There is an ALT + DownArrow keyboard shortcut for this command, that is, hold down the ALT key and press the DownArrow key. If you have a selection somewhere, the placeholder will be inserted immediately before the first selected storage element, regardless of where the phrase box is, otherwise it will be put immediately before the phrase box location.  To insert AFTER these locations, the shortcut is either CTRL + DownArrow,  or  CTRL + ALT + DownArrow. 

Insertion of placeholders is intelligent. If you insert one preceding or following a storage element containing initial punctuation, or standard format markers, or both, then the punctuation and markers, together with the navigation text shown above the strip, are moved on to the placeholder. How does Adapt It know that you want this to happen? When you insert in such a context, Adapt It will put up a dialog asking if the placeholder is considered to be at the end of what preceeds or the beginning of what follows.
Testing: Ensure that the various methods for inserting a placeholder work as they should. First, select a source word/phrase and try the "Insert a Placeholder" toolbar button. It should place the placeholder before the selected word/phrase. Select another source word/phrase and this time hold down the CTRL key while clicking the "Insert a Placeholder" toolbar button. The placeholder should be inserted after the selected word/phrase. Try th those two selection methods but with no source word/phrase selected, but with the phrase box in view. The inserted placeholders should be placed in reference to the location of the phrase box (before or after). Now select a source word/phrase and try the ALT+DownArrow short cut, which should insert a placeholder before the selection. Select another source word/phrase and try the CTRL+DownArrow insertion (on the Mac one must use CTRL+I instead). The insertion should go after the selection. Do these two insertions again this time without having made a source/phrase selection but with the phrase box in view. Again the placeholder should be inserted before/after the phrase box location. Lastly, try the CTRL+I placeholder insertion short cut key. It should insert a placeholder after the selection (or phrase box when there is no selection).

	Remove A Placeholder - Removing a placeholder is fairly simple you can either select an existing placeholder in the source text line, or place the phrase box under it in the target line. Then there are two ways that can be used to remove the placeholder. (1) Click the "Remove A Placeholder" toolbar button, or (2) Use the CTRL+D short cut key combination.
Testing: Exercise the two methods described above to remove placeholders from the document, both by selecting the placeholder and by placing the phrase box under the placeholder.

	Show the Choose Translation Dialog - There are a variety of situations (tested in section 3) for when the toolbar button is enabled/disabled. 
Testing: Place the phrase box at a location that has an existing adaptation, then click on the "Show the Choose Translation Dialog" toolbar button. The Choose Translation dialog should pop up. Select a source word/phrase at a location away from the phrase box. Try the toolbar button again. It should give an error message, "The dialog can be opened at a selection only if the phrase box is located at the first word of the selection." Place the phrase box at a location and make a multi-word selection of source text so that the first word of the selection is at the location of the phrase box. The dialog should appear. If there was no adaptation existing at the location of the phrase box, and no entries in the KB for that source word, the dialog should not appear, but and information message should say, "Sorry, the knowledge base does not yet have any entry matching this source text, so the Choose Translation dialog cannot be shown." 

	Show Target Text Only | Show normal view - Toggle - In a document that has some adapted text, this toggle button will show (when not disabled) the target text by itself in the main window.
Testing: Open a document that has some adaptation work done, and click on the "Show Target Text Only" toolbar button. Only the target text should appear. There  should be no source text and no navigation text showing. There also should be no note icons nor filtered information wedge icons showing. Click the toolbar button again - both the source text and target text should appear along with the navigation text and any icons above the source text line.

	View Translation or Glosses Elsewhere in the Document - Open a fairly long document that contains a number of chapters and verses. This toolbar button is normally enabled for most circumstances. With the phrase box at or near the beginning of the document, click the toolbar button. The "View Translation or Glosses Elsewhere In The Document" dialog should appear. Enter a chapter and verse that is later in the document and click on the "Get Chapter:Verse Text" button. The dialog should show the source text and translation/adaptation text for that location. Click on the "Close and Jump Here" button. The phrase box should go to the beginning of the location that was being viewed in the dialog.

	No Punctuation Copy | Enable Punctuation Copy - Toggle - When toggled, this toolbar button prevents the copying of punctuation from the source to the target adaptations. This button is designed to only keep its toggled state temporarily, and reverts immediately to its default state when the phrase box moves to another location.
Testing: Do some adaptation work in a document that has punctuation in the source text. When the phrase box is at a source word/phrase that has some punctuation, click this toolbar button to suppress the copying of the punctuation, enter the adaptation and press Enter to move the phrase box forward. The punctuation should not have been copied from the source to the target text. Note that the toggle button automatically toggles back to its default state of copying punctuation, so the next time the source word/phrase has punctuation it will be copied unless the toolbar is once again toggled to prevent the copy operation.

	Help - The Help button does not have an Update UI handler, so it is enabled at all times.
Testing: Select Help > Help Topics. The HTML Help Viewer should pop up and load the HTML Help system with it displaying the "Using Adapt It" help page with a disclaimer and links to about 9 top level help topics. Note: On Linux if the adaptit-docs package is not installed an error message will appear instead saying, "Adapt It could not add book contents to its help file..." with the path it expected the .htb file to be located at.

5. Testing that toolbar buttons are removed or added back for given User Profiles that affect certain toolbar buttons.

One of the major features of Adapt It for use by administrators is its ability of setting up user work profiles in which the administrator can remove certain menu items and toolbar buttons from the interface to keep users from being overwhelmed by too many choices that they may not need, or haven't learned to use yet.

Since this document is about testing the toolbar we will here only suggest tests of the user profile feature that affects the hiding of certain toolbar buttons.

Make the Administrator menu visible (View > "Show Administrator Menu... (password protected)" if it is not already visible. The password admin always works to make the Administrator menu visible. From the Administrator menu select "User Workflow Profiles...". The dialog of the same name appears. In section 2 of the dialog select the "Use a workflow profile" radio button. The controls below that radio button are enabled. The drop down list will usually have the "Novice" profilie selected by default (if no previous selection was made of a different profile). We'll test with the Novice profile. Scroll down the list of controls to near the bottom of the list until you see the "Adapt It Toolbar Items". For the Novice profile there are six items listed. The first 5 do not have ticks in their checkboxes indicating that for the Novice profile, those 5 toolbar items will not be show when the Novice profile is activated by the administrator. The sixth item is the Help Topics toolbar item (the last toolbar button on the right end of the toolbar). It is ticked so it will be shown. Now click just click on the "Save Changes" button at the bottom of the dialog. The inventory of toolbar buttons has been reduce to those that we have deemed are more appropriate for novices. Check to ensure that the "Delete All Notes", "Cut", "Copy", "Paste", and "Print" buttons are now hidden from the inventory of toolbar buttons. The Help Topics button (last one) should still be visible. When the Novice profile is in effect, there should be 26 toolbar buttons.

Go back into the Administrator menu and select "User Workflow Profiles..." again. Now in section 2 select the "None (keep all menus and settings visible)" radio button. Then click "Save Changes". The 5 buttons that were previously hidden for the Novice profile should now be visible - so that the total number of toolbar buttons should now be back to its full complement of 31.

Note that the User Profiles feature allows the administrator to customize the existing profiles, or even set a custom profile. Go back into the "User Workflow Profiles" dialog and keeping the Novice profile scroll down again to the "Adapt It Toolbar Items" section and tick one or two of the empty checkboxes to make a customized "Novice" profile (for instance you may want the user to be able to have access to the Print toolbar button). Click "Save Changes" then note that there should now be the Print button back in the toolbar inventory. Lastly, you may wish to set the User Workflow Profiles back to "None" before ending your testing of the toolbar.

Thanks for your testing of the Adapt It toolbar!

	End of toolbar_tests.txt document

