ObjFW  Diff

Differences From Artifact [4cfbc85ac3]:

To Artifact [5aca96f5ad]:


13
14
15
16
17
18
19
20


21
22


23
24
25


26
27
28

29
30
31
32
33


34
35
36

37
38

39
40
41
42


43
44

45
46
47
48


49
50

51
52
53
54


55
56
57
58
13
14
15
16
17
18
19

20
21
22

23
24
25


26
27
28


29
30
31
32


33
34
35


36


37
38



39
40
41

42




43
44
45

46
47



48
49


50
51







-
+
+

-
+
+

-
-
+
+

-
-
+



-
-
+
+

-
-
+
-
-
+

-
-
-
+
+

-
+
-
-
-
-
+
+

-
+

-
-
-
+
+
-
-


 * file.
 */

#include "config.h"

#include <string.h>

#import "TestsAppDelegate.h"
#import "ObjFW.h"
#import "ObjFWTest.h"

static OFString *const module = @"OFTCPSocket";
@interface OFTCPSocketTests: OTTestCase
@end

@implementation TestsAppDelegate (OFTCPSocketTests)
- (void)TCPSocketTests
@implementation OFTCPSocketTests
- (void)testTCPSocket
{
	void *pool = objc_autoreleasePoolPush();
	OFTCPSocket *server, *client = nil, *accepted;
	OFTCPSocket *server, *client, *accepted;
	OFSocketAddress address;
	char buffer[6];

	TEST(@"+[socket]", (server = [OFTCPSocket socket]) &&
	    (client = [OFTCPSocket socket]))
	server = [OFTCPSocket socket];
	client = [OFTCPSocket socket];

	TEST(@"-[bindToHost:port:]",
	    R(address = [server bindToHost: @"127.0.0.1" port: 0]))
	address = [server bindToHost: @"127.0.0.1" port: 0];

	TEST(@"-[listen]", R([server listen]))
	[server listen];

	TEST(@"-[connectToHost:port:]",
	    R([client connectToHost: @"127.0.0.1"
			       port: OFSocketAddressIPPort(&address)]))
	[client connectToHost: @"127.0.0.1"
			 port: OFSocketAddressIPPort(&address)];

	TEST(@"-[accept]", (accepted = [server accept]))
	accepted = [server accept];

	TEST(@"-[remoteAddress]",
	    [OFSocketAddressString(accepted.remoteAddress)
	    isEqual: @"127.0.0.1"])
	OTAssertEqualObjects(OFSocketAddressString(accepted.remoteAddress),
	    @"127.0.0.1");

	TEST(@"-[writeString:]", R([client writeString: @"Hello!"]))
	[client writeString: @"Hello!"];

	TEST(@"-[readIntoBuffer:length:]",
	    [accepted readIntoBuffer: buffer length: 6] &&
	    !memcmp(buffer, "Hello!", 6))
	[accepted readIntoBuffer: buffer exactLength: 6];
	OTAssertEqual(memcmp(buffer, "Hello!", 6), 0);

	objc_autoreleasePoolPop(pool);
}
@end