// This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. #import #import #import "OCTManagerConfiguration.h" @interface OCTManagerConfigurationTests : XCTestCase @end @implementation OCTManagerConfigurationTests - (void)setUp { [super setUp]; // Put setup code here. This method is called before the invocation of each test method in the class. } - (void)tearDown { // Put teardown code here. This method is called after the invocation of each test method in the class. [super tearDown]; } - (void)testDefaultConfiguration { OCTManagerConfiguration *configuration = [OCTManagerConfiguration defaultConfiguration]; XCTAssertNotNil(configuration.fileStorage); XCTAssertNotNil(configuration.options); XCTAssertTrue(configuration.useFauxOfflineMessaging); } - (void)testCopy { OCTManagerConfiguration *configuration = [OCTManagerConfiguration defaultConfiguration]; configuration.options.ipv6Enabled = YES; configuration.options.udpEnabled = YES; configuration.options.localDiscoveryEnabled = YES; configuration.options.proxyType = OCTToxProxyTypeHTTP; configuration.options.proxyHost = @"proxy.address"; configuration.options.proxyPort = 999; configuration.options.startPort = 123; configuration.options.endPort = 321; configuration.options.tcpPort = 777; configuration.options.holePunchingEnabled = YES; configuration.importToxSaveFromPath = @"save.tox"; configuration.useFauxOfflineMessaging = NO; OCTManagerConfiguration *c2 = [configuration copy]; configuration.options.ipv6Enabled = NO; configuration.options.udpEnabled = NO; configuration.options.localDiscoveryEnabled = NO; configuration.options.proxyType = OCTToxProxyTypeSocks5; configuration.options.proxyHost = @"another.address"; configuration.options.proxyPort = 10; configuration.options.startPort = 11; configuration.options.endPort = 12; configuration.options.tcpPort = 13; configuration.options.holePunchingEnabled = NO; configuration.importToxSaveFromPath = @"another.tox"; configuration.useFauxOfflineMessaging = YES; XCTAssertEqualObjects(configuration.fileStorage, c2.fileStorage); XCTAssertTrue(c2.options.ipv6Enabled); XCTAssertTrue(c2.options.udpEnabled); XCTAssertTrue(c2.options.localDiscoveryEnabled); XCTAssertEqual(c2.options.proxyType, OCTToxProxyTypeHTTP); XCTAssertEqualObjects(c2.options.proxyHost, @"proxy.address"); XCTAssertEqual(c2.options.proxyPort, 999); XCTAssertEqual(c2.options.startPort, 123); XCTAssertEqual(c2.options.endPort, 321); XCTAssertEqual(c2.options.tcpPort, 777); XCTAssertTrue(c2.options.holePunchingEnabled); XCTAssertEqualObjects(c2.importToxSaveFromPath, @"save.tox"); XCTAssertFalse(c2.useFauxOfflineMessaging); } @end