ObjFW  Diff

Differences From Artifact [9c08c02308]:

To Artifact [b806dc5c9a]:


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
59
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







-
+
+

-
+
+

-
-
+
+

-
-
-
-
+
+
+

-
+

-
-
+
+

-
-
+

-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-

 * file.
 */

#include "config.h"

#include <string.h>

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

static OFString *const module = @"OFUDPSocket";
@interface OFUDPSocketTests: OTTestCase
@end

@implementation TestsAppDelegate (OFUDPSocketTests)
- (void)UDPSocketTests
@implementation OFUDPSocketTests
- (void)testUDPSocket
{
	void *pool = objc_autoreleasePoolPush();
	OFUDPSocket *sock;
	OFSocketAddress addr1, addr2, addr3;
	char buf[6];
	OFUDPSocket *sock = [OFUDPSocket socket];
	OFSocketAddress addr1, addr2;
	char buffer[6];

	TEST(@"+[socket]", (sock = [OFUDPSocket socket]))
	sock = [OFUDPSocket socket];

	TEST(@"-[bindToHost:port:]",
	    R(addr1 = [sock bindToHost: @"127.0.0.1" port: 0]))
	addr1 = [sock bindToHost: @"127.0.0.1" port: 0];
	OTAssertEqualObjects(OFSocketAddressString(&addr1), @"127.0.0.1");

	TEST(@"-[sendBuffer:length:receiver:]",
	    R([sock sendBuffer: "Hello" length: 6 receiver: &addr1]))
	[sock sendBuffer: "Hello" length: 6 receiver: &addr1];

	TEST(@"-[receiveIntoBuffer:length:sender:]",
	    [sock receiveIntoBuffer: buf length: 6 sender: &addr2] == 6 &&
	    !memcmp(buf, "Hello", 6) &&
	    [OFSocketAddressString(&addr2) isEqual: @"127.0.0.1"] &&
	    OFSocketAddressIPPort(&addr2) == OFSocketAddressIPPort(&addr1))
	[sock receiveIntoBuffer: buffer length: 6 sender: &addr2];
	OTAssertEqual(memcmp(buffer, "Hello", 6), 0);
	OTAssertEqualObjects(OFSocketAddressString(&addr2), @"127.0.0.1");
	OTAssertEqual(OFSocketAddressIPPort(&addr2),

	addr3 = OFSocketAddressParseIP(@"127.0.0.1",
	    OFSocketAddressIPPort(&addr1) + 1);

	    OFSocketAddressIPPort(&addr1));
}
	TEST(@"OFSocketAddressEqual()",
	    OFSocketAddressEqual(&addr1, &addr2) &&
	    !OFSocketAddressEqual(&addr1, &addr3))

	TEST(@"OFSocketAddressHash()",
	    OFSocketAddressHash(&addr1) == OFSocketAddressHash(&addr2) &&
	    OFSocketAddressHash(&addr1) != OFSocketAddressHash(&addr3))

	objc_autoreleasePoolPop(pool);
}
@end