PDFPasswordTests.swift 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. //
  2. // PDFPasswordTests.swift
  3. // PDFGenerator
  4. //
  5. // Created by Suguru Kishimoto on 7/23/16.
  6. //
  7. //
  8. import XCTest
  9. @testable import PDFGenerator
  10. class PDFPasswordTests: XCTestCase {
  11. func test() {
  12. let p1: PDFPassword = "123456"
  13. XCTAssertEqual(p1.userPassword, "123456")
  14. XCTAssertEqual(p1.ownerPassword, "123456")
  15. do {
  16. try p1.verify()
  17. } catch _ {
  18. XCTFail()
  19. }
  20. let p2: PDFPassword = PDFPassword(user: "123456", owner: "abcdef")
  21. XCTAssertNotEqual(p2.userPassword, p2.ownerPassword)
  22. do {
  23. try p2.verify()
  24. } catch _ {
  25. XCTFail()
  26. }
  27. let p3: PDFPassword = PDFPassword(user: "ああああ", owner: "abcdef")
  28. do {
  29. try p3.verify()
  30. XCTFail()
  31. } catch PDFGenerateError.invalidPassword(let password) {
  32. XCTAssertEqual(p3.userPassword, password)
  33. } catch _ {
  34. XCTFail()
  35. }
  36. let p4: PDFPassword = PDFPassword(user: "123456", owner: "ああああ")
  37. do {
  38. try p4.verify()
  39. XCTFail()
  40. } catch PDFGenerateError.invalidPassword(let password) {
  41. XCTAssertEqual(p4.ownerPassword, password)
  42. } catch _ {
  43. XCTFail()
  44. }
  45. let p5: PDFPassword = PDFPassword(user: "1234567890123456789012345678901234567890", owner: "abcdef")
  46. do {
  47. try p5.verify()
  48. XCTFail()
  49. } catch PDFGenerateError.tooLongPassword(let length) {
  50. XCTAssertEqual(p5.userPassword.characters.count, length)
  51. } catch _ {
  52. XCTFail()
  53. }
  54. let p6: PDFPassword = PDFPassword(user: "123456", owner: "abcdefghijabcdefghijabcdefghijabcdefghij")
  55. do {
  56. try p6.verify()
  57. XCTFail()
  58. } catch PDFGenerateError.tooLongPassword(let length) {
  59. XCTAssertEqual(p6.ownerPassword.characters.count, length)
  60. } catch _ {
  61. XCTFail()
  62. }
  63. }
  64. }