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