Sha256: d3317c4be41cf73f98604264d98f195c8f2ebfc3d1d87e39f6bc0cf8752604c5

Contents?: true

Size: 1.88 KB

Versions: 40

Compression:

Stored size: 1.88 KB

Contents

require File.join(File.dirname(__FILE__), '..', 'spec_helper')

describe Redcar::Runnables::OutputProcessor do
  before do
    @processor = Redcar::Runnables::OutputProcessor.new
  end
  
  def processed
    @processor.process(@input)
  end

  it "should htmlize output" do
    @input = "Some text with & and <tags/>"
    processed.should == "Some text with &amp; and &lt;tags/>"
    
    @input = "  Some indenting"
    processed.should == "&nbsp;&nbsp;Some indenting"
  end

  it "should convert ANSI colors to span classes" do
    @input = "Some \e[31mred\e[0m text."
    processed.should == 'Some <span class="ansi-red">red</span> text.'
  end

  it "should convert ANSI bold to span class" do
    @input = "Some \e[1;31mbold red\e[0m text."
    processed.should == 'Some <span class="ansi-bold ansi-red">bold red</span> text.'
  end

  it "should include ANSI light variants" do
    @input = "Some \e[93mlight yellow\e[0m text."
    processed.should == 'Some <span class="ansi-light ansi-yellow">light yellow</span> text.'
  end

  it "should close out all spans on ANSI 0m" do
    @input = "Some \e[1;32mbold green\e[0;32mregular green\e[0m"
    processed.should == 'Some <span class="ansi-bold ansi-green">bold green<span class="ansi-regular ansi-green">regular green</span></span>'
  end

  it "should close out all spans at then end of the line" do
    @input = "Some \e[34mblue text"
    processed.should == 'Some <span class="ansi-blue">blue text</span>'
  end

  it "should continue color in next line" do
    @input = "Some \e[34mblue text"
    processed
    @input = "that spans lines\e[0m"
    processed.should == '<span class="ansi-blue">that spans lines</span>'
  end

  it "should separate HTML output's head and body" do
    # This is a planned feature but will get implemented in another branch.
    # The intention is to somehow handle cucumbers --format html for interactive
    # runnable output.
  end
end

Version data entries

40 entries across 40 versions & 2 rubygems

Version Path
redcar-dev-0.12.17dev plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.16dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.15dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.14dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.13dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.12dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.11dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.10dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.9dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.8dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.7dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.6dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.4dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.3dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.1dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-dev-0.12.0dev-java plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-0.11 plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-0.11.0dev plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-0.10 plugins/runnables/spec/runnables/output_processor_spec.rb
redcar-0.9.2 plugins/runnables/spec/runnables/output_processor_spec.rb