@@ -111,9 +111,9 @@ def visit_Keyword(self, node):
111
111
112
112
class SeparatorCleaner (ModelTransformer ):
113
113
114
- def __init__ (self , ctx ):
114
+ def __init__ (self , separator_width ):
115
115
self .indent = 0
116
- self .separator = ' ' * ctx . txt_separating_spaces
116
+ self .separator = ' ' * separator_width
117
117
118
118
def visit_TestCase (self , node ):
119
119
self .indent += 1
@@ -155,8 +155,8 @@ def normalize_separator(self, index, token):
155
155
156
156
class ColumnAligner (ModelTransformer ):
157
157
158
- def __init__ (self , ctx , widths ):
159
- self .ctx = ctx
158
+ def __init__ (self , short_test_name_length , widths ):
159
+ self .short_test_name_length = short_test_name_length
160
160
self .widths = widths
161
161
self .test_name_len = 0
162
162
self .indent = 0
@@ -195,8 +195,7 @@ def align_statement(self, statement):
195
195
for token , width in zip (line , widths ):
196
196
exp_pos += width
197
197
if self .should_write_content_after_name (line_pos ):
198
- # FIXME, this hack ony works with indent = 4
199
- exp_pos -= (self .test_name_len - 4 )
198
+ exp_pos -= self .test_name_len
200
199
self .first_statement_after_name_seen = True
201
200
token .value = (exp_pos - line_pos ) * ' ' + token .value
202
201
line_pos += len (token .value )
@@ -213,7 +212,7 @@ def _should_be_indented(self, line):
213
212
214
213
def should_write_content_after_name (self , line_pos ):
215
214
return line_pos == 0 and not self .first_statement_after_name_seen \
216
- and self .test_name_len < self .ctx . short_test_name_length
215
+ and self .test_name_len < self .short_test_name_length
217
216
218
217
219
218
class ColumnWidthCounter (ModelTransformer ):
@@ -239,15 +238,15 @@ def _count_widths_from_statement(self, statement, indent=0):
239
238
240
239
241
240
class Aligner (ModelTransformer ):
242
-
243
- def __init__ (self , ctx ):
244
- self .ctx = ctx
241
+ setting_and_variable_name_length = 14
242
+ short_test_name_length = 18
245
243
246
244
def visit_TestCaseSection (self , section ):
247
245
if len (section .header .data_tokens ) > 1 :
248
246
counter = ColumnWidthCounter ()
249
247
counter .visit (section )
250
- ColumnAligner (self .ctx , counter .widths ).visit (section )
248
+ ColumnAligner (self .short_test_name_length ,
249
+ counter .widths ).visit (section )
251
250
return section
252
251
253
252
def visit_KeywordSection (self , section ):
@@ -262,7 +261,7 @@ def visit_Statement(self, statement):
262
261
first_value = [t for t in line if t .type != Token .SEPARATOR ][0 ]
263
262
value_index = line .index (first_value )
264
263
line [value_index ].value = line [value_index ].value .ljust (
265
- self .ctx . setting_and_variable_name_length )
264
+ self .setting_and_variable_name_length )
266
265
return statement
267
266
268
267
@@ -339,39 +338,3 @@ def visit_ForLoop(self, loop):
339
338
loop .end .tokens [0 ], Token (Token .EOL , '\n ' ))
340
339
self .generic_visit (loop )
341
340
return loop
342
-
343
-
344
- class Formatter (ModelTransformer ):
345
-
346
- def __init__ (self , ctx , row_writer ):
347
- self .ctx = ctx
348
- self .writer = row_writer
349
- self .indent = 0
350
-
351
- def visit_Section (self , section ):
352
- self .generic_visit (section )
353
-
354
- def visit_TestCase (self , node ):
355
- self ._write_name (node .name_tokens )
356
- self .generic_visit (node .body )
357
-
358
- def visit_Keyword (self , node ):
359
- self ._write_name (node .name_tokens )
360
- self .generic_visit (node .body )
361
-
362
- def _write_name (self , name ):
363
- self ._write_statement (name )
364
-
365
- def visit_ForLoop (self , node ):
366
- self ._write_statement (node .header )
367
- self .generic_visit (node .body )
368
- if node .end :
369
- self ._write_statement (node .end )
370
-
371
- def visit_Statement (self , statement ):
372
- self ._write_statement (statement )
373
-
374
- def _write_statement (self , statement ):
375
- for line in statement .lines :
376
- self .writer .write (line )
377
-
0 commit comments