require_relative '../spec_helper' module LovelyRufus describe OneLetterGluer do describe '#call' do it 'replaces spaces after one-letter words with non-break spaces' do text = 'I go crazy when I hear a cymbal and a hi-hat' glue = 'I go crazy when I hear a cymbal and a hi-hat' olg = OneLetterGluer.new olg.call(Wrap[text, width: 42]).must_equal Wrap[glue, width: 42] end it 'glues subsequent one-letter words' do text = 'one-letter words in English: a, I & o' glue = 'one-letter words in English: a, I & o' olg = OneLetterGluer.new olg.call(Wrap[text, width: 42]).must_equal Wrap[glue, width: 42] end it 'passes the fixed text to the next layer and returns its outcome' do final = fake :wrap layer = fake :layer mock(layer).call(Wrap['I O U', width: 69]) { final } OneLetterGluer.new(layer).call(Wrap['I O U', width: 69]).must_equal final end end end end