dvander@1999: #include dvander@1999: dvander@1999: public Plugin:myinfo = dvander@1999: { dvander@1999: name = "Stack Tests", dvander@1999: author = "AlliedModders LLC", dvander@1999: description = "Tests stack functions", dvander@1999: version = "1.0.0.0", dvander@1999: url = "http://www.sourcemod.net/" dvander@1999: }; dvander@1999: dvander@1999: public OnPluginStart() dvander@1999: { dvander@1999: RegServerCmd("test_stack", Test_Stack); dvander@1999: } dvander@1999: dvander@1999: public Action:Test_Stack(args) dvander@1999: { dvander@1999: new Handle:stack; dvander@1999: new test[20] dvander@1999: decl String:buffer[42]; dvander@1999: dvander@1999: test[0] = 5 dvander@1999: test[1] = 7 dvander@1999: dvander@1999: stack = CreateStack(30); dvander@1999: PushStackCell(stack, 50); dvander@1999: PushStackArray(stack, test, 2); dvander@1999: PushStackArray(stack, test, 2); dvander@1999: PushStackString(stack, "space craaab"); dvander@1999: PushStackCell(stack, 12); dvander@1999: dvander@1999: PrintToServer("empty? %d", IsStackEmpty(stack)); dvander@1999: dvander@1999: PopStack(stack); dvander@1999: PopStackString(stack, buffer, sizeof(buffer)); dvander@1999: PrintToServer("popped: \"%s\"", buffer); dvander@1999: test[0] = 0 dvander@1999: test[1] = 0 dvander@1999: PrintToServer("values: %d, %d", test[0], test[1]); dvander@1999: PopStackArray(stack, test, 2); dvander@1999: PrintToServer("popped: %d, %d", test[0], test[1]); dvander@1999: PopStackCell(stack, test[0], 1); dvander@1999: PrintToServer("popped: x, %d", test[0]); dvander@1999: PopStackCell(stack, test[0]); dvander@1999: PrintToServer("popped: %d", test[0]); dvander@1999: dvander@1999: PrintToServer("empty? %d", IsStackEmpty(stack)); dvander@1999: dvander@1999: CloseHandle(stack); dvander@1999: dvander@1999: return Plugin_Handled; dvander@1999: }