Test Plan - Infragistics/livewire GitHub Wiki

Livewire Test Plan

Strategy

Assumptions

  • Install Node.js
  • Install Gulp.js by running npm install –global gulp

Setup

Clone Livewire to your machine and follow the directions for setup.

Reporting Bugs

Functionality

New Documents

  • When you select to create a new AsciiDoc file, the AsciiDoc grammar engine is used by the editor
  • When you select to create a new Markdown file, the Markdown grammar engine is used by the editor Editing Documents
  • The preview pane shows an instantaneous preview of the document
  • The open file dialog types have the following constraints
    • All (.adoc, .asciidoc, .md, .markdown)
    • AsciiDoc (.adoc, .asciidoc)
    • Markdown (.md, .markdown)

User Interaction

  • Attempting to save a new file will force a save as
  • Clicking on a tab switches to the selected document
  • Double clicking on a tab opens the Explorer window to the file location
  • Double clicking on a files tab that hasn't been saved yet does nothing
  • Hovering the mouse cursor over a tab shows the full file path of the document
  • Clicking on a link in the preview pane (that is pointing to an external web address) opens the site in the default web browser
  • Clicking on a link in the preview pane (that is pointing to another file in the help) does nothing
  • Pressing ctrl + n creates a new AsciiDoc document
  • Pressing ctrl + shift + n creates a new Markdown document
  • Pressing ctrl + 1 adds a header 1 to the document
  • Pressing ctrl + 2 adds a header 2 to the document
  • Pressing ctrl + 3 adds a header 3 to the document
  • Pressing ctrl + b surrounds the selected text with bold formatting
  • Pressing ctrl + i surrounds the selected text with italic formatting
  • Pressing ctrl + shift + b inserts image formatting text
  • Pressing ctrl + k opens the link dialog
    • Pressing the Browse button opens a file explorer to select a file
    • Once a file is selected the file name is renamed to match web conventions
  • Pressing ctrl + d surrounds the selected text with inline code formatting
  • Pressing ctrl + / surrounds the selected text with quote formatting
  • Pressing ctrl + . adds unordered list item formatting to the beginning of a line
  • Pressing ctrl + , adds ordered list item formatting to the beginning of a line
  • Pressing ctrl + - adds horizontal rule formatting on a line
  • Pressing ctrl + s saves the current document (and forces a save as if the document is new)
  • Pressing ctrl + shift + s save as
  • Pressing ctrl + shift + h save as HTML
  • Pressing ctrl + z will undo the last edit
  • Pressing ctrl + h exposes the find/replace dialog
  • Pressing the arrow bar to the right of the preview pane collapses the preview
    • The code window adjusts to widen it's width when the pane is collapsed
  • Pressing ctrl + shift + m opens the metadata dialog
    • Any data entered in the metadata dialog persists inside the metadata header in the file (verify in another text editor)
  • Pasting text copied from the editor preserves whitespace
  • When the cursor is focused on the editor, pressing ctrl + f exposes a find dialog allowing you to find text in the document
  • The cursor location persists per-document when switching tabs
  • When opening a new document the preview pane scrolls to the top for long topics
  • When minimized, pressing ctrl + f12 restores the editor and brings it to focus
  • Editing a document causes the tab label to have a * next to the file name
  • When attempting to close the editor window with unsaved changes, a dialog appears listing the documents that need to be saved before exiting
  • When attempting to close a tab of a document with unsaved changes, a confirmation dialog appears confirming you want to exit without saving

Performance

  • Opening a large amount of files should not affect the editing experience a topic
  • Switching back and forth between tabs should be instantaneous

Scenarios

  • Files must be saved using BOM
  • After saving, files must have the same content as displayed in the editor
  • The editor may have AsciiDoc and Markdown files open simultaneously
    • When a tab is switched the appropriate grammar engine is always used for the correct document

Known Issues

  • Opening very large files slows the editor down significantly (perhaps this is an ACE issue?)

Note: This document was written in Livewire ;)