Sha256: ab0b2a7eb1b09af7ae3dd15b39df6bb55ea17aa93f27b3a2c5a4a226788336e4

Contents?: true

Size: 1.95 KB

Versions: 4

Compression:

Stored size: 1.95 KB

Contents

require 'spec_helper'
require 'fakefs/spec_helpers'
require 'jasmine/headless/runner'

describe Jasmine::Headless::Runner do
  let(:runner) { Jasmine::Headless::Runner.new(options) }
  let(:options) { Jasmine::Headless::Options.new(opts) }

  describe '#initialize' do
    let(:opts) { { :test => 'test', :jasmine_config => nil } }

    it 'should have default options' do
      runner.options[:test].should == 'test'
      runner.options[:jasmine_config].should == 'spec/javascripts/support/jasmine.yml'
    end
  end

  describe '#load_config' do
    include FakeFS::SpecHelpers

    let(:opts) { { :jasmine_config => 'test.yml' } }

    before do
      File.open(Jasmine::Headless::Runner::RUNNER, 'w')
      File.open('test.yml', 'w') { |fh| fh.print YAML.dump('test' => 'hello') }
    end

    it 'should load the jasmine config' do
      runner.jasmine_config['test'].should == 'hello'
      runner.jasmine_config['spec_dir'].should == 'spec/javascripts'
    end
  end

  describe '#jasmine_command' do
    let(:opts) { {
      :colors => true,
      :report => 'test'
    } }

    it 'should have the right options' do
      runner.jasmine_command.should match(/jasmine-webkit-specrunner/)
      runner.jasmine_command.should match(/-c/)
      runner.jasmine_command.should match(/-r test/)
      runner.jasmine_command('file.js').should match(/file.js/)
    end
  end

  context 'real tests' do
    let(:report) { 'spec/report.txt' }

    before do
      FileUtils.rm_f report
    end

    after do
      FileUtils.rm_f report
    end

    it 'should succeed with error code 0' do
      Jasmine::Headless::Runner.run(
        :jasmine_config => 'spec/jasmine/success/success.yml',
        :report => report
      ).should == 0

      report.should be_a_report_containing(1, 0, false)
    end

    it 'should succeed but with javascript error' do
      Jasmine::Headless::Runner.run(:jasmine_config => 'spec/jasmine/success_with_error/success_with_error.yml').should == 1
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jasmine-headless-webkit-0.5.0 spec/lib/jasmine/headless/runner_spec.rb
jasmine-headless-webkit-0.4.2 spec/lib/jasmine/headless/runner_spec.rb
jasmine-headless-webkit-0.4.1 spec/lib/jasmine/headless/runner_spec.rb
jasmine-headless-webkit-0.4.0 spec/lib/jasmine/headless/runner_spec.rb