From 0bbc860b6fc71ba0d127ae3ddff6389f9aad43c1 Mon Sep 17 00:00:00 2001 From: Sergey Abramchuk Date: Sat, 22 Apr 2017 22:36:23 +0300 Subject: [PATCH] Early exit if settings is nil and use short format for nil checking --- OpenVPN Adapter Tests/OpenVPNConfigurationTests.swift | 10 ++-------- OpenVPN Adapter/OpenVPNConfiguration.mm | 6 +++++- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/OpenVPN Adapter Tests/OpenVPNConfigurationTests.swift b/OpenVPN Adapter Tests/OpenVPNConfigurationTests.swift index 8117c64..f29cafb 100644 --- a/OpenVPN Adapter Tests/OpenVPNConfigurationTests.swift +++ b/OpenVPN Adapter Tests/OpenVPNConfigurationTests.swift @@ -75,15 +75,9 @@ class OpenVPNConfigurationTests: XCTestCase { configuration.settings = [:] XCTAssert(configuration.settings == nil, "Empty settings should return nil") - } - - func testCreateConfiguration() { - let configuration = OpenVPNConfiguration() - let some = configuration.fileContent - - let test = "Some String".data(using: .utf8) - configuration.fileContent = test + configuration.settings = nil + XCTAssert(configuration.settings == nil, "Empty settings should return nil") } } diff --git a/OpenVPN Adapter/OpenVPNConfiguration.mm b/OpenVPN Adapter/OpenVPNConfiguration.mm index 651a9fe..be9629f 100644 --- a/OpenVPN Adapter/OpenVPNConfiguration.mm +++ b/OpenVPN Adapter/OpenVPNConfiguration.mm @@ -32,7 +32,7 @@ using namespace openvpn; } - (void)setFileContent:(NSData *)fileContent { - _config.content = fileContent != nil ? std::string((const char *)fileContent.bytes) : ""; + _config.content = fileContent ? std::string((const char *)fileContent.bytes) : ""; } - (NSDictionary *)settings { @@ -55,6 +55,10 @@ using namespace openvpn; - (void)setSettings:(NSDictionary *)settings { _config.contentList.clear(); + if (!settings) { + return; + } + [settings enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, NSString * _Nonnull obj, BOOL * _Nonnull stop) { ClientAPI::KeyValue param = ClientAPI::KeyValue(std::string([key UTF8String]), std::string([obj UTF8String])); _config.contentList.push_back(param);