plugins/testsuite/stacktest.sp
author David Anderson <dvander@alliedmods.net>
Fri Jul 11 06:51:21 2008 +0000 (2008-07-11)
branchrefac-jit
changeset 2192 7602d7fb60d9
parent 2168 c24a6fa957db
permissions -rw-r--r--
fixed a compat regression, forgot msvc does funky things with overloaded virtual calls
     1 #include <sourcemod>
     2 
     3 public Plugin:myinfo = 
     4 {
     5 	name = "Stack Tests",
     6 	author = "AlliedModders LLC",
     7 	description = "Tests stack functions",
     8 	version = "1.0.0.0",
     9 	url = "http://www.sourcemod.net/"
    10 };
    11 
    12 public OnPluginStart()
    13 {
    14 	RegServerCmd("test_stack", Test_Stack);
    15 }
    16 
    17 public Action:Test_Stack(args)
    18 {
    19 	new Handle:stack;
    20 	new test[20]
    21 	decl String:buffer[42];
    22 	
    23 	test[0] = 5
    24 	test[1] = 7
    25 	
    26 	stack = CreateStack(30);
    27 	PushStackCell(stack, 50);
    28 	PushStackArray(stack, test, 2);
    29 	PushStackArray(stack, test, 2);
    30 	PushStackString(stack, "space craaab");
    31 	PushStackCell(stack, 12);
    32 	
    33 	PrintToServer("empty? %d", IsStackEmpty(stack));
    34 	
    35 	PopStack(stack);
    36 	PopStackString(stack, buffer, sizeof(buffer));
    37 	PrintToServer("popped: \"%s\"", buffer);
    38 	test[0] = 0
    39 	test[1] = 0
    40 	PrintToServer("values: %d, %d", test[0], test[1]);
    41 	PopStackArray(stack, test, 2);
    42 	PrintToServer("popped: %d, %d", test[0], test[1]);
    43 	PopStackCell(stack, test[0], 1);
    44 	PrintToServer("popped: x, %d", test[0]);
    45 	PopStackCell(stack, test[0]);
    46 	PrintToServer("popped: %d", test[0]);
    47 	
    48 	PrintToServer("empty? %d", IsStackEmpty(stack));
    49 	
    50 	CloseHandle(stack);
    51 	
    52 	return Plugin_Handled;
    53 }