Sha256: 1ddc873ebb730b1690647d6783d2c51461201d5234b60199cd126a4895e8f11d

Contents?: true

Size: 940 Bytes

Versions: 8

Compression:

Stored size: 940 Bytes

Contents

require 'multi_json'
require 'erb'
require 'tempfile'

module Jasmine::Headless
  class TemplateWriter
    attr_reader :runner

    def initialize(runner)
      @runner = runner
    end

    def write!(files_list)
      output = [
        [ all_tests_filename, files_list.files_to_html ]
      ]

      output.unshift([filtered_tests_filename , files_list.filtered_files_to_html ]) if files_list.filtered?

      output.each do |name, files|
        File.open(name, 'w') { |fh| fh.print template_for(files, files_list.spec_file_line_numbers) }
      end

      output.collect(&:first)
    end

    def all_tests_filename
      runner.runner_filename || "jhw.#{$$}.html"
    end

    def filtered_tests_filename
      all_tests_filename.gsub(%r{\.html$}, '.filter.html')
    end

    private
    def template_for(files, spec_lines)
      ERB.new(Jasmine::Headless.root.join('skel/template.html.erb').read).result(binding)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
jasmine-headless-webkit-0.8.4 lib/jasmine/headless/template_writer.rb
jasmine-headless-webkit-0.8.3 lib/jasmine/headless/template_writer.rb
jasmine-headless-webkit-0.8.1 lib/jasmine/headless/template_writer.rb
jasmine-headless-webkit-0.8.0 lib/jasmine/headless/template_writer.rb
jasmine-headless-webkit-0.8.0.alpha.1 lib/jasmine/headless/template_writer.rb
jasmine-headless-webkit-0.7.3.2 lib/jasmine/headless/template_writer.rb
jasmine-headless-webkit-0.7.3.1 lib/jasmine/headless/template_writer.rb
jasmine-headless-webkit-0.7.2 lib/jasmine/headless/template_writer.rb