lib/briar/email.rb in briar-0.0.5 vs lib/briar/email.rb in briar-0.0.6

- old
+ new

@@ -1,58 +1,73 @@ require 'calabash-cucumber' module Briar module Email - def email_body_first_line_is? (text) + + def email_body + query("view:'MFComposeTextContentView'", :text) + end + + def email_body_contains? (text) if gestalt.is_ios6? - puts "WARN: cannot test for email body text on iOS 6 - see https://groups.google.com/d/topic/calabash-ios/Ff3XFsjp-B0/discussion" + puts 'WARN: cannot test for email body text on iOS 6 - see https://groups.google.com/d/topic/calabash-ios/Ff3XFsjp-B0/discussion' else - actual_tokens = query("view:'MFComposeTextContentView'", :text).first.split("\n") - actual_tokens.include?(text) + !query("view:'MFComposeTextContentView' {text LIKE '*#{text}*'}").empty? end end + def email_subject + query("view:'MFComposeSubjectView'", :text).first + end + def email_subject_is? (text) if gestalt.is_ios6? - puts "WARN: cannot test for email subject text on iOS 6 - see https://groups.google.com/d/topic/calabash-ios/Ff3XFsjp-B0/discussion" + puts 'WARN: cannot test for email subject text on iOS 6 - see https://groups.google.com/d/topic/calabash-ios/Ff3XFsjp-B0/discussion' else - actual = query("view marked:'subjectField'", :text) - actual.length == 1 && actual.first.eql?(text) + email_subject.eql? text end end def email_subject_has_text_like? (text) if gestalt.is_ios6? - puts "WARN: cannot test for email subject text on iOS 6 - see https://groups.google.com/d/topic/calabash-ios/Ff3XFsjp-B0/discussion" + puts 'WARN: cannot test for email subject text on iOS 6 - see https://groups.google.com/d/topic/calabash-ios/Ff3XFsjp-B0/discussion' else - !query("view marked:'subjectField' {text LIKE '*#{text}*'}").empty? + !query("view:'MFComposeSubjectView' {text LIKE '*#{text}*'}").empty? end end + def email_to + query("view:'_MFMailRecipientTextField'", :text).first + end + def email_to_field_is? (text) if gestalt.is_ios6? puts "WARN: iOS6 detected - cannot test for email 'to' field on iOS simulator or devices" else - actual = query("view marked:'toField'", :text) - actual.length == 1 && actual.first.eql?(text) + email_to.eql? text end end - def is_ios5_mail_view () - query("view:'MFMailComposeRecipientView'").count == 3 - #access_ids = query("view", :accessibilityIdentifier) - #access_ids.member?("toField") || access_ids.member?("subjectField") + def email_to_contains? (address) + addrs = email_to.split(/, ?/) + addrs.include? address end - def is_ios6_mail_view() - access_ids = query("view", :accessibilityIdentifier) - access_ids.member?("RemoteViewBridge") + def is_ios5_mail_view + query("layoutContainerView descendant view:'MFMailComposeView'").count == 1 end + def is_ios6_mail_view + gestalt.is_ios6? + # sometimes this is returning false + # access_ids = query("view", :accessibilityIdentifier) + # access_ids.member?("RemoteViewBridge") + end + def should_see_mail_view wait_for_animation unless is_ios5_mail_view || is_ios6_mail_view - screenshot_and_raise "expected to see email view" + screenshot_and_raise 'expected to see email view' end end end end