Class: Test::Unit::Color

### Home Classes Methods

### In Files

- lib/test/unit/color.rb

### Parent

Object

### Namespace

- CLASS Test::Unit::Color::Error
- CLASS Test::Unit::Color::ParseError

### Methods

- ::new
- ::parse_256_color
- #+
- #==
- #background?
- #bold?
- #escape_sequence
- #foreground?
- #intensity?
- #italic?
- #sequence
- #underline?

### Class/Module Index

Quicksearch

- Test
- Test::Unit
- Test::Unit::AssertionFailedError
- Test::Unit::Assertions
- Test::Unit::Attribute
- Test::Unit::Attribute::BaseClassMethods
- Test::Unit::Attribute::ClassMethods
- Test::Unit::Attribute::StringifyKeyHash
- Test::Unit::AttributeMatcher
- Test::Unit::AutoRunner
- Test::Unit::CodeSnippetFetcher
- Test::Unit::Collector
- Test::Unit::Collector::Descendant
- Test::Unit::Collector::Dir
- Test::Unit::Collector::Load
- Test::Unit::Collector::ObjectSpace
- Test::Unit::Collector::XML
- Test::Unit::Collector::XML::Listener
- Test::Unit::Color
- Test::Unit::Color::Error
- Test::Unit::Color::ParseError
- Test::Unit::ColorScheme
- Test::Unit::Data
- Test::Unit::Data::ClassMethods
- Test::Unit::Data::ClassMethods::Loader
- Test::Unit::Diff
- Test::Unit::Diff::Differ
- Test::Unit::Diff::ReadableDiffer
- Test::Unit::Diff::SequenceMatcher
- Test::Unit::Diff::UTF8Line
- Test::Unit::Diff::UnifiedDiffer
- Test::Unit::Error
- Test::Unit::ErrorHandler
- Test::Unit::ExceptionHandler
- Test::Unit::ExceptionHandler::ClassMethods
- Test::Unit::Failure
- Test::Unit::FailureHandler
- Test::Unit::FaultLocationDetector
- Test::Unit::Fixture
- Test::Unit::Fixture::ClassMethods
- Test::Unit::MixColor
- Test::Unit::Notification
- Test::Unit::NotificationHandler
- Test::Unit::NotifiedError
- Test::Unit::NullResultContainerInitializer
- Test::Unit::Omission
- Test::Unit::OmissionHandler
- Test::Unit::OmittedError
- Test::Unit::PendedError
- Test::Unit::Pending
- Test::Unit::PendingHandler
- Test::Unit::Priority
- Test::Unit::Priority::Checker
- Test::Unit::Priority::ClassMethods
- Test::Unit::TestCase
- Test::Unit::TestCase::InternalData
- Test::Unit::TestCaseNotificationSupport
- Test::Unit::TestCaseOmissionSupport
- Test::Unit::TestCasePendingSupport
- Test::Unit::TestResult
- Test::Unit::TestResultErrorSupport
- Test::Unit::TestResultFailureSupport
- Test::Unit::TestResultNotificationSupport
- Test::Unit::TestResultOmissionSupport
- Test::Unit::TestResultPendingSupport
- Test::Unit::TestSuite
- Test::Unit::UI
- Test::Unit::UI::Console
- Test::Unit::UI::Console::ColorizedReadableDiffer
- Test::Unit::UI::Console::OutputLevel
- Test::Unit::UI::Console::TestRunner
- Test::Unit::UI::Emacs
- Test::Unit::UI::Emacs::TestRunner
- Test::Unit::UI::TestRunner
- Test::Unit::UI::TestRunnerMediator
- Test::Unit::UI::TestRunnerUtilities
- Test::Unit::UI::XML
- Test::Unit::UI::XML::TestRunner
- Test::Unit::Util
- Test::Unit::Util::BacktraceFilter
- Test::Unit::Util::MethodOwnerFinder
- Test::Unit::Util::Observable
- Test::Unit::Util::Output
- Test::Unit::Util::ProcWrapper
- Object

No matching classes.

# Test::Unit::Color

### Constants

NAMES

### Attributes

name[R]

### Public Class Methods

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

    # File 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 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 lib/test/unit/color.rb, line 104
    def +(other)
      MixColor.new([self, other])
    end

==(other) click to toggle source

    # File 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 lib/test/unit/color.rb, line 49
    def background?
      @background
    end

bold?() click to toggle source

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

escape_sequence() click to toggle source

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

foreground?() click to toggle source

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

intensity?() click to toggle source

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

italic?() click to toggle source

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

sequence() click to toggle source

    # File 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 lib/test/unit/color.rb, line 65
    def underline?
      @underline
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.