1:: 2:: PROJECT: ReactOS CMD Testing Suite 3:: LICENSE: GPL v2 or any later version 4:: FILE: tests/set.cmd 5:: PURPOSE: Tests for the "set" command 6:: COPYRIGHT: Copyright 2005 Royce Mitchell III 7:: Copyright 2008 Colin Finck <mail@colinfinck.de> 8:: 9 10:: Test the /A parameter 11call :_test "set /a a=1" 12call :_testvar %a% a 1 13 14call :_test "set /a b=a" 15call :_testvar %b% b 1 16 17call :_test "set /a a=!5" 18call :_testvar %a% a 0 19 20call :_test "set /a a=!a" 21call :_testvar %a% a 1 22 23call :_test "set /a a=~5" 24call :_testvar %a% a -6 25 26call :_test "set /a a=5,a=-a" 27call :_testvar %a% a -5 28 29call :_test "set /a a=5*7" 30call :_testvar %a% a 35 31 32call :_test "set /a a=2000/10" 33call :_testvar %a% a 200 34 35call :_test "set /a a=42%%%%9" 36call :_testvar %a% a 6 37 38call :_test "set /a a=5%%2" 39call :_testvar %a% a 5 40 41call :_test "set /a a=42%13" 42call :_testvar %a% a 423 43 44call :_test "set /a a=7+9" 45call :_testvar %a% a 16 46 47call :_test "set /a a=9-7" 48call :_testvar %a% a 2 49 50set /a a=9^<^<2 51call :_testvar %a% a 36 52 53set /a a=36^>^>2 54call :_testvar %a% a 9 55 56set /a a=42^&9 57call :_testvar %a% a 8 58 59set /a a=32^9 60call :_testvar %a% a 329 61 62set /a a=32^^9 63call :_testvar %a% a 41 64 65set /a a=10^|22 66call :_testvar %a% a 30 67 68call :_test "set /a a=2,a*=3" 69call :_testvar %a% a 6 70 71call :_test "set /a a=11,a/=2" 72call :_testvar %a% a 5 73 74call :_test "set /a a=42,a%%%%=9" 75call :_testvar %a% a 6 76 77call :_test "set /a a=7,a+=9" 78call :_testvar %a% a 16 79 80call :_test "set /a a=9,a-=7" 81call :_testvar %a% a 2 82 83set /a a=42,a^&=9 84call :_testvar %a% a 8 85 86set /a a=32,a^^=9 87call :_testvar %a% a 41 88 89set /a a=10,a^|=22 90call :_testvar %a% a 30 91 92set /a a=9,a^<^<=2 93call :_testvar %a% a 36 94 95set /a a=36,a^>^>=2 96call :_testvar %a% a 9 97 98call :_test "set /a a=1,2" 99call :_testvar %a% a 1 100 101call :_test "set /a a=(a=1,a+2)" 102call :_testvar %a% a 3 103 104goto :EOF 105