plugins/testsuite/filetest.sp
author Nicholas Hastings <skamonkey@gmail.com>
Fri Nov 04 10:01:33 2011 -0400 (2011-11-04)
changeset 3438 07a1b8a8a2ba
parent 2446 46bfcd5b47a1
permissions -rw-r--r--
Updated TF2_OnIsHolidayActive ret behavior to match doc (bug 5155, r=fyren).
dvander@2446
     1
#include <sourcemod>
dvander@2446
     2
dvander@2446
     3
public Plugin:myinfo = 
dvander@2446
     4
{
dvander@2446
     5
	name = "File test",
dvander@2446
     6
	author = "AlliedModders LLC",
dvander@2446
     7
	description = "Tests file functions",
dvander@2446
     8
	version = "1.0.0.0",
dvander@2446
     9
	url = "http://www.sourcemod.net/"
dvander@2446
    10
};
dvander@2446
    11
dvander@2446
    12
public OnPluginStart()
dvander@2446
    13
{
dvander@2446
    14
	RegServerCmd("test_fread1", Test_ReadBinStr);
dvander@2446
    15
}
dvander@2446
    16
dvander@2446
    17
Handle:OpenFile2(const String:path[], const String:mode[])
dvander@2446
    18
{
dvander@2446
    19
	new Handle:file = OpenFile(path, mode);
dvander@2446
    20
	if (file == INVALID_HANDLE)
dvander@2446
    21
		PrintToServer("Failed to open file %s for %s", path, mode);
dvander@2446
    22
	else
dvander@2446
    23
		PrintToServer("Opened file handle %x: %s", file, path);
dvander@2446
    24
	return file;
dvander@2446
    25
}
dvander@2446
    26
dvander@2446
    27
public Action:Test_ReadBinStr(args)
dvander@2446
    28
{
dvander@2446
    29
	new items[] = {1, 3, 5, 7, 0, 92, 193, 26, 0, 84, 248, 2};
dvander@2446
    30
	new Handle:of = OpenFile2("smbintest", "wb");
dvander@2446
    31
	if (of == INVALID_HANDLE)
dvander@2446
    32
		return Plugin_Handled;
dvander@2446
    33
	WriteFile(of, items, sizeof(items), 1);
dvander@2446
    34
	CloseHandle(of);
dvander@2446
    35
dvander@2446
    36
	new Handle:inf = OpenFile2("smbintest", "rb");
dvander@2446
    37
	new String:buffer[sizeof(items)];
dvander@2446
    38
	ReadFileString(inf, buffer, sizeof(items), sizeof(items));
dvander@2446
    39
	FileSeek(inf, 0, SEEK_SET);
dvander@2446
    40
	new items2[sizeof(items)];
dvander@2446
    41
	ReadFile(inf, items2, sizeof(items), 1);
dvander@2446
    42
	CloseHandle(inf);
dvander@2446
    43
dvander@2446
    44
	for (new i = 0; i < sizeof(items); i++)
dvander@2446
    45
	{
dvander@2446
    46
		if (buffer[i] != items[i])
dvander@2446
    47
		{
dvander@2446
    48
			PrintToServer("FAILED ON INDEX %d: %d != %d", i, buffer[i], items[i]);
dvander@2446
    49
			return Plugin_Handled;
dvander@2446
    50
		}
dvander@2446
    51
		else if (items2[i] != items[i])
dvander@2446
    52
		{
dvander@2446
    53
			PrintToServer("FAILED ON INDEX %d: %d != %d", i, items2[i], items[i]);
dvander@2446
    54
			return Plugin_Handled;
dvander@2446
    55
		}
dvander@2446
    56
	}
dvander@2446
    57
dvander@2446
    58
	PrintToServer("Test passed!");
dvander@2446
    59
dvander@2446
    60
	return Plugin_Handled;
dvander@2446
    61
}
dvander@2446
    62