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