PaddingTests.swift 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. //
  2. // PaddingTests.swift
  3. // CryptoSwift
  4. //
  5. // Created by Marcin Krzyzanowski on 27/12/14.
  6. // Copyright (c) 2014 Marcin Krzyzanowski. All rights reserved.
  7. //
  8. import Foundation
  9. import XCTest
  10. import CryptoSwift
  11. class PaddingTests: XCTestCase {
  12. func testPKCS7_1() {
  13. let input:[Byte] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]
  14. let expected:[Byte] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16]
  15. let padded = PKCS7(data: NSData.withBytes(input)).addPadding(16)
  16. XCTAssertEqual(padded, NSData.withBytes(expected), "PKCS7 failed")
  17. }
  18. func testPKCS7_2() {
  19. let input:[Byte] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5]
  20. let expected:[Byte] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,1]
  21. let padded = PKCS7(data: NSData.withBytes(input)).addPadding(16)
  22. XCTAssertEqual(padded, NSData.withBytes(expected), "PKCS7 failed")
  23. }
  24. func testPKCS7_3() {
  25. let input:[Byte] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4]
  26. let expected:[Byte] = [1,2,3,4,5,6,7,8,9,0,1,2,3,4,2,2]
  27. let padded = PKCS7(data: NSData.withBytes(input)).addPadding(16)
  28. XCTAssertEqual(padded, NSData.withBytes(expected), "PKCS7 failed")
  29. }
  30. }