Added filetest.sp to testsuite.
6 author = "AlliedModders LLC",
7 description = "Tests file functions",
9 url = "http://www.sourcemod.net/"
12 public OnPluginStart()
14 RegServerCmd("test_fread1", Test_ReadBinStr);
17 Handle:OpenFile2(const String:path[], const String:mode[])
19 new Handle:file = OpenFile(path, mode);
20 if (file == INVALID_HANDLE)
21 PrintToServer("Failed to open file %s for %s", path, mode);
23 PrintToServer("Opened file handle %x: %s", file, path);
27 public Action:Test_ReadBinStr(args)
29 new items[] = {1, 3, 5, 7, 0, 92, 193, 26, 0, 84, 248, 2};
30 new Handle:of = OpenFile2("smbintest", "wb");
31 if (of == INVALID_HANDLE)
32 return Plugin_Handled;
33 WriteFile(of, items, sizeof(items), 1);
36 new Handle:inf = OpenFile2("smbintest", "rb");
37 new String:buffer[sizeof(items)];
38 ReadFileString(inf, buffer, sizeof(items), sizeof(items));
39 FileSeek(inf, 0, SEEK_SET);
40 new items2[sizeof(items)];
41 ReadFile(inf, items2, sizeof(items), 1);
44 for (new i = 0; i < sizeof(items); i++)
46 if (buffer[i] != items[i])
48 PrintToServer("FAILED ON INDEX %d: %d != %d", i, buffer[i], items[i]);
49 return Plugin_Handled;
51 else if (items2[i] != items[i])
53 PrintToServer("FAILED ON INDEX %d: %d != %d", i, items2[i], items[i]);
54 return Plugin_Handled;
58 PrintToServer("Test passed!");
60 return Plugin_Handled;