runtime
runtime copied to clipboard
Create test-cases
To create a test case, create another file like this: https://github.com/SQFvm/vm/blob/master/tests/sqf/select.sqf at https://github.com/SQFvm/vm/blob/master/tests/sqf/
- [ ] parsingnamespace
- [ ] pi
- [x] nil
- [ ] east
- [ ] missionnamespace
- [ ] uinamespace
- [ ] profilenamespace
- [x] productversion
- [ ] cansuspend
- [ ] allunits
- [x] diag_ticktime
- [ ] pwd__
- [ ] halt
- [ ] cmdsimplemented__
- [ ] cmds__
- [ ] allobjects__
- [ ] exit__
- [ ] vm__
- [ ] respawn__
- [ ] callstack__
- [ ] currentdirectory__
- [x] true
- [x] false
- [x] confignull
- [x] configfile
- [ ] allmapmarkers
- [ ] blufor
- [ ] west
- [ ] opfor
- [ ] resistance
- [ ] player
- [ ] independent
- [ ] civilian
- [ ] sideempty
- [ ] sideenemy
- [ ] grpnull
- [ ] sidefriendly
- [ ] sidelogic
- [ ] sideunknown
- [ ] objnull
- [x] assert BOOL
- [ ] abs SCALAR
- [ ] round SCALAR
- [x] sqrt SCALAR
- [x] deg SCALAR
- [x] acos SCALAR
- [x] selectmax ARRAY
- [x] log SCALAR
- [x] sin SCALAR
- [x] tan SCALAR
- [x] exp SCALAR
- [x] rad SCALAR
- [x] random SCALAR
- [ ] hint STRING
- [ ] hint TEXT
- [x] - SCALAR
- [ ] systemchat STRING
- [ ] gunner OBJECT
- [x] + SCALAR
- [ ] + NaN
- [ ] + ARRAY
- [x] ! BOOL
- [x] floor SCALAR
- [ ] sleep SCALAR
- [x] ceil SCALAR
- [x] asin SCALAR
- [ ] preprocessfilelinenumbers STRING
- [x] selectmin ARRAY
- [x] ln SCALAR
- [x] atan SCALAR
- [x] allvariables NAMESPACE
- [x] allvariables OBJECT
- [ ] allvariables GROUP
- [ ] atg SCALAR
- [x] isnil STRING
- [x] isnil CODE
- [ ] units GROUP
- [ ] units OBJECT
- [x] cos SCALAR
- [x] private STRING
- [x] private ARRAY
- [ ] vectormagnitude ARRAY
- [ ] scriptdone SCRIPT
- [ ] vectormagnitudesqr ARRAY
- [ ] vectornormalized ARRAY
- [ ] tofixed SCALAR
- [ ] preprocess__ STRING
- [ ] call CODE
- [ ] with NAMESPACE
- [x] count ARRAY
- [x] count STRING
- [x] count CONFIG
- [x] default CODE
- [x] comment STRING
- [ ] side GROUP
- [ ] side OBJECT
- [x] compile STRING
- [x] while CODE
- [x] typename ANY
- [x] for STRING
- [ ] str ANY
- [x] if BOOL
- [x] alive OBJECT
- [x] selectrandom ARRAY
- [ ] reverse ARRAY
- [ ] scriptname STRING
- [x] case ANY
- [x] switch ANY
- [x] params ARRAY
- [ ] velocity OBJECT
- [x] param ARRAY
- [ ] preprocessfile STRING
- [ ] preprocessfile STRING
- [ ] diag_log ANY
- [ ] tree__ STRING
- [ ] help__ STRING
- [ ] typeof OBJECT
- [ ] markershape STRING
- [ ] configparse__ STRING
- [ ] prettyprintsqf__ STRING
- [ ] assembly__ CODE
- [ ] allfiles__ ARRAY
- [ ] trim__ STRING
- [x] tolower STRING
- [x] toupper STRING
- [x] format ARRAY
- [x] toarray STRING
- [x] tostring ARRAY
- [ ] configname CONFIG
- [ ] confighierarchy CONFIG
- [ ] inheritsfrom CONFIG
- [ ] markertext STRING
- [x] isnumber CONFIG
- [x] istext CONFIG
- [ ] vehicle OBJECT
- [x] isclass CONFIG
- [x] isarray CONFIG
- [x] getnumber CONFIG
- [x] gettext CONFIG
- [x] getarray CONFIG
- [x] isnull CONFIG
- [ ] isnull GROUP
- [ ] isnull OBJECT
- [ ] configproperties ARRAY
- [ ] creategroup SIDE
- [ ] groupid GROUP
- [ ] deletegroup GROUP
- [ ] createvehicle ARRAY
- [ ] deletevehicle OBJECT
- [ ] position OBJECT
- [ ] getpos OBJECT
- [ ] nearestobjects ARRAY
- [ ] getdammage OBJECT
- [ ] damage OBJECT
- [ ] crew OBJECT
- [ ] objectparent OBJECT
- [ ] driver OBJECT
- [ ] commander OBJECT
- [ ] getmarkertype STRING
- [ ] markertype STRING
- [ ] getmarkersize STRING
- [ ] markersize STRING
- [ ] getmarkercolor STRING
- [ ] markercolor STRING
- [ ] getmarkerpos STRING
- [ ] markerpos STRING
- [ ] markerbrush STRING
- [ ] markerdir STRING
- [ ] markeralpha STRING
- [ ] createmarker ARRAY
- [ ] createmarkerlocal ARRAY
- [ ] deletemarker STRING
- [ ] deletemarkerlocal STRING
- [x] SCALAR min SCALAR
- [x] SCALAR atan2 SCALAR
- [x] SCALAR ^ SCALAR
- [x] CODE foreach ARRAY
- [x] ARRAY vectoradd ARRAY
- [x] ARRAY vectordiff ARRAY
- [x] SCALAR max SCALAR
- [ ] ANY != ANY
- [ ] SIDE != SIDE
- [ ] STRING != STRING
- [ ] OBJECT != OBJECT
- [ ] GROUP != GROUP
- [ ] TEXT != TEXT
- [ ] CONFIG != CONFIG
- [ ] DISPLAY != DISPLAY
- [ ] CONTROL != CONTROL
- [ ] LOCATION != LOCATION
- [x] ARRAY set ARRAY
- [ ] SCALAR mod SCALAR
- [x] SCALAR - SCALAR
- [ ] ARRAY - ARRAY
- [ ] SCALAR % SCALAR
- [ ] ARRAY pushback ANY
- [x] SCALAR + SCALAR
- [ ] ARRAY + ARRAY
- [x] STRING + STRING
- [x] ARRAY findif CODE
- [x] SCALAR * SCALAR
- [x] ANY in ARRAY
- [ ] OBJECT in OBJECT
- [x] SCALAR / SCALAR
- [x] CONFIG / STRING
- [ ] ARRAY vectorcos ARRAY
- [ ] SCALAR > SCALAR
- [x] ARRAY append ARRAY
- [ ] ARRAY vectorcrossproduct ARRAY
- [ ] ARRAY resize SCALAR
- [x] IF exitwith CODE
- [ ] ANY call CODE
- [ ] ARRAY vectordistance ARRAY
- [x] BOOL && BOOL
- [x] BOOL && CODE
- [ ] ARRAY vectordistancesqr ARRAY
- [ ] SWITCH : CODE
- [x] ARRAY select SCALAR
- [x] ARRAY select BOOL
- [x] ARRAY select ARRAY
- [x] ARRAY select CODE
- [x] CODE select ARRAY
- [x] STRING select ARRAY
- [ ] CONFIG select SCALAR
- [ ] ANY spawn CODE
- [ ] ARRAY vectordotproduct ARRAY
- [x] SCALAR <= SCALAR
- [ ] STRING setmarkertext STRING
- [x] ANY param ARRAY
- [ ] ARRAY vectormultiply SCALAR
- [x] SCALAR tofixed SCALAR
- [ ] WITH do CODE
- [x] WHILE do CODE
- [x] FOR do CODE
- [x] SWITCH do CODE
- [x] SCALAR >= SCALAR
- [x] NAMESPACE getvariable STRING
- [x] NAMESPACE getvariable ARRAY
- [x] OBJECT getvariable STRING
- [x] OBJECT getvariable ARRAY
- [ ] GROUP getvariable STRING
- [ ] GROUP getvariable ARRAY
- [x] BOOL == BOOL
- [ ] SCALAR == SCALAR
- [ ] SIDE == SIDE
- [ ] STRING == STRING
- [ ] OBJECT == OBJECT
- [ ] GROUP == GROUP
- [ ] TEXT == TEXT
- [ ] CONFIG == CONFIG
- [ ] DISPLAY == DISPLAY
- [ ] CONTROL == CONTROL
- [ ] LOCATION == LOCATION
- [x] FOR step SCALAR
- [x] NAMESPACE setvariable ARRAY
- [x] OBJECT setvariable ARRAY
- [ ] GROUP setvariable ARRAY
- [x] ARRAY joinstring STRING
- [ ] OBJECT setvelocity ARRAY
- [x] CODE count ARRAY
- [ ] STRING callextension STRING
- [ ] STRING callextension ARRAY
- [x] IF then ARRAY
- [x] IF then CODE
- [x] CODE else CODE
- [ ] ARRAY pushbackunique ANY
- [x] FOR from SCALAR
- [x] FOR to SCALAR
- [ ] STRING setmarkercolor STRING
- [ ] ARRAY # SCALAR
- [ ] ARRAY sort BOOL
- [ ] SCALAR < SCALAR
- [x] ARRAY apply CODE
- [ ] STRING setmarkerbrush STRING
- [x] ARRAY deleteat SCALAR
- [ ] ARRAY arrayintersect ARRAY
- [ ] ARRAY find ANY
- [ ] STRING find STRING
- [x] ARRAY params ARRAY
- [ ] CONFIG merge__ CONFIG
- [ ] CODE except__ CODE
- [ ] BOOL and BOOL
- [ ] BOOL and CODE
- [x] BOOL || BOOL
- [x] BOOL || CODE
- [ ] BOOL or BOOL
- [ ] BOOL or CODE
- [x] ANY isequalto ANY
- [x] ANY isequaltype ANY
- [ ] STRING createvehicle ARRAY
- [x] CONFIG >> STRING
- [x] STRING configclasses CONFIG
- [ ] ANY createvehiclelocal ANY
- [ ] OBJECT setpos ARRAY
- [ ] OBJECT domove ARRAY
- [ ] ARRAY domove ARRAY
- [ ] GROUP createunit ARRAY
- [ ] STRING createunit ARRAY
- [x] ARRAY distance ARRAY
- [x] OBJECT distance ARRAY
- [x] ARRAY distance OBJECT
- [x] OBJECT distance OBJECT
- [ ] OBJECT iskindof STRING
- [ ] STRING iskindof STRING
- [ ] STRING iskindof ARRAY
- [ ] OBJECT setdamage SCALAR
- [ ] STRING setmarkershape STRING
- [ ] STRING setmarkershapelocal STRING
- [ ] STRING setmarkerbrushlocal STRING
- [ ] STRING setmarkerpos ARRAY
- [ ] STRING setmarkerposlocal ARRAY
- [ ] STRING setmarkertype STRING
- [ ] STRING setmarkertypelocal STRING
- [ ] STRING setmarkertextlocal STRING
- [ ] STRING setmarkerdir SCALAR
- [ ] STRING setmarkerdirlocal SCALAR
- [ ] STRING setmarkercolorlocal STRING
- [ ] STRING setmarkersize ARRAY
- [ ] STRING setmarkersizelocal ARRAY
- [ ] STRING setmarkeralpha SCALAR
- [ ] STRING setmarkeralphalocal SCALAR
- [x] try CODE
- [x] EXCEPTION catch CODE
- [x] throw ANY
- [x] STRING composeText ARRAY
- [x] lineBreak
- [x] parseText STRING
- [x] text STRING
- [x] STRING splitString STRING
- [x] GROUP selectLeader OBJECT
- [x] ARRAY matrixMultiply ARRAY
- [x] matrixTranspose ARRAY
- [x] ANY isNotEqualTo ANY
- [x] OBJECT distance2d OBJECT
- [x] OBJECT distance2d ARRAY
- [x] ARRAY distance2d OBJECT
- [x] ARRAY distance2d ARRAY
- [x] ARRAY deleteRange ARRAY
- [x] breakOut STRING
- [x] ANY breakOut STRING
- [x] not BOOL
preprocessor tests:
#define PREFIX ace
#define COMPONENT advanced_ballistics
#define QUOTE(x) # x
#define MAINPREFIX z
#define SUBPREFIX addons
#define PATHTOF_SYS(var1,var2,var3) \MAINPREFIX\##var1\SUBPREFIX\##var2\##var3
#define PATHTOF(var1) PATHTOF_SYS(PREFIX,COMPONENT,var1)
#define QPATHTOF(var1) QUOTE(PATHTOF(var1))
QPATHTOF(UI\protractor.paa);
#define DOUBLES(var1,var2) var1##_##var2
#define PREFIX ace
#define COMPONENT medical_engine
#define ADDON DOUBLES(PREFIX,COMPONENT)
#define GVAR(var1) DOUBLES(ADDON,var1)
#define QUOTE(x) #x
#define QGVAR(var1) QUOTE(GVAR(var1))
#define HIT_STRUCTURAL QGVAR($#structural)
[HIT_STRUCTURAL, 0]