Sha256: 3b2dd181969b1d1d9c5c7eb5cbc82b7e5859121d62232708d16b33bd30f8154b

Contents?: true

Size: 1.98 KB

Versions: 3

Compression:

Stored size: 1.98 KB

Contents

require 'spec_helper'
require 'fakefs/spec_helpers'

describe Jasmine::Headless::TemplateWriter do
  let(:runner) { stub }
  let(:template_writer) { described_class.new(runner) }

  describe '#all_tests_filename' do
    let(:all_tests_filename) { template_writer.all_tests_filename }

    context 'runner does not care about filename' do
      before do
        runner.stubs(:runner_filename).returns(false)
      end

      it 'should use a specrunner.html file' do
        all_tests_filename.should_not include('tmp')
        all_tests_filename.should include('jhw')
        all_tests_filename.should include('.html')
      end
    end

    context 'runner cares about filename' do
      let(:filename) { 'filename.html' }

      before do
        runner.stubs(:runner_filename).returns(filename)
      end

      it 'should use a specrunner.html file' do
        all_tests_filename.should == filename
      end
    end
  end

  describe '#filtered_tests_filename' do
    before do
      template_writer.stubs(:all_tests_filename).returns("test.html")
    end

    it 'should filter the filename for all tests' do
      template_writer.filtered_tests_filename.should == 'test.filter.html'
    end
  end

  describe '#write!' do
    include FakeFS::SpecHelpers

    before do
      File.stubs(:read).returns(nil)

      runner.stubs(:keep_runner).returns(true)
      runner.stubs(:runner_filename).returns(false)
    end

    let(:files_list) { Jasmine::FilesList.new }

    before do
      files_list.files << 'file.js'
      files_list.filtered_files << 'file.js'
    end

    context 'no filter' do
      it 'should write one file' do
        template_writer.write!(files_list).should == [
          "jhw.#{$$}.html"
        ]
      end
    end

    context 'filtered files' do
      before do
        files_list.files << 'file2.js'
      end

      it 'should write two files' do
        template_writer.write!(files_list).should == [
          "jhw.#{$$}.filter.html", "jhw.#{$$}.html"
        ]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jasmine-headless-webkit-0.7.3.2 spec/lib/jasmine/headless/template_writer_spec.rb
jasmine-headless-webkit-0.7.3.1 spec/lib/jasmine/headless/template_writer_spec.rb
jasmine-headless-webkit-0.7.2 spec/lib/jasmine/headless/template_writer_spec.rb