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