Sha256: cb5395503df8122abd413bf8af1296f73f41049f72ac0cde4e21c443abc07f7f

Contents?: true

Size: 1.05 KB

Versions: 7

Compression:

Stored size: 1.05 KB

Contents

class OpalClosedTtyIO < IO
  include IO::Writable

  def initialize(runner_type, io_type)
    raise "Unknown IO type #{io_type}!" unless [:stdout, :stderr].include?(io_type)
    self.write_proc = case runner_type
                        when :phantom
                          `function(str){callPhantom([#{io_type}, str])}`
                        when :node, :browser
                          # opal io is already node aware, browser works as well, but we can't do anything about puts vs. print with the browser
                          case io_type
                            when :stdout
                              $stdout.write_proc
                            when :stderr
                              $stderr.write_proc
                          end
                        else
                          raise "Unknown runner type #{runner_type}"
                      end
    @tty = true
  end

  # We're deferring to stdout here, which doesn't need to be closed, but RSpec::BaseTextFormatter doesn't know that, so override this
  def closed?
    true
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
opal-rspec-0.6.2 opal/opal/rspec/formatter/opal_closed_tty_io.rb
opal-rspec-0.6.1 opal/opal/rspec/formatter/opal_closed_tty_io.rb
opal-rspec-0.6.0 opal/opal/rspec/formatter/opal_closed_tty_io.rb
opal-rspec-0.6.0.beta1 opal/opal/rspec/formatter/opal_closed_tty_io.rb
opal-connect-rspec-0.5.0 opal/opal/rspec/formatter/opal_closed_tty_io.rb
opal-rspec-0.5.0 opal/opal/rspec/formatter/opal_closed_tty_io.rb
opal-rspec-0.5.0.beta3 opal/opal/rspec/formatter/opal_closed_tty_io.rb