# encoding: utf-8 require "spec_helper" describe Lumos::Formatters::Left do context "messages" do it "returns wrapped message" do expect { lumos "Engorgio", position: :left }.to output("# Engorgio\n").to_stdout end it "returns multiline message" do expect { lumos "Coffee has long had a reputation as being unhealthy. But in almost every single respect that reputation is backward. The potential health benefits are surprisingly large.", position: :left }.to output("# Coffee has long had a reputation as being unhealthy. But in almost eve\n# ry single respect that reputation is backward. The potential health be\n# nefits are surprisingly large.\n").to_stdout end it "returns multiline message with defined length" do expect { lumos "Coffee has long had a reputation as being unhealthy. But in almost every single respect that reputation is backward. The potential health benefits are surprisingly large.", position: :left, length: 35 }.to output("# Coffee has long had a reputation as\n# being unhealthy. But in almost eve\n# ry single respect that reputation i\n# s backward. The potential health be\n# nefits are surprisingly large.\n").to_stdout end end context "paddings" do it "returns zero-digit padding message" do expect { lumos "Episkey", position: :left, padding: 0 }.to output("#Episkey\n").to_stdout end it "returns 1-digit padding message" do expect { lumos "Episkey", position: :left, padding: 1 }.to output("# Episkey\n").to_stdout end it "returns 2-digits padding message" do expect { lumos "Episkey", position: :left, padding: 2 }.to output("# Episkey\n").to_stdout end end it "returns delimiter message" do expect { lumos "Ennervate", position: :left, delimiter: "☭" }.to output("☭ Ennervate\n").to_stdout end end