Class: UICov::Merge
Constant Summary collapse
- DEFAULT_FILENAME =
'merged.uic'- OPTIONS =
{ '--merged-file=FILE' => "File to store merged coverage [default is '#{DEFAULT_FILENAME}']", # '--no-transitions' => 'Do not merge transitions coverage', # '--no-actions ' => 'Do not merge actions coverage', # '--no-checks ' => 'Do not merge checks coverage', # '--no-elements ' => 'Do not merge elements coverage' }
- USAGE_INFO =
‘–no-transitions’ => ‘Do not merge transitions coverage’, ‘–no-actions ’ => ‘Do not merge actions coverage’, ‘–no-checks ’ => ‘Do not merge checks coverage’, ‘–no-elements ’ => ‘Do not merge elements coverage’
%Q^[options] template.uic file1.uic [file2.uic ... fileN.uic] \n\rWhere options are: #{OPTIONS.inject([]){|a, e| a << "\r\t#{e[0]}\t- #{e[1]}"; a}.join("\n")} ^
Constants inherited from Command
Instance Method Summary collapse
- #do_job(args) ⇒ Object
-
#initialize ⇒ Merge
constructor
A new instance of Merge.
- #merge(cov_files) ⇒ Object
Methods inherited from Command
Constructor Details
#initialize ⇒ Merge
20 21 22 |
# File 'lib/uicov/commands/merge.rb', line 20 def initialize @merged_file = DEFAULT_FILENAME end |
Instance Method Details
#do_job(args) ⇒ Object
24 25 26 27 28 29 |
# File 'lib/uicov/commands/merge.rb', line 24 def do_job(args) usage 'Missed coverage file', USAGE_INFO if args.empty? cov_files = process_args args merge(cov_files) @merged.save(@merged_file) end |
#merge(cov_files) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/uicov/commands/merge.rb', line 31 def merge(cov_files) Log.warn 'Only one file is given. Nothing to merge.' if cov_files.size == 1 @merged = CovData.load cov_files[0] cov_files[1..-1].each do |cov_file| @cd = CovData.load cov_file @cd.screens.each do |name, screen_data| msd = @merged.screens[name] if msd.nil? @merged.screens[name] = screen_data.dup else merge_screen_data msd, screen_data end end @merged.input_files.merge! @cd.input_files end return @merged end |