]> git.saurik.com Git - apple/security.git/blobdiff - protocol/SecProtocolHelperTest.m
Security-59306.11.20.tar.gz
[apple/security.git] / protocol / SecProtocolHelperTest.m
diff --git a/protocol/SecProtocolHelperTest.m b/protocol/SecProtocolHelperTest.m
new file mode 100644 (file)
index 0000000..6b5439c
--- /dev/null
@@ -0,0 +1,35 @@
+//
+//  SecProtocolHelperTest.m
+//  SecProtocol
+//
+
+#import <XCTest/XCTest.h>
+
+#import "SecProtocolInternal.h"
+
+#define DefineTLSCiphersuiteGroupList(XXX, ...) \
+    static const tls_ciphersuite_t list_##XXX[] = { \
+        __VA_ARGS__ \
+    };
+
+// Mirror the internal definition of this ciphersuite group
+DefineTLSCiphersuiteGroupList(tls_ciphersuite_group_default, CiphersuitesTLS13, CiphersuitesPFS);
+
+#undef DefineTLSCiphersuiteGroupList
+
+@interface SecProtocolHelperTest : XCTestCase
+@end
+
+@implementation SecProtocolHelperTest
+
+- (void)testCiphersuiteGroupConversion {
+    size_t ciphersuites_len = 0;
+    const tls_ciphersuite_t *ciphersuites = sec_protocol_helper_ciphersuite_group_to_ciphersuite_list(tls_ciphersuite_group_default, &ciphersuites_len);
+    XCTAssertTrue(ciphersuites != NULL);
+    XCTAssertTrue(ciphersuites_len == (sizeof(list_tls_ciphersuite_group_default) / sizeof(tls_ciphersuite_t)));
+    for (size_t i = 0; i < ciphersuites_len; i++) {
+        XCTAssertTrue(ciphersuites[i] == list_tls_ciphersuite_group_default[i]);
+    }
+}
+
+@end