зеркало из https://github.com/mozilla/pjs.git
908 строки
50 KiB
HTML
Executable File
908 строки
50 KiB
HTML
Executable File
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="GENERATOR" content="Mozilla/4.51 [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
|
|
<title>OJI Test Analysis
|
|
|
|
</title>
|
|
</head>
|
|
<body>
|
|
|
|
<h1>
|
|
OJI API Test Analysis</h1>
|
|
|
|
<h2>
|
|
Table of Content</h2>
|
|
|
|
<ul>
|
|
<li>
|
|
<a href="#How2">How many tests cases can be created?</a></li>
|
|
<ul>
|
|
<li><a href="#nsIJVMManager">Interface : nsIJVMManager</a></li>
|
|
<li><a href="#nsIJVMPluginInstance">Interface : nsIJVMPluginInstance</a></li>
|
|
<li><a href="#nsIJVMPlugin">Interface : nsIJVMPlugin</a></li>
|
|
<li><a href="#nsIJVMPluginTagInfo">Interface : nsIJVMPluginTagInfo</a></li>
|
|
<li><a href="#nsIJVMPrefsWindow">Interface : nsIJVMPrefsWindow</a></li>
|
|
<li><a href="#nsIJVMWindow">Interface : nsIJVMWindow</a></li>
|
|
<li><a href="#nsILiveConnectManager">Interface : nsILiveConnectManager</a></li>
|
|
<li><a href="#nsIJVMConsole">Interface : nsIJVMConsole</a></li>
|
|
<li><a href="#nsISecureEnv">Interface : nsISecureEnv</a></li>
|
|
<li><a href="#nsIThreadManager">Interface : nsIThreadManager</a></li>
|
|
</ul>
|
|
</ul>
|
|
<a NAME="How2"></a>How many tests cases can be created?
|
|
<p> A total of 323 test cases
|
|
can be written for testing OJI APIs .
|
|
<br> Below is a list of OJI API
|
|
methods that are being implemented in
|
|
<br> browser code for OJI and/or in
|
|
Kestrel code(for windows) . Each method under
|
|
<br> an interface include details like
|
|
the number of possible test cases
|
|
<br> and the possible test values.
|
|
At the end of interface there is a
|
|
<br> total for the number of
|
|
test cases for this Interface.
|
|
<br>
|
|
<br> Note:
|
|
<br> ====
|
|
<br> <b>Interfaces nsIJRIPlugin.h ,
|
|
nsISecureJNI.h and nsISecureJNI2.h are found</b>
|
|
<br><b> under the mozilla/modules/oji/public
|
|
directory of mozilla.</b>
|
|
<br><b> However these interfaces were not
|
|
included in the Kestrel include directory.</b>
|
|
<br><b> Also noticed that the methods
|
|
declared within nsISecureJNI.h and nsISecureJNI2.h</b>
|
|
<br><b> under mozilla/modules/oji/public
|
|
directory</b>
|
|
<br><b> were all included in the nsISecureEnv.h
|
|
interface that is found in kestrel include directory</b>
|
|
<ul>
|
|
<li>
|
|
<a name="nsIJVMManager"></a><b>Interface : nsIJVMManager</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD CreateProxyJNI(nsISecureEnv
|
|
*secureEnv, JNIEnv * *outProxyEnv);
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL value and a NON NULL value for
|
|
both the parameters
|
|
<p> Method:
|
|
<br> NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv);
|
|
<p> Implemented in :Kestrel code for windows
|
|
<br> Number of test cases that can be written: 2
|
|
<br> Test cases will be written with NULL value and a NON NULL value
|
|
<p>Method:
|
|
<br>NS_IMETHOD IsJavaEnabled(PRBool *outEnabled);
|
|
<p> Implemented in :Kestrel code for windows
|
|
<br> Number of test cases that can be written: 2
|
|
<br> Test cases will be written with NULL value and a NON NULL value
|
|
<p>Method:
|
|
<br>NS_IMETHOD ShowJavaConsole(void);
|
|
<p>Implemented in :Kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<p>Total number of test cases for this Interface : 9
|
|
<br>
|
|
<li>
|
|
<a name="nsIJVMPluginInstance"></a><b>Interface : nsIJVMPluginInstance</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD GetJavaObject(jobject *result) = 0;
|
|
<p> Implemented in : Kestrel code for windows
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL
|
|
<br> String value for the parameter
|
|
<p> Method:
|
|
<br> NS_IMETHOD GetText(const char* *result) = 0;
|
|
<p> Implemented in :mozilla and Kestrel code for windows
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL
|
|
<br> String value for the parameter
|
|
<p>Total number of test cases for this Interface : 6
|
|
<br>
|
|
<li>
|
|
<a name="nsIJVMPlugin"></a><b>Interface : nsIJVMPlugin</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD AddToClassPath(const char* dirPath) = 0;
|
|
<p> Implemented in :mozilla and Kestrel code for windows
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL String value for the parameter
|
|
<p> Method:
|
|
<br> NS_IMETHOD GetClassPath(const char* *result) = 0;
|
|
<p> Implemented in :mozilla and Kestrel code for windows
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL String value for the parameter
|
|
<p>Method:
|
|
<br>NS_IMETHOD RemoveFromClassPath(const char* dirPath) = 0 ;
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 3
|
|
<br>Test cases will be written with Empty String , NULL string and
|
|
a NON NULL String value for the parameter
|
|
<p>Method:
|
|
<br> NS_IMETHOD GetJavaWrapper(JNIEnv* jenv, jint obj, jobject
|
|
*jobj) = 0;
|
|
<p> Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 6
|
|
<br>Test cases will be written with NULL and a NON NULL value
|
|
for the parameters jenv , jobj and min_value
|
|
<br>and max_value for obj.
|
|
<p>Method:
|
|
<br> NS_IMETHOD CreateSecureEnv(JNIEnv* proxyEnv, nsISecureEnv*
|
|
*outSecureEnv) = 0;
|
|
<p> Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and a NON NULL value
|
|
for the parameters
|
|
<p>Method:
|
|
<br> NS_IMETHOD SpendTime(PRUint32 timeMillis) = 0;
|
|
<p> Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with min_value and max_value or the
|
|
unsigned int.
|
|
<p>Total number of test cases for this Interface : 21
|
|
<br>
|
|
<li>
|
|
<a name="nsIJVMPluginTagInfo"></a><b>Interface : nsIJVMPluginTagInfo</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD GetCode(const char* *result) = 0;
|
|
<p> Implemented in : mozilla
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL String value for the parameter
|
|
<p> Method:
|
|
<br> NS_IMETHOD GetCodeBase(const char* *result) = 0;
|
|
<p> Implemented in : mozilla
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL String value for the parameter
|
|
<p>Method:
|
|
<br> NS_IMETHOD GetArchive(const char* *result) = 0;
|
|
<p> Implemented in : mozilla
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL String value for the parameter
|
|
<p> Method:
|
|
<br> NS_IMETHOD GetName(const char* *result) = 0;
|
|
<p> Implemented in : mozilla
|
|
<br> Number of test cases that can be written: 3
|
|
<br> Test cases will be written with Empty String , NULL string
|
|
and a NON NULL String value for the parameter
|
|
<p>Method:
|
|
<br> NS_IMETHOD GetMayScript(PRBool *result) = 0;
|
|
<p> Implemented in : mozilla
|
|
<br> Number of test cases that can be written: 2
|
|
<br> Test cases will be written with true or false values.
|
|
<p>Total number of test cases for this Interface : 14
|
|
<br>
|
|
<li>
|
|
<a name="nsIJVMPrefsWindow"></a><b>Interface : nsIJVMPrefsWindow</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD Show(void);
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<p>Method:
|
|
<br> NS_IMETHOD Hide(void);
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<p>Method:
|
|
<br> NS_IMETHOD IsVisisble(void);
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<p>Total number of test cases for this Interface : 3
|
|
<br>
|
|
<li>
|
|
<a name="nsIJVMWindow"></a><b>Interface : nsIJVMWindow</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD Show(void);
|
|
<br> NS_IMETHOD Hide(void);
|
|
<br> IsVisisble(void);
|
|
<p> All the methods in this interface are not implemented in the mozilla
|
|
<br> code as well as the Kestrel code. So not sure if we need to test
|
|
these
|
|
<br>methods.
|
|
<br>
|
|
<br>
|
|
<li>
|
|
<a name="nsILiveConnectManager"></a><b>Interface : nsILiveConnectManager</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD StartupLiveConnect(JSRuntime* runtime, PRBool&
|
|
outStarted) = 0;
|
|
<br> NS_IMETHOD ShutdownLiveConnect(JSRuntime* runtime, PRBool&
|
|
outStarted) = 0;
|
|
<p>These 2 methods are not implemented in mozilla code for OJI as well
|
|
as Kestrel code
|
|
<br>for windows.
|
|
<p>Method:
|
|
<br>NS_IMETHOD IsLiveConnectEnabled(PRBool& outEnabled) = 0;;
|
|
<br> Implemented in : mozilla code for OJI
|
|
<p>Method:
|
|
<br>NS_IMETHOD InitLiveConnectClasses(JSContext* context, JSObject* globalObject)
|
|
= 0;
|
|
<br> Implemented in : mozilla code for OJI
|
|
<p>Method:
|
|
<br>NS_IMETHOD WrapJavaObject(JSContext* context, jobject javaObject, JSObject*
|
|
*outJSObject) = 0;
|
|
<br> Implemented in : mozilla code for OJI.
|
|
<p> I guess these methods get called from the mozilla main thread.
|
|
Hence
|
|
<br>I do not know a way to force some values for the parameters in the
|
|
above
|
|
<br> Number of test cases that can be written: NONE
|
|
<p>Total number of test cases for this Interface : NONE
|
|
<br>
|
|
<li>
|
|
<a name="nsIJVMConsole"></a><b>Interface : nsIJVMConsole</b></li>
|
|
|
|
<br>Method:
|
|
<br>NS_IMETHOD Show(void);
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<p>Method:
|
|
<br> NS_IMETHOD Hide(void);
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<p>Method:
|
|
<br> NS_IMETHOD IsVisisble(void);
|
|
<p>Implemented in :mozilla and Kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<p>Total number of test cases for this Interface : 3
|
|
<br>
|
|
<br>
|
|
<li>
|
|
<a name="nsISecureEnv"></a><b>Interface : nsISecureEnv</b></li>
|
|
|
|
<br>Method:
|
|
<br> NS_IMETHOD NewObject(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ jmethodID methodID,
|
|
<br>
|
|
/*[in]*/ jvalue *args,
|
|
<br>
|
|
/*[out]*/ jobject* result,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows.
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with Null and NON NULL values for
|
|
clazz, methodID,
|
|
<br>
|
|
args, result.
|
|
<p>Method:
|
|
<br>NS_IMETHOD CallMethod(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[in]*/ jmethodID methodID,
|
|
<br>
|
|
/*[in]*/ jvalue *args,
|
|
<br>
|
|
/*[out]*/ jvalue* result,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) = 0;
|
|
<br>Implemented in:a mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 10
|
|
<br>Test cases will be written with Null and NON NULL values for type ,
|
|
<br>
|
|
obj, methodID , args , result
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD NS_IMETHOD CallNonvirtualMethod(/*[in]*/ jni_type
|
|
type,
|
|
<br>
|
|
/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ jmethodID methodID,
|
|
<br>
|
|
/*[in]*/ jvalue *args,
|
|
<br>
|
|
/*[out]*/ jvalue* result,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) =0;
|
|
<p>Implemented in: mozilla and kestrel
|
|
<br>Number of test cases that can be written: 12
|
|
<br>Test cases will be written with Null and NON NULL values for type ,
|
|
<br>
|
|
obj, methodID , args , result
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetField(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[in]*/ jfieldID fieldID,
|
|
<br>
|
|
/*[out]*/ jvalue* result,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for type,
|
|
<br> obj, fieldID
|
|
, result
|
|
<p>Method:
|
|
<br>NS_IMETHOD SetField(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[in]*/ jfieldID fieldID,
|
|
<br>
|
|
/*[in]*/ jvalue val,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) = 0;
|
|
<br>Implemented in: mozilla and kestrel
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for type,
|
|
<br> obj, filedID , val.
|
|
<p>Method:
|
|
<br>NS_IMETHOD CallStaticMethod(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ jmethodID methodID,
|
|
<br>
|
|
/*[in]*/ jvalue *args,
|
|
<br>
|
|
/*[out]*/ jvalue* result,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) = 0;
|
|
<br>Implemented in: mozilla and kestrel
|
|
<br>Number of test cases that can be written: 10
|
|
<br>Test cases will be written with NULL and NON NULL values for type,
|
|
<br>clazz , methodID, args , result.
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetStaticField(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ jfieldID fieldID,
|
|
<br>
|
|
/*[out]*/ jvalue* result,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) = 0;
|
|
<br>Implemented in: mozilla and kestrel
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
type,
|
|
<br> clazz, fieldID, result.
|
|
<p>Method:
|
|
<br>NS_IMETHOD SetStaticField(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ jfieldID fieldID,
|
|
<br>
|
|
/*[in]*/ jvalue val,
|
|
<br>
|
|
/*[in]*/ nsISecurityContext* ctx = NULL) = 0;
|
|
<br>Implemented in: mozilla and kestrel
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for type,
|
|
<br> clazz, fieldID, result
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetVersion(/*[out]*/ jint* version) = 0;
|
|
<br>Implemented in: mozilla and kestrel
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with max_value and min_value for
|
|
<br> the machine dependent int.
|
|
<p>Method:
|
|
<br>NS_IMETHOD DefineClass(/*[in]*/ const char* name,
|
|
<br>
|
|
/*[in]*/ jobject loader,
|
|
<br>
|
|
/*[in]*/ const jbyte *buf,
|
|
<br>
|
|
/*[in]*/ jsize len,
|
|
<br>
|
|
/*[out]*/ jclass* clazz) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 10
|
|
<br>Test cases will be written with Empty String string , NULL and
|
|
NON NULL string for name,
|
|
<br>NULL and NON NULL values for loader , Empty String string , NULL and
|
|
NON NULL string for buf,
|
|
<br> min_value and max_value for len
|
|
<p>Method:
|
|
<br>NS_IMETHOD FindClass(/*[in]*/ const char* name,
|
|
<br>
|
|
/*[out]*/ jclass* clazz) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 3
|
|
<br>Test cases will be written with Empty String string ,
|
|
<br>NULL and NON NULL string for name.
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetSuperclass(/*[in]*/ jclass sub,
|
|
<br>
|
|
/*[out]*/ jclass* super) = 0;
|
|
<br>Implemented in:mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
sub ,
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD IsAssignableFrom(/*[in]*/ jclass sub,
|
|
<br>
|
|
/*[in]*/ jclass super,
|
|
<br>
|
|
/*[out]*/ jboolean* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written withNULL and NON NULL values for sub,
|
|
<br> NULL and NON NULL vlaues for super .
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD Throw(/*[in]*/ jthrowable obj,
|
|
<br>
|
|
/*[out]*/ jint* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NON NULL values for obj
|
|
<p>Method:
|
|
<br>NS_IMETHOD ThrowNew(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ const char *msg,
|
|
<br>
|
|
/*[out]*/ jint* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 5
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
clazz,
|
|
<br>empty string , Null string , Non null string values
|
|
<p>Method:
|
|
<br>NS_IMETHOD ExceptionOccurred(/*[out]*/ jthrowable* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD ExceptionDescribe(void) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD ExceptionClear(void) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 1
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD FatalError(/*[in]*/ const char* msg) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 3
|
|
<br>Test cases will be written with Empty string , NULL string and
|
|
NON NULL string
|
|
<br>values for msg
|
|
<p>Method:
|
|
<br>NS_IMETHOD NewGlobalRef(/*[in]*/ jobject lobj,
|
|
<br>
|
|
/*[out]*/ jobject* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NON NULL values for lobj
|
|
<p>Method:
|
|
<br>NS_IMETHOD DeleteGlobalRef(/*[in]*/ jobject gref) = 0;
|
|
<br>Implemented in:mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with with NULL and NON NULL values for gref
|
|
<p>Method:
|
|
<br>NS_IMETHOD DeleteLocalRef(/*[in]*/ jobject obj) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NON NULL values for obj
|
|
<p>Method:
|
|
<br>NS_IMETHOD IsSameObject(/*[in]*/ jobject obj1,
|
|
<br>
|
|
/*[in]*/ jobject obj2,
|
|
<br>
|
|
/*[out]*/ jboolean* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
<br>obj1 and obj2
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD AllocObject(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[out]*/ jobject* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
<br>clazz.
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetObjectClass(/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[out]*/ jclass* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL nad NON NULL values for
|
|
obj
|
|
<p>Method:
|
|
<br>NS_IMETHOD IsInstanceOf(/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[out]*/ jboolean* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
<br>obj, NULL and NON NULL values for clazz.
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetMethodID(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ const char* name,
|
|
<br>
|
|
/*[in]*/ const char* sig,
|
|
<br>
|
|
/*[out]*/ jmethodID* id) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for class,
|
|
<br>empty string , NULL String and NON NULL string values for name and
|
|
sig
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetFieldID(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ const char* name,
|
|
<br>
|
|
/*[in]*/ const char* sig,
|
|
<br>
|
|
/*[out]*/ jfieldID* id) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for clazz,
|
|
<br>empty string , NULL String and NON NULL string values for name and
|
|
sig
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetStaticMethodID(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ const char* name,
|
|
<br>
|
|
/*[in]*/ const char* sig,
|
|
<br>
|
|
/*[out]*/ jmethodID* id) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for clazz,
|
|
<br>empty string , NULL String and NON NULL string values for name and
|
|
sig
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetStaticFieldID(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ const char* name,
|
|
<br>
|
|
/*[in]*/ const char* sig,
|
|
<br>
|
|
/*[out]*/ jfieldID* id) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NON NULL values for clazz,
|
|
<br>empty string , NULL String and NON NULL string values for name and
|
|
sig
|
|
<p>Method:
|
|
<br>NS_IMETHOD NewString(/*[in]*/ const jchar* unicode,
|
|
<br>
|
|
/*[in]*/ jsize len,
|
|
<br>
|
|
/*[out]*/ jstring* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
<br>unicode and min and max_value for len
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetStringLength(/*[in]*/ jstring str,
|
|
<br>
|
|
/*[out]*/ jsize* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NON NULL values for str
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetStringChars(/*[in]*/ jstring str,
|
|
<br>
|
|
/*[in]*/ jboolean *isCopy,
|
|
<br>
|
|
/*[out]*/ const jchar** result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NON NULL values for
|
|
str
|
|
<br>and NULL and NON NULL values for chars
|
|
<br>
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD ReleaseStringChars(/*[in]*/ jstring str,
|
|
<br>
|
|
/*[in]*/ const jchar *chars) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NON NULL values for str
|
|
<br>and NULL and NON NULL values for chars
|
|
<p>Method:
|
|
<br>NS_IMETHOD NewStringUTF(/*[in]*/ const char *utf,
|
|
<br>
|
|
/*[out]*/ jstring* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for utf
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetStringUTFLength(/*[in]*/ jstring str,
|
|
<br>
|
|
/*[out]*/ jsize* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for str
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetStringUTFChars(/*[in]*/ jstring str,
|
|
<br>
|
|
/*[in]*/ jboolean *isCopy,
|
|
<br>
|
|
/*[out]*/ const char** result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NOT NULL values for str,
|
|
<br>NULL and NOT NULL values for isCopy, empty string , NULL string .
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD ReleaseStringUTFChars(/*[in]*/ jstring str,
|
|
<br>
|
|
/*[in]*/ const char *chars) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NON NULLvalues for str and
|
|
chars
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetArrayLength(/*[in]*/ jarray array,
|
|
<br>
|
|
/*[out]*/ jsize* result) = 0;
|
|
<br>Implemented in: only kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for array.
|
|
<p>Method:
|
|
<br>NS_IMETHOD NewObjectArray(/*[in]*/ jsize len,
|
|
<br>
|
|
/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ jobject init,
|
|
<br>
|
|
/*[out]*/ jobjectArray* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 6
|
|
<br>Test cases will be written with max and min_values for len,
|
|
<br>NULL and NOT NULL values for clazz, NULL and NOT NULL values for init.
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetObjectArrayElement(/*[in]*/ jobjectArray array,
|
|
<br>
|
|
/*[in]*/ jsize index,
|
|
<br>
|
|
/*[out]*/ jobject* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NOT NULL values for array,
|
|
<br>max and min_value for index
|
|
<p>Method:
|
|
<br>NS_IMETHOD SetObjectArrayElement(/*[in]*/ jobjectArray array,
|
|
<br>
|
|
/*[in]*/ jsize index,
|
|
<br>
|
|
/*[in]*/ jobject val) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 6
|
|
<br>Test cases will be written with NULL and NOT NULL values for
|
|
array,
|
|
<br>min and max_values for index and NULL and NOT NULL values for val
|
|
<p>Method:
|
|
<br>NS_IMETHOD NewArray(/*[in]*/ jni_type element_type,
|
|
<br>
|
|
/*[in]*/ jsize len,
|
|
<br>
|
|
/*[out]*/ jarray* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with NULL and NOT NULL values for element_type
|
|
<br>min and max_values for len
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetArrayElements(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jarray array,
|
|
<br>
|
|
/*[in]*/ jboolean *isCopy,
|
|
<br>
|
|
/*[out]*/ void* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written:6
|
|
<br>Test cases will be written with NULL and NOT NULL values for type,
|
|
<br>NULL and NOT NULL values for array, NULL and NOT NULL values for isCopy
|
|
<p>Method:
|
|
<br>NS_IMETHOD ReleaseArrayElements(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jarray array,
|
|
<br>
|
|
/*[in]*/ void *elems,
|
|
<br>
|
|
/*[in]*/ jint mode) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NOT NULL values for type
|
|
<br>NULL and NOT NULL values for array , NULL and NOT NULL values for elems,
|
|
<br>max and min values for mode
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetArrayRegion(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jarray array,
|
|
<br>
|
|
/*[in]*/ jsize start,
|
|
<br>
|
|
/*[in]*/ jsize len,
|
|
<br>
|
|
/*[out]*/ void* buf) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 6
|
|
<br>Test cases will be written with NULL and NOT NULL values for type,
|
|
<br>max and min values for start and len
|
|
<br>
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD SetArrayRegion(/*[in]*/ jni_type type,
|
|
<br>
|
|
/*[in]*/ jarray array,
|
|
<br>
|
|
/*[in]*/ jsize start,
|
|
<br>
|
|
/*[in]*/ jsize len,
|
|
<br>
|
|
/*[in]*/ void* buf) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 8
|
|
<br>Test cases will be written with NULL and NOT NULL valus for type,
|
|
<br>NULL and NOT NULL values for array, min and max values for start ,
|
|
len.
|
|
<p>Method:
|
|
<br>NS_IMETHOD RegisterNatives(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[in]*/ const JNINativeMethod *methods,
|
|
<br>
|
|
/*[in]*/ jint nMethods,
|
|
<br>
|
|
/*[out]*/ jint* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 6
|
|
<br>Test cases will be written with NULL and NOT NULL values for clazz,
|
|
JNINativeMethod,
|
|
<br>min and max value for nMethods
|
|
<p>Method:
|
|
<br>NS_IMETHOD UnregisterNatives(/*[in]*/ jclass clazz,
|
|
<br>
|
|
/*[out]*/ jint* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for clazz
|
|
<p>Method:
|
|
<br>NS_IMETHOD MonitorEnter(/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[out]*/ jint* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written:2
|
|
<br>Test cases will be written with NULL and NOT NULL values for obj
|
|
<p>Method:
|
|
<br>NS_IMETHOD MonitorExit(/*[in]*/ jobject obj,
|
|
<br>
|
|
/*[out]*/ jint* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for obj
|
|
<p>Method:
|
|
<br>NS_IMETHOD GetJavaVM(/*[in]*/ JavaVM **vm,
|
|
<br>
|
|
/*[out]*/ jint* result) = 0;
|
|
<br>Implemented in: mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for vm
|
|
<p>Total number of (possible) test cases for this Interface : 246 (phew..)
|
|
<br>(May be even more ...)
|
|
<br>
|
|
<li>
|
|
<a name="nsIThreadManager"></a><b>Interface : nsIThreadManager</b></li>
|
|
|
|
<br>Method:
|
|
<br>NS_IMETHOD GetCurrentThread(PRUint32* threadID) = 0;
|
|
<br>Implemented in: kestrel
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with max and min values fro threadID
|
|
<p>Method:
|
|
<br>NS_IMETHOD Sleep(PRUint32 milli = 0) = 0;
|
|
<br>Implemented in: mozilla
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with max and min values for milli
|
|
<p>Method:
|
|
<br>NS_IMETHOD EnterMonitor(void* address) = 0;
|
|
<br>Implemented in: mozilla
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for address
|
|
<br>tested)
|
|
<p>Method:
|
|
<br>NS_IMETHOD Wait(void* address, PRUint32 milli = 0) = 0;
|
|
<br>Implemented in: mozilla
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be writtenwith NULL and NOT NULL values for address
|
|
<br>and min and max value for milli
|
|
<p>Method:
|
|
<br>NS_IMETHOD Notify(void* address) = 0;
|
|
<br>Implemented in:mozilla
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for address
|
|
<br>(Not sure how this can be tested)
|
|
<p>Method:
|
|
<br>NS_IMETHOD NotifyAll(void* address) = 0;
|
|
<br>Implemented in:mozilla
|
|
<br>Number of test cases that can be written: 2
|
|
<br>Test cases will be written with NULL and NOT NULL values for address
|
|
<br>
|
|
<p>Method:
|
|
<br>NS_IMETHOD CreateThread(PRUint32* threadID, nsIRunnable* runnable)
|
|
= 0;
|
|
<br>Implemented in:mozilla
|
|
<br>Number of test cases that can be written: 4
|
|
<br>Test cases will be written with min and max value for threadID and
|
|
NULL and NOT NULL
|
|
<br>values for runnable.
|
|
<p>Method:
|
|
<br>NS_IMETHOD PostEvent(PRUint32 threadID, nsIRunnable* runnable, PRBool
|
|
async) = 0;
|
|
<br>Implemented in:mozilla and kestrel code for windows
|
|
<br>Number of test cases that can be written: 6
|
|
<br>Test cases will be written with min and max value for threadID and
|
|
NULL and NOT NULL
|
|
<br>values for runnable, true or false value for async
|
|
<p>Total number of test cases for this Interface : 24
|
|
<br>
|
|
<h3>
|
|
<a NAME="How3"></a><font size=+0>2.5 Revision History.</font></h3>
|
|
</ul>
|
|
|
|
<table BORDER=2 CELLSPACING=2 CELLPADDING=2 COLS=4 WIDTH="100%" BGCOLOR="#99FFCC" NOSAVE >
|
|
<tr BGCOLOR="#FF6666" NOSAVE>
|
|
<td WIDTH="15%">
|
|
<center><b>Date</b></center>
|
|
</td>
|
|
|
|
<td WIDTH="15%">
|
|
<center><b>Version</b></center>
|
|
</td>
|
|
|
|
<td WIDTH="20%" NOSAVE>
|
|
<center><b>Author</b></center>
|
|
</td>
|
|
|
|
<td>
|
|
<center><b>Description</b></center>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr BGCOLOR="#99FFCC">
|
|
<td> 11/04/99</td>
|
|
|
|
<td> 1.0</td>
|
|
|
|
<td> Geetha Vaidyanaathan </td>
|
|
|
|
<td> first draft</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<ul>
|
|
<ul> </ul>
|
|
</ul>
|
|
|
|
</body>
|
|
</html> |