`(#|
		      Framework Test Suite Overview

Each tests will rely on the sucessfully completion of all of the ones
before it. In addition, all test suites rely on the sucessful
completion of the engine test suites and the mzscheme test suites.

All of these tests reside in PLTHOME/tests/framework/

There will be a main mzscheme process which will start up a new mred
as necessary for the test suites. Since some tests actually require
mred to exit in order to pass, this governor is required. 

To run a test use:

   framework-test <test.ss> ...

where or <test.ss> is the name of one of the tests
below. Alternatively, pass no command-line arguments to run the same
test as last time, or `all' to run all of the tests.

- load: |# load.ss #|

  | This tests that the advertised ways of loading the framework at
  | it's components all work.

- exit: |# exit.ss #|

  | This tests that exit:exit really exits and that the exit callbacks
  | are actually run.

- preferences: |# prefs.ss #|

  | This tests that preferences are saved and restored correctly, both
  | immediately and across reboots of mred.

- individual object tests:

  | These tests are simple object creation and basic operations.
  | Each test assumes that the others pass; this may yield strange
  | error messages when one fails.

  - frames: |# frame.ss #|
  - canvases: |# canvas.ss #|
  - texts: |# text.ss #|
  - pasteboards: |# pasteboard.ss #|

- basic connections between classes

  | These tests will create objects in various configurations and
  | trigger situations to test their functionality. 

  - edits to canvases: |# edit-canvas.ss #|
  - canvases to frames: |# canvas-frame.ss #|
  - edits to frames: |# edit-frame.ss #|
  - handler |# handler-test.ss #|

- keybindings: |# keys.ss #|

  | This tests all of the misc (non-scheme) keybindings

- searching: |# search.ss #|

  | This tests the seaching frame.

- info: |# info-frame.ss #|

  | This tests the info frame. (ie that toolbar on the bottom of the
                                screen)

- group tests: |# group-test.ss #|

  | make sure that mred:the-frame-group records frames correctly.
  | fake user input expected.

- parenthesis toolkit: |# paren-test.ss #|

  | Test to be sure that parenthesis matching engine works
  | No fake user input expected.

- scheme mode |# scheme.ss #|

  | Make sure that Scheme things work in scheme mode.

- saving tests:

  | These tests will make sure that the usual checks against a user
  | losing their work are in place.

  - autosaving: |# autosave.ss #|
  - closing: |# close.ss #|
  - quitting: |# quit.ss #|

- docs:

  | these tests perform santiy checks to ensure that the docs are up to
  | date with the code and the mred web browser isn't horribly broken

  - inheritance: inheritance.ss

    | make sure that the super-class relationships in the docs match
    | the code.

- interactive tests

  | these tests require intervention by people. Clicking and whatnot
  
  - panel:single |# panel.ss #|

  - garbage collection: |# mem.ss #|

    | These tests will create objects in various configurations and
    | make sure that they are garbage collected

	
|#)