Sha256: efed335274aad26d643c28f2d784cd8a83c27178997a04e477a50acb10d093d1

Contents?: true

Size: 1.63 KB

Versions: 85

Compression:

Stored size: 1.63 KB

Contents

require 'cucumber/formatter/pretty'

module Cucumber
  module Cli
    class LanguageHelpFormatter < Formatter::Pretty
      INCOMPLETE = %{
The Cucumber grammar has evolved since this translation was written.
Please help us complete the translation by translating the missing words in

#{Cucumber::LANGUAGE_FILE}

Then contribute back to the Cucumber project. Details here:
http://wiki.github.com/aslakhellesoy/cucumber/spoken-languages
}

      def self.list_languages(io)
        raw = Cucumber::LANGUAGES.keys.sort.map do |lang|
          [lang, Cucumber::LANGUAGES[lang]['name'], Cucumber::LANGUAGES[lang]['native']]
        end
        table = Ast::Table.new(raw)
        new(nil, io, {:check_lang=>true}, '').visit_multiline_arg(table)
      end

      def self.list_keywords(io, lang)
        raw = Cucumber::KEYWORD_KEYS.map do |key|
          [key, Cucumber::LANGUAGES[lang][key]]
        end
        table = Ast::Table.new(raw)
        new(nil, io, {:incomplete => Cucumber.language_incomplete?(lang)}, '').visit_multiline_arg(table)
      end

      def visit_multiline_arg(table)
        if @options[:incomplete]
          @io.puts(format_string(INCOMPLETE, :failed))
        end
        super
      end

      def visit_table_row(table_row)
        @col = 1
        super
      end

      def visit_table_cell_value(value, width, status)
        if @col == 1
          if(@options[:check_lang])
            @incomplete = Cucumber.language_incomplete?(value)
          end
          status = :comment 
        elsif @incomplete
          status = :undefined
        end
        
        @col += 1
        super(value, width, status)
      end
    end
  end
end

Version data entries

85 entries across 85 versions & 8 rubygems

Version Path
aslakhellesoy-cucumber-0.1.100.1 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.1.100.2 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.1.100.3 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.1.100.4 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.1.100.5 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.0.1 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.0.2 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.0.3 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.0.4 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.0 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.1 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.2.1 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.2.2 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.2 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.3.1 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.3.2 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.3.3 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.3.4 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.2.3 lib/cucumber/cli/language_help_formatter.rb
aslakhellesoy-cucumber-0.3.0.1 lib/cucumber/cli/language_help_formatter.rb