Sha256: 760f03d2764dd99655a2e1be8abb2a0babd23ebb6bade3dae1117a082d5a1146
Contents?: true
Size: 1.72 KB
Versions: 2
Compression:
Stored size: 1.72 KB
Contents
require 'test_helper' require 'rvm2/ui/multi' describe Rvm2::Ui::Multi do before do @stdout = StringIO.new @stderr = StringIO.new end subject do ui = Rvm2::Ui::Multi.new ui.add(:console, @stdout, @stderr) ui.add(:fake) ui end it "removes handlers" do subject.remove subject.handlers.map{|h| h.class.name }.must_equal(["Rvm2::Ui::Output::Console"]) end it "supports multiple outputs" do subject.handlers.map{|h| h.class.name }.must_equal(["Rvm2::Ui::Output::Console", "Rvm2::Ui::Output::Fake"]) end it "handles commands" do subject.command("test true" ){ true }.must_equal(true) subject.command("test false"){ false }.must_equal(false) @stdout.string.must_equal(<<-EXPECTED) [ ] test true\r[v] test true [ ] test false\r[x] test false EXPECTED subject.handlers[1].root.list.map(&:message).must_equal(["test true", "test false"]) end it "handles log" do subject.log("test log") @stdout.string.must_equal(<<-EXPECTED) test log EXPECTED subject.handlers[1].root.list.map(&:message).must_equal(["test log"]) end it "supports outputs" do subject.stdout.write("test stdout") subject.stderr.write("test stderr") @stdout.string.must_equal("test stdout") @stderr.string.must_equal("test stderr") subject.handlers[1].root.list.map(&:message).must_equal(["test stdout", "test stderr"]) subject.handlers[1].root.list.map(&:type).must_equal([:stdout, :stderr]) end it "handles temporary adding of a log" do subject.handlers.count.must_equal(2) subject.with(:fake) do subject.handlers.count.must_equal(3) subject.handlers[2].class.name.must_equal("Rvm2::Ui::Output::Fake") end subject.handlers.count.must_equal(2) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rvm2-ui-0.9.1 | test/rvm2/ui/multi_test.rb |
rvm2-ui-0.9.0 | test/rvm2/ui/multi_test.rb |