OJI API Test Analysis. Interfaces implemented by OJI module (excluding JNIEnv).

Table of Content

Interface : nsIJVMManager Method: NS_IMETHOD CreateProxyJNI(nsISecureEnv *secureEnv, JNIEnv * *outProxyEnv); Number of test cases that can be written: 4 Test cases will be written with NULL value and a NON NULL value for both the parameters Method: NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv); Number of test cases that can be written: 3 Test cases will be written with - NULL value - NON NULL value in cases when - the CreateProxyJNI had already been called - hadn't already been called Method: NS_IMETHOD IsJavaEnabled(PRBool *outEnabled); Number of test cases that can be written: 3 Test cases will be written with - NULL value - NON NULL value in cases when - the Java is enabled - there is not Java Method: NS_IMETHOD ShowJavaConsole(void); Number of test cases that can be written: 2 Test cases will be written in cases - the Java is enabled - there is not Java Total number of test cases for this Interface : 12 Interface : nsILiveConnectManager Note: Due to the complexity of some objects used as parameteres the varying on this objects causes very big number of test cases, so below are enumerated only first-level test cases on stability with NULL values. Method: NS_IMETHOD StartupLiveConnect(JSRuntime* runtime, PRBool& outStarted); Test cases will be written with: runtime: NULL value outStarted: NULL and a NON NULL value Number of test cases that can be written: 2 Method: NS_IMETHOD ShutdownLiveConnect(JSRuntime* runtime, PRBool& outShutdown); Test cases will be written with: runtime: NULL value outShutdown: NULL and a NON NULL value Number of test cases that can be written: 2 Method: NS_IMETHOD IsLiveConnectEnabled(PRBool& outEnabled); Test cases will be written with NULL and a NON NULL value Number of test cases that can be written: 2 Method: NS_IMETHOD InitLiveConnectClasses(JSContext* context, JSObject* globalObject); Test cases will be written with NULL values Number of test cases that can be written: 1 Method: NS_IMETHOD WrapJavaObject(JSContext* context, jobject javaObject, JSObject* *outJSObject); Test cases will be written with: context: NULL value javaObject: NULL value outJSObject: NULL and a NON NULL value Number of test cases that can be written: 2 Total number of test cases for this Interface : 9 Interface : nsIThreadManager Method: NS_IMETHOD GetCurrentThread(nsPluginThread* *threadID); Number of test cases that can be written: 2 Test cases will be written with NULL and NON NULL values Method: NS_IMETHOD Sleep(PRUint32 milli = 0); Number of test cases that can be written: 2 Test cases will be written with max and min values for milli Method: NS_IMETHOD EnterMonitor(void* address); Number of test cases that can be written: 4 Test cases will be written with - NULL value - NOT NULL values in cases when this monitor - is free - is already entered by this thread - is entered by another thread Method: NS_IMETHOD ExitMonitor(void* address); Number of test cases that can be written: 4 Test cases will be written with - NULL value - NOT NULL values in cases when this monitor - is free - is already entered by this thread - is entered by another thread Method: NS_IMETHOD Wait(void* address, PRUint32 milli = 0); Number of test cases that can be written: 4 Test cases will be written with - NULL value for address and some value for milli - NOT NULL values for address (when entered) - and min - and max value for milli - NOT NULL values for address (when non-entered) and some value for milli Method: NS_IMETHOD Notify(void* address); Number of test cases that can be written: 4 Test cases will be written with - NULL value - NOT NULL values in cases when this monitor - isn't entered by this thread - is already entered by this thread and there are waiting threads - is already entered by this thread and there are not waiting threads Method: NS_IMETHOD NotifyAll(void* address); Number of test cases that can be written: 4 Test cases will be written with - NULL value - NOT NULL values in cases when this monitor - isn't entered by this thread - is already entered by this thread and there are waiting threads - is already entered by this thread and there are not waiting threads Method: NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable); Number of test cases that can be written: 4 Test cases will be written with NULL and NOT NULL values for threadID and NULL and NOT NULL values for runnable. Method: NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool async); Number of test cases that can be written: 6 Test cases will be written with: threadID: for existent and not-existent thread runnable: NULL and NOT NULL async: true and false Total number of test cases for this Interface : 30 Interface : nsIJVMPluginTagInfo Method: NS_IMETHOD GetCode(const char* *result); Number of test cases that can be written: 3 Test cases will be written with - NULL value - NON NULL value in cases when return value - should be empty - and non-empty Method: NS_IMETHOD GetCodeBase(const char* *result); Number of test cases that can be written: 3 Test cases will be written with - NULL value - NON NULL value in cases when return value - should be empty - and non-empty Method: NS_IMETHOD GetArchive(const char* *result); Number of test cases that can be written: 3 Test cases will be written with - NULL value - NON NULL value in cases when return value - should be empty - and non-empty Method: NS_IMETHOD GetName(const char* *result); Number of test cases that can be written: 3 Test cases will be written with - NULL value - NON NULL value in cases when return value - should be empty - and non-empty Method: NS_IMETHOD GetMayScript(PRBool *result); Number of test cases that can be written: 3 Test cases will be written with - NULL value - NON NULL value in cases when return value - should be true - and false Total number of test cases for this Interface : 15