def test_break_between_words(self):
     assert unshift_line('test\nabc', self.measure, 10) == {
         'text': 'test',
         'remainder': 'abc',
     }
     assert unshift_line('123\n567890', self.measure, 6) == {
         'text': '123',
         'remainder': '567890',
     }
    def test_prefer_space_breaks(self):

        assert unshift_line('123 56789', self.measure, 6) == {
            'text': '123 ',
            'remainder': '56789',
        }
        assert unshift_line('123 56 890', self.measure, 6) == {
            'text': '123 56 ',
            'remainder': '890',
        }
 def test_trailing_newline(self):
     assert unshift_line('test\n', self.measure, 10) == {
         'text': 'test',
         'remainder': '',
     }
 def test_single_character_length_0(self):
     assert unshift_line('t', self.measure, 0) == {
         'text': 't',
         'remainder': '',
     }
 def test_break_midword_length_0(self):
     assert unshift_line('test', self.measure, 0) == {
         'text': 't',
         'remainder': 'est',
     }
 def test_break_midword(self):
     assert unshift_line('123456789', self.measure, 8) == {
         'text': '12345678',
         'remainder': '9',
     }