Sha256: 6df5270d0f3565266d617ca75d496edabaafc402a225692231964ce16254f45a

Contents?: true

Size: 1.21 KB

Versions: 3

Compression:

Stored size: 1.21 KB

Contents

namespace :spec do
  def run_cmd(cmd)
    puts "$ #{cmd}"
    unless system(cmd)
      raise "Error executing command: #{cmd}"
    end
  end

  desc "run test with phantomjs"
  task :javascript => :environment do
    Rails.application.config.assets.debug = false
    require 'jasmine_rails/offline_asset_paths'
    if Rails::VERSION::MAJOR == 4
      Sprockets::Rails::Helper.send :include, JasmineRails::OfflineAssetPaths
    else
      ActionView::AssetPaths.send :include, JasmineRails::OfflineAssetPaths
    end
    spec_filter = ENV['SPEC']
    app = ActionController::Integration::Session.new(Rails.application)
    path = JasmineRails.route_path
    app.get path, :console => 'true', :spec => spec_filter
    JasmineRails::OfflineAssetPaths.disabled = true
    raise "Jasmine runner at '#{path}' returned a #{app.response.status} error: #{app.response.message}" unless app.response.success?
    html = app.response.body
    runner_path = Rails.root.join('spec/tmp/runner.html')
    File.open(runner_path, 'w') {|f| f << html.gsub('/assets', './assets')}

    run_cmd %{phantomjs "#{File.join(File.dirname(__FILE__), 'runner.js')}" "file://#{runner_path.to_s}?spec=#{spec_filter}"}
  end

  # alias
  task :javascripts => :javascript
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jasmine-rails-0.4.5 lib/tasks/jasmine-rails_tasks.rake
jasmine-rails-0.4.4 lib/tasks/jasmine-rails_tasks.rake
jasmine-rails-0.4.3 lib/tasks/jasmine-rails_tasks.rake