Sha256: 099aa5fb0814091d7fdd3cfb0b9ca544a8191009caa6ed5ade5b26ef6118d958

Contents?: true

Size: 1.72 KB

Versions: 9

Compression:

Stored size: 1.72 KB

Contents

require 'spec_helper'
require 'sandbox'
require 'sniff/rake_tasks'

describe Sniff::RakeTasks do
  def git(cmd, dir = nil, &blk)
    full_cmd = ''
    full_cmd << "cd #{dir} && " if dir
    full_cmd << "unset GIT_DIR && unset GIT_INDEX_FILE && unset GIT_WORK_TREE && git #{cmd}"
    `#{full_cmd}`
  end

  let(:tasks) { Sniff::RakeTask.new }
  let(:emitter_path) { File.expand_path '../../../', File.dirname(__FILE__) }
  let(:rakefile) do
    rakefile = <<-RAKEFILE
Encoding.default_external = Encoding.find 'UTF-8'

require '#{emitter_path}/lib/sniff/rake_tasks'

Sniff::RakeTasks.define_tasks
    RAKEFILE
  end

  describe '#define' do
    describe 'docs task' do
      it 'should generate docs' do
        Sandbox.play do |path|
          flight_path = File.join(path, 'flight')
          git "clone git://github.com/brighterplanet/flight.git #{flight_path}"
          File.open(File.join(flight_path, 'Rakefile'), 'w') do |f|
            f.puts rakefile
          end

          `cd #{flight_path} && rake docs`
          Dir.entries(File.join(flight_path, 'docs')).
            count.should > 2
        end
      end
    end

    describe 'pages task' do
      it 'should commit any changed doc files' do
        Sandbox.play do |path|
          flight_path = File.join(path, 'flight')
          git "clone git://github.com/brighterplanet/flight.git #{flight_path}"
          File.open(File.join(flight_path, 'Rakefile'), 'w') do |f|
            f.puts rakefile
          end

          `cd #{flight_path} && mkdir docs && echo "<html>" > docs/foobar.html`
          `cd #{flight_path} && NO_PUSH=true rake pages`

          git('log -n 1', File.join(flight_path, 'docs')).
            should =~ /rebuild pages/
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
sniff-0.8.2 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.8.1 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.8.0 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.7.3 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.7.2 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.7.1 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.7.0 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.6.8 spec/lib/sniff/rake_tasks_spec.rb
sniff-0.6.7 spec/lib/sniff/rake_tasks_spec.rb