93 lines
1.2 KiB
Plaintext
93 lines
1.2 KiB
Plaintext
; rtest.nsi
|
|
;
|
|
; This script tests some advanced NSIS functions.
|
|
|
|
;--------------------------------
|
|
|
|
Name "rtest"
|
|
OutFile "rtest.exe"
|
|
|
|
ComponentText "Select tests!"
|
|
ShowInstDetails show
|
|
|
|
RequestExecutionLevel user
|
|
|
|
;--------------------------------
|
|
|
|
Section "Test 1"
|
|
|
|
StrCpy $R0 "a"
|
|
|
|
GetFunctionAddress $R1 test1
|
|
Call $R1
|
|
|
|
StrCmp $R0 "a182345678" success
|
|
|
|
DetailPrint "Test 1 failed (output: $R0)"
|
|
Goto end
|
|
|
|
success:
|
|
DetailPrint "Test 1 succeeded (output: $R0)"
|
|
|
|
end:
|
|
|
|
SectionEnd
|
|
|
|
Function test1
|
|
|
|
GetLabelAddress $9 skip
|
|
|
|
IntOp $9 $9 - 1
|
|
StrCpy $R0 $R01
|
|
|
|
Call $9
|
|
|
|
StrCpy $R0 $R02
|
|
StrCpy $R0 $R03
|
|
StrCpy $R0 $R04
|
|
StrCpy $R0 $R05
|
|
StrCpy $R0 $R06
|
|
StrCpy $R0 $R07
|
|
StrCpy $R0 $R08
|
|
|
|
skip:
|
|
|
|
FunctionEnd
|
|
|
|
;--------------------------------
|
|
|
|
Section "Test 2"
|
|
|
|
StrCpy $R0 "0"
|
|
StrCpy $R1 "11"
|
|
|
|
Call test2
|
|
|
|
StrCmp $R1 "11,10,9,8,7,6,5,4,3,2,1" success
|
|
|
|
DetailPrint "Test 2 failed (output: $R1)"
|
|
Goto end
|
|
|
|
success:
|
|
DetailPrint "Test 2 succeeded (output: $R1)"
|
|
|
|
end:
|
|
|
|
SectionEnd
|
|
|
|
Function test2
|
|
|
|
IntOp $R0 $R0 + 1
|
|
IntCmp $R0 10 done
|
|
|
|
Push $R0
|
|
|
|
GetFunctionAddress $R2 test2
|
|
Call $R2
|
|
|
|
Pop $R0
|
|
|
|
done:
|
|
StrCpy $R1 "$R1,$R0"
|
|
|
|
FunctionEnd |