Sha256: 2f13fe7d96f9c4ddb5c84d8e657a087e3d382e095752824c12a7234e969fbee2

Contents?: true

Size: 1.66 KB

Versions: 4

Compression:

Stored size: 1.66 KB

Contents

GEN_BASE_DIR = File.expand_path(File.dirname(__FILE__))

require "#{GEN_BASE_DIR}/../../qa_observer/lib/doc"
require 'rubygems'
require 'localized_gems'
GemHelpers.update_gem_path "#{GEN_BASE_DIR}/../gems/installed"
require 'faster_csv'
require 'hpricot'
require 'ruby-debug'
require 'fileutils'

module Suite
  # given a base :suite_dir create doc based on
  # suite definition from each yaml within desired :suites
  def self.create_doc(params={})
    raise ArgumentError unless params.has_key?(:suite_dir) && 
                               params.has_key?(:suites)
    
    doc_dir = "#{params[:suite_dir]}/doc"                     
    FileUtils.mkdir_p doc_dir unless File.directory?(doc_dir)
    
    params[:suites].each { |suite|
      csv = []
      
      header = ['Test File', 'Test Method', 'Documentation']
      csv << FasterCSV.generate_line(header)
      
      fd = File.open("#{doc_dir}/#{suite}.csv", 'w+')
      
      Dir.entries("#{params[:suite_dir]}/#{suite}").each { |entry|
        next unless entry =~ /\.yaml$/
        
        suite_cfg = YAML::load_file("#{params[:suite_dir]}/#{suite}/#{entry}")
        
        suite_cfg[:suites].each { |test_class|
          $test_case_dir = "#{GEN_BASE_DIR}/../../qa_observer/sites/#{test_class[:site]}/test_cases"        
          test_class_file = "#{$test_case_dir}/#{test_class[:test_case_file]}"
          
          TCDoc.process_test_class_file(test_class_file).each_pair { |method, doc|
            record = [test_class[:test_case_file], method, doc]
            csv << FasterCSV.generate_line(record)
          }
        }
      }
      fd.puts csv
      fd.close
    }
  end
end
        
        
        
              

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
qa_robusta-0.1.9 common/lib/gen_suite_doc.rb
qa_robusta-0.1.8 common/lib/gen_suite_doc.rb
qa_robusta-0.1.5 common/lib/gen_suite_doc.rb
qa_robusta-0.1.4 common/lib/gen_suite_doc.rb