spec/terminal_spec.rb in command_kit-0.1.0 vs spec/terminal_spec.rb in command_kit-0.2.0
- old
+ new
@@ -41,9 +41,39 @@
expect(subject.terminal?).to be(false)
end
end
end
+ describe "#tty?" do
+ context "when stdout is connected to a TTY" do
+ subject { command_class.new(stdout: STDOUT) }
+
+ it do
+ skip "STDOUT is not a TTY" unless STDOUT.tty?
+
+ expect(subject.tty?).to be(true)
+ end
+ end
+
+ context "when stdout is not connected to a TTY" do
+ subject { command_class.new(stdout: StringIO.new) }
+
+ it do
+ expect(subject.tty?).to be(false)
+ end
+ end
+
+ context "when IO.console is missing" do
+ before do
+ expect(IO).to receive(:respond_to?).with(:console).and_return(false)
+ end
+
+ it do
+ expect(subject.tty?).to be(false)
+ end
+ end
+ end
+
describe "#terminal" do
context "when stdout is connected to a TTY" do
subject { command_class.new(stdout: STDOUT) }
it do