pjs/modules/oji/tests/doc/OjiAPITestcases.html

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&nbsp; tests cases can be created?
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A total of 323 test cases
can be written for testing OJI APIs .
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Below is a list of OJI API
methods that are being implemented in
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; browser code for OJI and/or in
Kestrel code(for windows) . Each method under
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; an interface include details like
the number of possible test cases
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and the possible test values.
At the end of interface there is a
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; total for the number of
test cases for this Interface.
<br>&nbsp;
<br>&nbsp;&nbsp;&nbsp;&nbsp; Note:
<br>&nbsp;&nbsp;&nbsp;&nbsp; ====
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>Interfaces nsIJRIPlugin.h ,
nsISecureJNI.h&nbsp; and nsISecureJNI2.h&nbsp; are found</b>
<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; under the mozilla/modules/oji/public
directory of mozilla.</b>
<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; However these interfaces were not
included in the Kestrel include directory.</b>
<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Also noticed that the methods
declared within nsISecureJNI.h&nbsp; and nsISecureJNI2.h</b>
<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; under mozilla/modules/oji/public
directory</b>
<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;Method:
<br>&nbsp; NS_IMETHOD GetProxyJNI(JNIEnv * *outProxyEnv);
<p>&nbsp; Implemented in :Kestrel code for windows
<br>&nbsp; Number of test cases that can be written: 2
<br>&nbsp;Test cases will be written with NULL value and a NON NULL value
<p>Method:
<br>NS_IMETHOD IsJavaEnabled(PRBool *outEnabled);
<p>&nbsp;Implemented in :Kestrel code for windows
<br>&nbsp;Number of test cases that can be written: 2
<br>&nbsp;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>&nbsp;
<li>
<a name="nsIJVMPluginInstance"></a><b>Interface : nsIJVMPluginInstance</b></li>
<br>Method:
<br>&nbsp;NS_IMETHOD GetJavaObject(jobject *result) = 0;
<p>&nbsp;Implemented in : Kestrel code for windows
<br>&nbsp;Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL
<br>&nbsp;&nbsp;&nbsp;&nbsp; String value for&nbsp; the parameter
<p>&nbsp;Method:
<br>&nbsp;&nbsp; NS_IMETHOD&nbsp; GetText(const char* *result) = 0;
<p>&nbsp;Implemented in :mozilla and Kestrel code for windows
<br>&nbsp; Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String value for&nbsp; the parameter
<p>Total number of test cases for this Interface : 6
<br>&nbsp;
<li>
<a name="nsIJVMPlugin"></a><b>Interface : nsIJVMPlugin</b></li>
<br>Method:
<br>&nbsp;NS_IMETHOD AddToClassPath(const char* dirPath) = 0;
<p>&nbsp;Implemented in :mozilla and Kestrel code for windows
<br>&nbsp;Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL String value for&nbsp; the parameter
<p>&nbsp;Method:
<br>&nbsp;&nbsp; NS_IMETHOD&nbsp; GetClassPath(const char* *result) = 0;
<p>&nbsp;Implemented in :mozilla and Kestrel code for windows
<br>&nbsp; Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL String value for&nbsp; the parameter
<p>Method:
<br>NS_IMETHOD&nbsp; 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&nbsp; , NULL string and
a NON NULL String value for&nbsp; the parameter
<p>Method:
<br>&nbsp; NS_IMETHOD&nbsp; GetJavaWrapper(JNIEnv* jenv, jint obj, jobject
*jobj) = 0;
<p>&nbsp;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&nbsp; NULL and a NON NULL&nbsp; value
for&nbsp; the parameters jenv , jobj and min_value
<br>and max_value for obj.
<p>Method:
<br>&nbsp; NS_IMETHOD&nbsp; CreateSecureEnv(JNIEnv* proxyEnv, nsISecureEnv*
*outSecureEnv) = 0;
<p>&nbsp;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&nbsp; NULL and a NON NULL&nbsp; value
for&nbsp; the parameters
<p>Method:
<br>&nbsp; NS_IMETHOD&nbsp; SpendTime(PRUint32 timeMillis) = 0;
<p>&nbsp;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&nbsp; min_value and max_value or the
unsigned int.
<p>Total number of test cases for this Interface : 21
<br>&nbsp;
<li>
<a name="nsIJVMPluginTagInfo"></a><b>Interface : nsIJVMPluginTagInfo</b></li>
<br>Method:
<br>&nbsp;NS_IMETHOD GetCode(const char* *result) = 0;
<p>&nbsp;Implemented in :&nbsp; mozilla
<br>&nbsp;Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL String value for&nbsp; the parameter
<p>&nbsp;Method:
<br>&nbsp;&nbsp; NS_IMETHOD&nbsp; GetCodeBase(const char* *result) = 0;
<p>&nbsp;Implemented in : mozilla
<br>&nbsp; Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL String value for&nbsp; the parameter
<p>Method:
<br>&nbsp;NS_IMETHOD GetArchive(const char* *result) = 0;
<p>&nbsp;Implemented in :&nbsp; mozilla
<br>&nbsp;Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL String value for&nbsp; the parameter
<p>&nbsp;Method:
<br>&nbsp;&nbsp; NS_IMETHOD&nbsp; GetName(const char* *result) = 0;
<p>&nbsp;Implemented in : mozilla
<br>&nbsp; Number of test cases that can be written: 3
<br>&nbsp;Test cases will be written with Empty String&nbsp; , NULL string
and a NON NULL String value for&nbsp; the parameter
<p>Method:
<br>&nbsp;&nbsp; NS_IMETHOD&nbsp; GetMayScript(PRBool *result) = 0;
<p>&nbsp;Implemented in : mozilla
<br>&nbsp; Number of test cases that can be written: 2
<br>&nbsp;Test cases will be written with true or false values.
<p>Total number of test cases for this Interface : 14
<br>&nbsp;
<li>
<a name="nsIJVMPrefsWindow"></a><b>Interface : nsIJVMPrefsWindow</b></li>
<br>Method:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD&nbsp; Hide(void);
<p>Implemented in :mozilla and Kestrel code for windows
<br>Number of test cases that can be written: 1
<p>Method:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD&nbsp; 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>&nbsp;
<li>
<a name="nsIJVMWindow"></a><b>Interface : nsIJVMWindow</b></li>
<br>Method:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD Show(void);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD&nbsp; Hide(void);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsVisisble(void);
<p>&nbsp;All the methods in this interface are not implemented in the mozilla
<br>&nbsp;code as well as the Kestrel code. So not sure if we need to test
these
<br>methods.
<br>&nbsp;
<br>&nbsp;
<li>
<a name="nsILiveConnectManager"></a><b>Interface : nsILiveConnectManager</b></li>
<br>Method:
<br>&nbsp;NS_IMETHOD StartupLiveConnect(JSRuntime* runtime, PRBool&amp;
outStarted) = 0;
<br>&nbsp;NS_IMETHOD ShutdownLiveConnect(JSRuntime* runtime, PRBool&amp;
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&amp; outEnabled) = 0;;
<br>&nbsp;Implemented in :&nbsp; mozilla code for OJI
<p>Method:
<br>NS_IMETHOD InitLiveConnectClasses(JSContext* context, JSObject* globalObject)
= 0;
<br>&nbsp;Implemented in :&nbsp; mozilla code for OJI
<p>Method:
<br>NS_IMETHOD WrapJavaObject(JSContext* context, jobject javaObject, JSObject*
*outJSObject) = 0;
<br>&nbsp;Implemented in :&nbsp; mozilla code for OJI.
<p>&nbsp;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>&nbsp;Number of test cases that can be written: NONE
<p>Total number of test cases for this Interface : NONE
<br>&nbsp;
<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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD&nbsp; Hide(void);
<p>Implemented in :mozilla and Kestrel code for windows
<br>Number of test cases that can be written: 1
<p>Method:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NS_IMETHOD&nbsp; 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>&nbsp;
<br>&nbsp;
<li>
<a name="nsISecureEnv"></a><b>Interface : nsISecureEnv</b></li>
<br>Method:
<br>&nbsp;NS_IMETHOD NewObject(/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jmethodID methodID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jvalue *args,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jobject* result,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; nsISecurityContext* ctx = NULL) = 0;
<br>Implemented in:&nbsp; 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&nbsp;
clazz, methodID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
args, result.
<p>Method:
<br>NS_IMETHOD CallMethod(/*[in]*/&nbsp; jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jmethodID methodID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jvalue *args,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jvalue* result,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
obj, methodID , args , result
<br>&nbsp;
<p>Method:
<br>NS_IMETHOD NS_IMETHOD CallNonvirtualMethod(/*[in]*/&nbsp; jni_type
type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jmethodID methodID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jvalue *args,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jvalue* result,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
obj, methodID , args , result
<p>Method:
<br>NS_IMETHOD GetField(/*[in]*/&nbsp; jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jfieldID fieldID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jvalue* result,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj, fieldID
, result
<p>Method:
<br>NS_IMETHOD SetField(/*[in]*/ jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ jfieldID fieldID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ jvalue val,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj, filedID , val.
<p>Method:
<br>NS_IMETHOD CallStaticMethod(/*[in]*/&nbsp; jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jmethodID methodID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jvalue *args,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jvalue* result,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; nsISecurityContext* ctx = NULL) = 0;
<br>Implemented in: mozilla and kestrel
<br>Number of test cases that can be written:&nbsp; 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]*/&nbsp; jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jfieldID fieldID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jvalue* result,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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&nbsp; NULL and NON NULL values for
type,
<br>&nbsp;&nbsp;&nbsp; clazz, fieldID, result.
<p>Method:
<br>NS_IMETHOD SetStaticField(/*[in]*/ jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ jfieldID fieldID,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ jvalue val,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;&nbsp;&nbsp; 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>&nbsp;the machine dependent int.
<p>Method:
<br>NS_IMETHOD DefineClass(/*[in]*/&nbsp; const char* name,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jobject loader,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const jbyte *buf,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize len,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; 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>&nbsp;min_value and max_value for len
<p>Method:
<br>NS_IMETHOD FindClass(/*[in]*/&nbsp; const char* name,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jclass* clazz) = 0;
<br>Implemented in: mozilla and kestrel code for windows
<br>Number of test cases that can be written:&nbsp; 3
<br>Test cases will be written with Empty String string ,
<br>NULL and NON NULL string for name.
<br>&nbsp;
<p>Method:
<br>NS_IMETHOD GetSuperclass(/*[in]*/&nbsp; jclass sub,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; NULL and NON NULL values for
sub ,
<br>&nbsp;
<p>Method:
<br>NS_IMETHOD IsAssignableFrom(/*[in]*/&nbsp; jclass sub,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jclass super,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;NULL and NON NULL vlaues for&nbsp; super .
<br>&nbsp;
<p>Method:
<br>NS_IMETHOD Throw(/*[in]*/&nbsp; jthrowable obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char *msg,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; 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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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:&nbsp; 3
<br>Test cases will be written with Empty&nbsp; string , NULL string and
NON NULL string
<br>values for&nbsp; msg
<p>Method:
<br>NS_IMETHOD NewGlobalRef(/*[in]*/&nbsp; jobject lobj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jobject obj1,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jobject obj2,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; and obj2
<br>&nbsp;
<p>Method:
<br>NS_IMETHOD AllocObject(/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; for
obj
<p>Method:
<br>NS_IMETHOD IsInstanceOf(/*[in]*/&nbsp; jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* name,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* sig,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* name,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* sig,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* name,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* sig,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* name,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const char* sig,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; const jchar* unicode,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize len,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; and min and max_value for len
<p>Method:
<br>NS_IMETHOD GetStringLength(/*[in]*/&nbsp; jstring str,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jstring str,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jboolean *isCopy,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; NULL and NON NULL values for
str
<br>and NULL and NON NULL values for chars
<br>&nbsp;
<br>&nbsp;
<p>Method:
<br>NS_IMETHOD ReleaseStringChars(/*[in]*/&nbsp; jstring str,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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]*/&nbsp; const char *utf,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jstring str,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jstring str,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jboolean *isCopy,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;
<p>Method:
<br>NS_IMETHOD ReleaseStringUTFChars(/*[in]*/&nbsp; jstring str,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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]*/&nbsp; jarray array,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[out]*/ jsize* result) = 0;
<br>Implemented in:&nbsp; 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]*/&nbsp; jsize len,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jobject init,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jobjectArray array,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize index,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jobjectArray array,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize index,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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&nbsp;
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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize len,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jarray array,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jboolean *isCopy,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ jarray array,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/ void *elems,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;
<p>Method:
<br>NS_IMETHOD GetArrayRegion(/*[in]*/&nbsp; jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jarray array,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize start,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize len,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;
<br>&nbsp;
<p>Method:
<br>NS_IMETHOD SetArrayRegion(/*[in]*/&nbsp; jni_type type,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jarray array,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize start,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jsize len,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; 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]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; const JNINativeMethod *methods,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[in]*/&nbsp; jint nMethods,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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&nbsp; nMethods
<p>Method:
<br>NS_IMETHOD UnregisterNatives(/*[in]*/&nbsp; jclass clazz,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; jobject obj,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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]*/&nbsp; JavaVM **vm,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/*[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>&nbsp;
<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>&nbsp;
<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>&nbsp;
<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>&nbsp; 11/04/99</td>
<td>&nbsp;1.0</td>
<td>&nbsp;Geetha Vaidyanaathan&nbsp;</td>
<td>&nbsp;first draft</td>
</tr>
</table>
<ul>
<ul>&nbsp;</ul>
</ul>
</body>
</html>