# Bespin Developer's Guide

## Manual Test Plan

Before shipping a release, we need to manually check some things out for three reasons:

1. It's not always possible or practical to programmatically test things
2. Even when things can be tested automatically, we'll want to be sure that things look right
3. The docs still need to be reviewed.

## Plugin System Tests

The plugin system can't use the PluginDev test infrastructure, since PluginDev itself is a plugin. To run the plugin system tests, you need to fire up the server and go to:

http://localhost:4020/static/bespin/en/current/tests/plugins.html

## Bespin Embedded

Start by creating a new release:

    paver release_embed

You'll find the release in `tmp/BespinEmbedded-DropIn-VERSION/` and `tmp/BespinEmbedded-Customizable-VERSION/`. Next, you'll want to make sure the release works. Make sure that you're in the virtualenv (you should see `(bespinclient)` at the beginning of your command prompt). If you aren't in the virtualenv, run

    source bin/activate

Once you're set, you can take a look at the sample.html:

    cd tmp/BespinEmbedded-DropIn-VERSION
    static . localhost:8080

Point your web browser at http://localhost:8080/sample.html 1.

Make sure that the editor displays fine and that you can successfully resize the window without any strange effects.

Next, get out of the virtualenv by running:

    deactivate

Then, try to run and test a build:

    cd tmp/BespinEmbedded-Customizable-VERSION
    dryice sample.json
    cd tmp
    static . localhost:8080

Point your web browser at http://localhost:8080/sample.html 1.

This editor should work as well.

## Editor Behavior

As we use Bespin to edit itself more, there will be less need for this test. Until that time, we should test common editor behavior:

- ARROW KEYS to move around
- HOME to move to the beginning of the line
- END to move to the end of the line
- PAGE UP to move up a screenful
- PAGE DOWN to move down a screenful
- CMD C to copy
- CMD X to cut
- CMD V to paste
- SHIFT ARROW KEYS to change the selection
- Mouse to change the selection
- Mouse past the bottom and top of the screen to confirm scrolling
- BACKSPACE or DELETE to remove the selected text

## Documentation

Finally, run

    paver docs

Compare the Release Notes with Bugzilla to ensure that everything is covered. This will also give you an idea for the kinds of documentation changes that would have been required for this release.

Skim through the docs to make sure everything looks reasonable for this release. You should obviously pay attention to any areas that have changed in this release and ensure that they are correct.

1. You can't just open sample.html directly in Firefox, because you'll get a permission denied error. The Python "static" package includes this easy command line static file server. You can successfully open sample.html in Safari and Chrome. ↩