Class: XCTasks::TestTask::Subtask

Inherits:
Object
  • Object
show all
Extended by:
Configuration::Delegations
Includes:
Rake::DSL
Defined in:
lib/xctasks/test_task.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Configuration::Delegations

extended

Constructor Details

#initialize(name_options, config) ⇒ Subtask

Returns a new instance of Subtask.



197
198
199
200
201
# File 'lib/xctasks/test_task.rb', line 197

def initialize(name_options, config)
  @config = config.dup
  self.name = name_options.kind_of?(Hash) ? name_options.keys.first : name_options.to_s
  self.scheme = name_options.values.first if name_options.kind_of?(Hash)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



195
196
197
# File 'lib/xctasks/test_task.rb', line 195

def config
  @config
end

#nameObject

Returns the value of attribute name.



195
196
197
# File 'lib/xctasks/test_task.rb', line 195

def name
  @name
end

Instance Method Details

#define_rake_tasksObject



207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/xctasks/test_task.rb', line 207

def define_rake_tasks
  @config.validate!

  if namespaced?
    namespace(name) do
      ios_versions.each do |ios_version|
        desc "Run #{name} tests against iOS Simulator #{ios_version} SDK"
        task ios_version => :prepare do
          run_tests(ios_version: ios_version)
        end
      end
    end

    desc "Run #{name} tests against iOS Simulator #{ios_versions.join(', ')}"
    task name => ios_versions.map { |ios_version| "#{name}:#{ios_version}" }
  else
    desc "Run #{name} tests"
    task self.name => :prepare do
      run_tests
    end
  end
end

#prepareObject



230
231
232
# File 'lib/xctasks/test_task.rb', line 230

def prepare
  write_environment_variables_to_scheme
end