ActionSheetMarginTests.swift 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // ActionSheetMarginTests.swift
  3. // SheeeeeeeeetTests
  4. //
  5. // Created by Daniel Saidi on 2018-10-17.
  6. // Copyright © 2018 Daniel Saidi. All rights reserved.
  7. //
  8. import Quick
  9. import Nimble
  10. @testable import Sheeeeeeeeet
  11. class ActionSheetMarginTests: QuickSpec {
  12. override func spec() {
  13. describe("value in view") {
  14. func value(for margin: ActionSheetMargin) -> CGFloat? {
  15. let view = UIView(frame: .zero)
  16. return margin.value(in: view)
  17. }
  18. it("returns safe area inset value") {
  19. expect(value(for: .top)).to(equal(0))
  20. expect(value(for: .left)).to(equal(0))
  21. expect(value(for: .right)).to(equal(0))
  22. expect(value(for: .bottom)).to(equal(0))
  23. }
  24. }
  25. describe("value with minimum fallback in view") {
  26. func value(for margin: ActionSheetMargin, minimum: CGFloat) -> CGFloat {
  27. let view = UIView(frame: .zero)
  28. return margin.value(in: view, minimum: minimum)
  29. }
  30. it("returns safe area inset if it is greater than minimum value") {
  31. expect(value(for: .top, minimum: -1)).to(equal(0))
  32. expect(value(for: .left, minimum: -1)).to(equal(0))
  33. expect(value(for: .right, minimum: -1)).to(equal(0))
  34. expect(value(for: .bottom, minimum: -1)).to(equal(0))
  35. }
  36. it("returns minimum value if it is greater than safe area insets") {
  37. expect(value(for: .top, minimum: 10)).to(equal(10))
  38. expect(value(for: .left, minimum: 10)).to(equal(10))
  39. expect(value(for: .right, minimum: 10)).to(equal(10))
  40. expect(value(for: .bottom, minimum: 10)).to(equal(10))
  41. }
  42. }
  43. }
  44. }