class Test::Unit::Color - test-unit: Ruby Standard Library Documentation

# class Test::Unit::Color

### Constants

NAMES

### Attributes

name[R]

### Public Class Methods

new(name, options={}) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 28
    def initialize(name, options={})
      @name = name
      if options.has_key?(:foreground)
        if options[:foreground].nil?
          @background = false
        else
          @background = !options[:foreground]
        end
      else
        @background = options[:background]
      end
      @intensity = options[:intensity]
      @bold = options[:bold]
      @italic = options[:italic]
      @underline = options[:underline]
    end

parse_256_color(string) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 11
    def parse_256_color(string)
      case string
      when /\A([0-5])([0-5])([0-5])\z/
        red, green, blue = $1, $2, $3
        red.to_i * 36 + green.to_i * 6 + blue.to_i + 16
      else
        message = "must be 'RGB' format and R, G and B " +
          "are in 0-5: #{string.inspect}"
        raise ParseError, message
      end
    end

### Public Instance Methods

+(other) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 104
    def +(other)
      MixColor.new([self, other])
    end

==(other) click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 69
    def ==(other)
      self.class === other and
        [name, background?, intensity?,
         bold?, italic?, underline?] ==
        [other.name, other.background?, other.intensity?,
         other.bold?, other.italic?, other.underline?]
    end

background?() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 49
    def background?
      @background
    end

bold?() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 57
    def bold?
      @bold
    end

escape_sequence() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 100
    def escape_sequence
      "\e[#{sequence.join(';')}m"
    end

foreground?() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 45
    def foreground?
      not background?
    end

intensity?() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 53
    def intensity?
      @intensity
    end

italic?() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 61
    def italic?
      @italic
    end

sequence() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 77
    def sequence
      sequence = []
      if @name == "none"
      elsif @name == "reset"
        sequence << "0"
      else
        if NAMES.include?(@name)
          color_parameter = foreground? ? 3 : 4
          color_parameter += 6 if intensity?
          color = NAMES.index(@name)
          sequence << "#{color_parameter}#{color}"
        else
          sequence << (foreground? ? "38" : "48")
          sequence << "5"
          sequence << self.class.parse_256_color(@name).to_s
        end
      end
      sequence << "1" if bold?
      sequence << "3" if italic?
      sequence << "4" if underline?
      sequence
    end

underline?() click to toggle source

    # File test-unit-3.6.7/lib/test/unit/color.rb, line 65
    def underline?
      @underline
    end