## OJI API test specification

### Goals:

The goals of the tests are to check the stability and correctnesses of the implementation of the OJI API and to detect its errors.

### Objects to be tested:

The OJI exported interfaces are implemented by OJI mozilla module or by JavaPlugin itself. Due to time/resources constrains we need to prioritize the interfaces to be tested. The Java Plugin is like to be "third party product" and are supposed to be tested by team that had produced it. So the first priority should be assign to interfaces implemented by OJI mozilla module.

    OJI mozilla module interfaces:

nsIJVMManager | all 3 are implemented by class nsJVMManager
nsIThreadManager
nsILiveConnectManager
nsIJVMPluginTagInfo | implemented by class nsJVMPluginTagInfo
JNIEnv | implemented by class ProxyJNIEnv and returned by nsIJVMManager::CreateProxyJNI. It is used by LiveConnect and by other Blackwood modules

    Java Plugin interfaces:

nsIJVMPlugin
nsIJVMConsole
nsIJVMPrefsWindow
nsIJVMWindow
nsISecureEnv
nsISecureJNI
nsISecureJNI2
nsIJVMPluginInstance

###
Common tests details:

The tests organization should allow to run the tests:
- individually
- by interface related group
- all
- arbitrary selected set

Due to the fact that the number of the specified tests is about 1000 and they can be ran during one night it is not supposed to select the acceptance set of the tests.