iOS web browser with a focus on security and privacy
1//
2// LocalNetworkChecker_Tests.m
3// Endless
4//
5// Created by joshua stein on 12/22/16.
6// Copyright © 2016 jcs. All rights reserved.
7//
8
9#import <XCTest/XCTest.h>
10
11#import "LocalNetworkChecker.h"
12
13@interface LocalNetworkChecker_Tests : XCTestCase
14
15@end
16
17@implementation LocalNetworkChecker_Tests
18
19- (void)testIPv4
20{
21 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"0.0.0.3"]);
22 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"10.10.10.10"]);
23 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"127.0.0.1"]);
24 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"192.168.123.123"]);
25 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"192.168.254.254"]);
26 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"240.0.0.0"]);
27 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"255.255.255.255"]);
28
29 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"8.8.8.8"]);
30 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"123.123.123.123"]);
31 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"192.169.0.1"]);
32
33 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"-127.0.0.1"]);
34 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"not an ip"]);
35}
36
37- (void)testIPv6
38{
39 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"::"]);
40 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"::1"]);
41 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"2001:10::1"]);
42 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"::fFfF:192.168.1.1"]);
43 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"::ffff:127.0.0.1"]);
44 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"fe80::c34:c7f7:1003:300c%en0"]);
45 XCTAssertTrue([LocalNetworkChecker isHostOnLocalNet:@"fdf9:39fa:41d9::1"]);
46
47 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"::abad:bad:1dea"]);
48 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"abad:bad:1dea::"]);
49 XCTAssertFalse([LocalNetworkChecker isHostOnLocalNet:@"2620:0:1cfe:face:b00c::"]);
50}
51
52@end