@@ -68,29 +68,42 @@ def test_config_file(tmpdir, workspace):
68
68
def test_line_endings (workspace , newline ):
69
69
doc = Document (DOC_URI , workspace , f'import os;import sys{ 2 * newline } dict(a=1)' )
70
70
res = pylsp_format_document (doc )
71
-
71
+
72
72
assert apply_text_edits (doc , res ) == f'import os{ newline } import sys{ 2 * newline } dict(a=1){ newline } '
73
73
74
74
75
75
def test_format_with_tab_size_option (workspace ):
76
76
doc = Document (DOC_URI , workspace , FOUR_SPACE_DOC )
77
77
res = pylsp_format_document (doc , {"tabSize" : "8" })
78
78
79
- assert len (res ) == 1
80
- assert res [0 ]['newText' ] == FOUR_SPACE_DOC .replace (" " , " " )
79
+ assert apply_text_edits (doc , res ) == FOUR_SPACE_DOC .replace (" " , " " )
81
80
82
81
83
82
def test_format_with_insert_spaces_option (workspace ):
84
83
doc = Document (DOC_URI , workspace , FOUR_SPACE_DOC )
85
84
res = pylsp_format_document (doc , {"insertSpaces" : False })
86
85
87
- assert len (res ) == 1
88
- assert res [0 ]['newText' ] == FOUR_SPACE_DOC .replace (" " , "\t " )
86
+ assert apply_text_edits (doc , res ) == FOUR_SPACE_DOC .replace (" " , "\t " )
89
87
90
88
91
89
def test_format_with_yapf_specific_option (workspace ):
92
90
doc = Document (DOC_URI , workspace , FOUR_SPACE_DOC )
93
91
res = pylsp_format_document (doc , {"USE_TABS" : True })
94
92
95
- assert len (res ) == 1
96
- assert res [0 ]['newText' ] == FOUR_SPACE_DOC .replace (" " , "\t " )
93
+ assert apply_text_edits (doc , res ) == FOUR_SPACE_DOC .replace (" " , "\t " )
94
+
95
+ def test_format_returns_text_edit_per_line (workspace ):
96
+ single_space_indent = """def wow():
97
+ print("x")
98
+ print("hi")"""
99
+ doc = Document (DOC_URI , workspace , single_space_indent )
100
+ res = pylsp_format_document (doc )
101
+
102
+ # two removes and two adds
103
+ assert len (res ) == 4
104
+ assert res [0 ]['newText' ] == ""
105
+ assert res [1 ]['newText' ] == ""
106
+ assert res [2 ]['newText' ] == " print(\" x\" )\n "
107
+ assert res [3 ]['newText' ] == " print(\" hi\" )\n "
108
+
109
+
0 commit comments