Beispiel #1
0
    def execute(self, textview, sender):
        from editxt.commandbase import Options
        from editxt.wraplines import WrapLinesController, wrap_selected_lines

        opts = Options()
        ctl = WrapLinesController.shared_controller()
        opts.wrap_column = const.DEFAULT_RIGHT_MARGIN
        opts.indent = ctl.opts.indent
        wrap_selected_lines(textview, opts)
Beispiel #2
0
 def test(c):
     m = Mocker()
     opts = "<options>"
     tv = m.mock(TextView)
     ts = tv.textStorage() >> m.mock(NSTextStorage)
     wrap = m.replace(wraplines)
     iterlines = m.replace("editxt.wraplines.iterlines")
     text = tv.string() >> NSString.stringWithString_(c.text)
     sel = (0, len(text)) if c.sel is None else c.sel
     sel = text.lineRangeForRange_(tv.selectedRange() >> sel)
     eol = tv.doc_view.document.eol >> m.mock()
     lines = iterlines(text, sel) >> "<lines>"
     eol.join(wrap(lines, opts, tv) >> [c.result]) >> c.result
     tv.shouldChangeTextInRange_replacementString_(sel, c.result) >> True
     output = []
     def callback(range, text):
         output.append(text)
     expect(ts.replaceCharactersInRange_withString_(sel, c.result)).call(callback)
     tv.didChangeText()
     tv.setSelectedRange_((sel[0], len(c.result)))
     with m:
         wrap_selected_lines(tv, opts)
         eq_(c.result, output[0])