Module: Calabash::Cucumber::EnvironmentHelpers

Included in:
Core, IOS7Operations
Defined in:
lib/calabash-cucumber/environment_helpers.rb

Instance Method Summary collapse

Instance Method Details

#_deprecated(version, msg, type) ⇒ Object

prints a deprecated message that includes the line number

+version+ string indicating when the feature was deprecated
+msg+ deprecation message (possibly suggesting alternatives)
+type+ <tt>{ :warn | :pending }</tt> - <tt>:pending</tt> will raise a
       cucumber pending exception

if ENV == ‘1’ then this method is a nop



148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# File 'lib/calabash-cucumber/environment_helpers.rb', line 148

def _deprecated(version, msg, type)
  allowed = [:pending, :warn]
  unless allowed.include?(type)
    screenshot_and_raise "type '#{type}' must be on of '#{allowed}'"
  end

  unless no_deprecation_warnings?


    if RUBY_VERSION < '2.0'
      stack = Kernel.caller()[1..6].join("\n")
    else
      stack = Kernel.caller(0, 6)[1..-1].join("\n")
    end

    msg = "deprecated '#{version}' - '#{msg}'\n#{stack}"

    if type.eql?(:pending)
      pending(msg)
    else
      # todo deprecated function does not output on a new line when called within cucumber
      # todo should the _deprecated function be colored?
      begin
        warn "\033[34m\nWARN: #{msg}\033[0m"
      rescue
        warn "\nWARN: #{msg}"
      end
    end
  end
end

#debug_logging?Boolean

returns true if the DEBUG is set to 1

Returns:

  • (Boolean)


136
137
138
# File 'lib/calabash-cucumber/environment_helpers.rb', line 136

def debug_logging?
  ENV['DEBUG'] == '1'
end

#default_deviceObject

returns the default Device



31
32
33
34
# File 'lib/calabash-cucumber/environment_helpers.rb', line 31

def default_device
  l = Calabash::Cucumber::Launcher.launcher_if_used
  l && l.device
end

#device_family_iphone?Boolean

returns true if the target device is an iphone or ipod

raises an error if the server cannot be reached

Returns:

  • (Boolean)


60
61
62
# File 'lib/calabash-cucumber/environment_helpers.rb', line 60

def device_family_iphone?
  iphone? or ipod?
end

#full_console_logging?Boolean

returns true if the CALABASH_FULL_CONSOLE_OUTPUT is set to 1

Returns:

  • (Boolean)


131
132
133
# File 'lib/calabash-cucumber/environment_helpers.rb', line 131

def full_console_logging?
  ENV['CALABASH_FULL_CONSOLE_OUTPUT'] == '1'
end

#ios5?Boolean

returns true if the OS major version is 5

raises an error if the server cannot be reached

WARNING: setting the OS env variable will override the value returned

by querying the device

Returns:

  • (Boolean)


91
92
93
# File 'lib/calabash-cucumber/environment_helpers.rb', line 91

def ios5?
  _OS_ENV.eql?(_canonical_os_version(:ios5)) || _default_device_or_create().ios5?
end

#ios6?Boolean

returns true if the OS major version is 6

raises an error if the server cannot be reached

WARNING: setting the OS env variable will override the value returned

by querying the device

Returns:

  • (Boolean)


101
102
103
# File 'lib/calabash-cucumber/environment_helpers.rb', line 101

def ios6?
  _OS_ENV.eql?(_canonical_os_version(:ios6)) || _default_device_or_create().ios6?
end

#ios7?Boolean

returns true if the OS major version is 7

raises an error if the server cannot be reached

WARNING: setting the OS env variable will override the value returned

by querying the device

Returns:

  • (Boolean)


112
113
114
# File 'lib/calabash-cucumber/environment_helpers.rb', line 112

def ios7?
  _OS_ENV.eql?(_canonical_os_version(:ios7)) || _default_device_or_create().ios7?
end

#ipad?Boolean

returns true if the target device is an ipad

raises an error if the server cannot be reached

Returns:

  • (Boolean)


39
40
41
# File 'lib/calabash-cucumber/environment_helpers.rb', line 39

def ipad?
  _default_device_or_create().ipad?
end

#iphone?Boolean

returns true if the target device is an iphone

raises an error if the server cannot be reached

Returns:

  • (Boolean)


46
47
48
# File 'lib/calabash-cucumber/environment_helpers.rb', line 46

def iphone?
  _default_device_or_create().iphone?
end

#iphone_4in?Boolean

returns true if the target device or simulator is a 4in model

raises an error if the server cannot be reached

Returns:

  • (Boolean)


81
82
83
# File 'lib/calabash-cucumber/environment_helpers.rb', line 81

def iphone_4in?
  iphone_5?
end

#iphone_5?Boolean

returns true if the target device or simulator is a 4in model

raises an error if the server cannot be reached

Returns:

  • (Boolean)


74
75
76
# File 'lib/calabash-cucumber/environment_helpers.rb', line 74

def iphone_5?
  _default_device_or_create().iphone_5?
end

#iphone_app_emulated_on_ipad?Boolean

returns true if the app is an iphone app emulated on an ipad

raises an error if the server cannot be reached

Returns:

  • (Boolean)


119
120
121
# File 'lib/calabash-cucumber/environment_helpers.rb', line 119

def iphone_app_emulated_on_ipad?
  _default_device_or_create().iphone_app_emulated_on_ipad?
end

#ipod?Boolean

returns true if the target device is an ipod

raises an error if the server cannot be reached

Returns:

  • (Boolean)


53
54
55
# File 'lib/calabash-cucumber/environment_helpers.rb', line 53

def ipod?
  _default_device_or_create().ipod?
end

#no_deprecation_warnings?Boolean

returns true if the CALABASH_NO_DEPRECATION variable is set to 1

Returns:

  • (Boolean)


125
126
127
# File 'lib/calabash-cucumber/environment_helpers.rb', line 125

def no_deprecation_warnings?
  ENV['CALABASH_NO_DEPRECATION'] == '1'
end

#simulator?Boolean

returns true if the target device is a simulator (not a physical device)

raises an error if the server cannot be reached

Returns:

  • (Boolean)


67
68
69
# File 'lib/calabash-cucumber/environment_helpers.rb', line 67

def simulator?
  _default_device_or_create().simulator?
end

#uia_available?Boolean

returns true if UIAutomation functions are available

UIAutomation is only available if the app has been launched with Instruments

Returns:

  • (Boolean)


13
14
15
# File 'lib/calabash-cucumber/environment_helpers.rb', line 13

def uia_available?
  Calabash::Cucumber::Launcher.instruments?
end

#uia_not_available?Boolean

returns true if UIAutomation functions are not available

UIAutomation is only available if the app has been launched with Instruments

Returns:

  • (Boolean)


21
22
23
# File 'lib/calabash-cucumber/environment_helpers.rb', line 21

def uia_not_available?
  not uia_available?
end

#xamarin_test_cloud?Boolean

returns true if cucumber is running in the test cloud

Returns:

  • (Boolean)


26
27
28
# File 'lib/calabash-cucumber/environment_helpers.rb', line 26

def xamarin_test_cloud?
  ENV['XAMARIN_TEST_CLOUD'] == '1'
end