require 'fontlike' INPUT = "What do you think, mr fancy pants?" describe Fontlike::Transmuter do let(:transmuter) { Fontlike::Transmuter.new(opts) } let(:opts) { {} } let(:output) { transmuter.transmute(INPUT) } describe 'with fancy flag' do let(:opts) { { fancy: true } } it 'outputs some fancy text' do expect(output).to eq("𝓦𝓱π“ͺ𝓽 𝓭𝓸 𝔂𝓸𝓾 𝓽𝓱𝓲𝓷𝓴, 𝓢𝓻 𝓯π“ͺ𝓷𝓬𝔂 𝓹π“ͺ𝓷𝓽𝓼?") end end describe 'with shout flag' do let(:opts) { { shout: true } } it 'outputs some shout text' do expect(output).to eq("WHAT DO YOU THINK, MR FANCY PANTS?") end end describe 'with mono flag' do let(:opts) { { mono: true } } it 'outputs some mono text' do expect(output).to eq("πš†πš‘πšŠπš 𝚍𝚘 𝚒𝚘𝚞 πšπš‘πš’πš—πš”, πš–πš› πšπšŠπš—πšŒπš’ πš™πšŠπš—πšπšœ?") end end describe 'with sans_serif flag' do let(:opts) { { sans_serif: true } } it 'outputs some sans_serif text' do expect(output).to eq("𝖢𝗁𝖺𝗍 π–½π—ˆ π—’π—ˆπ—Ž 𝗍𝗁𝗂𝗇𝗄, 𝗆𝗋 𝖿𝖺𝗇𝖼𝗒 π—‰π–Ίπ—‡π—π—Œ?") end end describe 'with double_struck flag' do let(:opts) { { double_struck: true } } it 'outputs some double_struck text' do expect(output).to eq("π•Žπ•™π•’π•₯ 𝕕𝕠 π•ͺ𝕠𝕦 π•₯π•™π•šπ•Ÿπ•œ, π•žπ•£ π•—π•’π•Ÿπ•”π•ͺ π•‘π•’π•Ÿπ•₯𝕀?") end end describe 'with no flag' do it 'outputs some double_struck text' do expect(output).to eq("π•Žπ•™π•’π•₯ 𝕕𝕠 π•ͺ𝕠𝕦 π•₯π•™π•šπ•Ÿπ•œ, π•žπ•£ π•—π•’π•Ÿπ•”π•ͺ π•‘π•’π•Ÿπ•₯𝕀?") end end end