RetroZilla/modules/plugin/tools/tester/doc/samplescript.txt

171 lines
3.9 KiB
Plaintext
Raw Normal View History

2015-10-21 05:03:22 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; This is a sample NPAPI plugin script file with all NPAPI calls present.
;;
;;
;; [Options] section specifies how to conduct the script.
;; 'first' key says from where to start the script (default 1).
;; 'last' key MUST present, and it says when to stop the script cycle.
;; All sections with numbers less than that of specified in the 'first' key and
;; more than that of specified in the 'last' key are ignored by the script
;; reading code.
;; So you can pick any part of existing long script for executing.
;;
;; Two other keys are optional, 'repetitions' being the number of times
;; the script cycle is going to be executed (default 1), and 'delay' being
;; the time delay in milliseconds between cycle repetitions (default 0)
;;
;; ['Numeric'] sections are actual script, each representing one NPAPI call.
;; Calls will be executed in their numeric order, some numbers could be
;; missing, so you can start to write your script with numbers multiple
;; by say ten in order to be able to insert new script items later.
;;
;; 'arg*' keys represent NPAPI function call arguments and they depend on
;; actual call.
;;
;; In some cases you may not specify an argument if you have no control
;; over it. E.g. pointer to the plugin instance or pointer to a stream
;; created by NPN_NewStream. Scripter code will pick up right ones for you.
;; If you specify them explicitely it will take them but be prepared for
;; boom. This is appropriate if you want to test an API call with invalid
;; arguments.
;;
;; String should can be represented by actual string.
;;
;; Arguments other than numeric like NPPVariable, NPReason etc. should be
;; represented by their enum types from npapi.h like NPPVpluginNameString
;; or NPRES_DONE. Also NPBool should read TRUE or FALSE
;;
;; If you want to test real numeric values in place of this args, say
;; 0x00000000 for string pointers, use a special prefix '_true_numeric_value_'
;; The following example will execute NPN_GetURL(instance, -1, "some_target")
;; with real instance, invalid URL and valid target:
;;
;; [1]
;; APICall=NPN_GetURL
;; arg2=true_numeric_value_-1
;; arg3=some_target
;;
;; The latter is also true for NPBool, NPReason, NPNVariable ans NPPVariable.
;;
;; In case of NPRect* or NPSize* type of argument you can use either arg*=0x0000
;; (or any other value) or not using arg* use top=..., left=..., right=...,
;; bottom=... or width=..., height=...
;;
;; All these sections may also contain 'delay' key (default 0) which would insert
;; sleep time (in ms) after the corresponding call.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Options]
first=1
last=23
repetitions=1
delay=0
[1]
APICall=NPN_Version
delay=0
[2]
APICall=NPN_GetURL
arg2=http://mozilla.org
arg3=_npapi_Display
[3]
APICall=NPN_GetURLNotify
arg2=http://mozilla.org
arg3=_npapi_Display
arg4=1
[4]
APICall=NPN_PostURL
arg2=http://mozilla.org
arg3=_npapi_Display
arg4=4
arg5=test
arg6=FALSE
[5]
APICall=NPN_PostURLNotify
arg2=http://mozilla.org
arg3=_npapi_Display
arg4=4
arg5=test
arg6=FALSE
arg7=1
;[6]
;APICall=NPN_RequestRead
[7]
APICall=NPN_NewStream
arg2=text/plain
arg3=_npapi_Display
[8]
APICall=NPN_Write
arg3=21
arg4=this is a test string
[9]
APICall=NPN_DestroyStream
arg3=NPRES_DONE
[10]
APICall=NPN_Status
arg2=Some message
[11]
APICall=NPN_UserAgent
[12]
APICall=NPN_MemAlloc
arg1=256
[13]
APICall=NPN_MemFree
[14]
APICall=NPN_MemFlush
arg1=256
[15]
APICall=NPN_ReloadPlugins
arg1=TRUE
[16]
APICall=NPN_GetJavaEnv
[17]
APICall=NPN_GetJavaPeer
[18]
APICall=NPN_GetValue
arg2=NPNVnetscapeWindow
[19]
APICall=NPN_SetValue
arg2=NPPVpluginNameString
arg3=NPAPI Tester Plugin
;; Case for setting new embed size
[20]
APICall=NPN_SetValue
arg2=NPPVpluginWindowSize
width=200
height=400
[21]
APICall=NPN_InvalidateRect
top=0
left=0
right=200
bottom=100
[22]
APICall=NPN_InvalidateRegion
arg2=0
[23]
APICall=NPN_ForceRedraw