class Robottler
Public Instance Methods
call()
click to toggle source
add spoon tests to project
# File lib/robottler.rb, line 44 def call() name = eclipse? ? "eclipse" : "gradle" if eclipse? puts "Eclipse support not implemented yet." return end str = "Hello, #{name}!" puts "=================#{str}=================" puts __FILE__ root_dir = File.expand_path("../..", __FILE__) puts '' puts '' puts 'creating tests' begin content = File.read("./AndroidManifest.xml") @doc = Nokogiri::XML(content) app_package = @doc.xpath("//manifest").attribute('package') puts "App package #{app_package}" activities = @doc.xpath("//activity") if activities.size > 0 filename = "#{root_dir}/templates/class.erb.java" erb = ERB.new(File.read(filename)) directory_name = "../androidTest" if File.exists?(directory_name) puts "Skip creating instumentation testrunner, already exists" else puts "Creating instumentation testrunner" puts "create directory #{directory_name}" test_runner_package = "java/au/com/jtribe/testing" FileUtils.mkdir_p("#{directory_name}/#{test_runner_package}") FileUtils.cp("#{root_dir}/templates/class_test_runner.java", "#{directory_name}/#{test_runner_package}/WakeUpInstrumentationTestRunner.java") end end puts "\nAdd these permissions to your debug manifest." puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" puts "!!!!!!!!!!!!! Don't add them to your release apk !!!!!!!!!!!!!" puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n" puts File.read("#{root_dir}/templates/debug_manifest.xml") puts "\nAdd this to your build.gradle file\n\n" puts File.read("#{root_dir}/templates/build.gradle") activities.each do |a| attribute = a.attribute('name') unless attribute.nil? package = attribute.to_s.gsub(/\w+$/, '').chop! package_dir = package.gsub('.','/') file_path = "#{directory_name}/java/#{package_dir}" FileUtils.mkdir_p(file_path) activity = attribute.to_s.match(/\w+$/) puts "\tfor #{activity}" activity_file_path = "#{file_path}/#{activity}Test.java" if File.exists?(activity_file_path) puts "Test for #{activity} already exist" else r = Renderer.new({ activity: activity, package: package, app_package: app_package}) File.open(activity_file_path, 'w') do |f| f.write r.render(erb) end end end end end rescue Exception => e puts '================ Can\'t find AndroidManifest ================' puts 'Make sure you are in the folder where your AndroidManifest.xml is!' # do some logging raise e # not enough lifeboats ;) end
eclipse=(bool)
click to toggle source
Use for eclipse project
# File lib/robottler.rb, line 17 def eclipse=(bool) @eclipse = bool end
eclipse?()
click to toggle source
# File lib/robottler.rb, line 22 def eclipse? @eclipse end
gradle=(bool)
click to toggle source
Use for gradle project
# File lib/robottler.rb, line 27 def gradle=(bool) @gradle = bool end
gradle?()
click to toggle source
# File lib/robottler.rb, line 32 def gradle? @gradle end
help!()
click to toggle source
Show this message.
# File lib/robottler.rb, line 37 def help! cli.show_help exit end
Also aliased as: h!