ActionSheet+PresenterTests.swift 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import Quick
  2. import Nimble
  3. @testable import Sheeeeeeeeet
  4. class ActionSheet_PresenterTests: QuickSpec {
  5. override func spec() {
  6. describe("default presenter") {
  7. func getReversedIdiom() -> UIUserInterfaceIdiom {
  8. switch UIDevice.current.userInterfaceIdiom {
  9. case .phone: return .pad
  10. case .pad: return .phone
  11. default: return .unspecified
  12. }
  13. }
  14. it("is default presenter for current idiom") {
  15. let idiom = UIDevice.current.userInterfaceIdiom
  16. let idiomPresenter = idiom.defaultPresenter
  17. let defaultPresenter = ActionSheet.defaultPresenter
  18. let isSameKind = type(of: defaultPresenter) == type(of: idiomPresenter)
  19. expect(isSameKind).to(beTrue())
  20. }
  21. it("is different from other idioms") {
  22. let idiom = getReversedIdiom()
  23. let idiomPresenter = idiom.defaultPresenter
  24. let defaultPresenter = ActionSheet.defaultPresenter
  25. let isSameKind = type(of: defaultPresenter) == type(of: idiomPresenter)
  26. expect(isSameKind).to(beFalse())
  27. }
  28. it("is standard for iPhone") {
  29. let presenter = UIUserInterfaceIdiom.phone.defaultPresenter
  30. expect(presenter is ActionSheetStandardPresenter).to(beTrue())
  31. }
  32. it("is popover for iPad") {
  33. let presenter = UIUserInterfaceIdiom.pad.defaultPresenter
  34. expect(presenter is ActionSheetPopoverPresenter).to(beTrue())
  35. }
  36. }
  37. }
  38. }