tailor 1.0.0.alpha2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. data/.gitignore +1 -0
  2. data/.tailor +10 -2
  3. data/Gemfile.lock +2 -2
  4. data/History.rdoc +20 -0
  5. data/README.rdoc +176 -26
  6. data/features/configurable.feature +19 -39
  7. data/features/horizontal_spacing.feature +3 -2
  8. data/features/indentation.feature +2 -2
  9. data/features/indentation/bad_files_with_no_trailing_newline.feature +9 -8
  10. data/features/indentation/good_files_with_no_trailing_newline.feature +19 -6
  11. data/features/name_detection.feature +2 -2
  12. data/features/support/env.rb +0 -2
  13. data/features/support/file_cases/horizontal_spacing_cases.rb +5 -4
  14. data/features/support/file_cases/indentation_cases.rb +105 -54
  15. data/features/support/file_cases/naming_cases.rb +0 -1
  16. data/features/support/file_cases/vertical_spacing_cases.rb +0 -1
  17. data/features/support/legacy/bad_ternary_colon_spacing.rb +1 -1
  18. data/features/valid_ruby.feature +17 -0
  19. data/features/vertical_spacing.feature +40 -19
  20. data/lib/ext/string_ext.rb +12 -0
  21. data/lib/tailor/cli.rb +7 -5
  22. data/lib/tailor/cli/options.rb +13 -3
  23. data/lib/tailor/composite_observable.rb +17 -2
  24. data/lib/tailor/configuration.rb +83 -72
  25. data/lib/tailor/configuration/style.rb +85 -0
  26. data/lib/tailor/critic.rb +67 -117
  27. data/lib/tailor/formatter.rb +38 -0
  28. data/lib/tailor/formatters/text.rb +35 -10
  29. data/lib/tailor/lexed_line.rb +38 -5
  30. data/lib/tailor/lexer.rb +150 -14
  31. data/lib/tailor/{lexer_constants.rb → lexer/lexer_constants.rb} +9 -7
  32. data/lib/tailor/lexer/token.rb +6 -2
  33. data/lib/tailor/logger.rb +4 -0
  34. data/lib/tailor/problem.rb +8 -73
  35. data/lib/tailor/reporter.rb +1 -1
  36. data/lib/tailor/ruler.rb +67 -6
  37. data/lib/tailor/rulers/allow_camel_case_methods_ruler.rb +9 -1
  38. data/lib/tailor/rulers/allow_hard_tabs_ruler.rb +9 -1
  39. data/lib/tailor/rulers/allow_invalid_ruby_ruler.rb +38 -0
  40. data/lib/tailor/rulers/allow_screaming_snake_case_classes_ruler.rb +9 -2
  41. data/lib/tailor/rulers/allow_trailing_line_spaces_ruler.rb +10 -5
  42. data/lib/tailor/rulers/indentation_spaces_ruler.rb +93 -26
  43. data/lib/tailor/rulers/indentation_spaces_ruler/indentation_manager.rb +128 -84
  44. data/lib/tailor/rulers/max_code_lines_in_class_ruler.rb +9 -5
  45. data/lib/tailor/rulers/max_code_lines_in_method_ruler.rb +9 -5
  46. data/lib/tailor/rulers/max_line_length_ruler.rb +10 -5
  47. data/lib/tailor/rulers/spaces_after_comma_ruler.rb +13 -4
  48. data/lib/tailor/rulers/spaces_after_lbrace_ruler.rb +8 -4
  49. data/lib/tailor/rulers/spaces_after_lbracket_ruler.rb +8 -4
  50. data/lib/tailor/rulers/spaces_after_lparen_ruler.rb +8 -4
  51. data/lib/tailor/rulers/spaces_before_comma_ruler.rb +8 -4
  52. data/lib/tailor/rulers/spaces_before_lbrace_ruler.rb +13 -6
  53. data/lib/tailor/rulers/spaces_before_rbrace_ruler.rb +12 -8
  54. data/lib/tailor/rulers/spaces_before_rbracket_ruler.rb +12 -5
  55. data/lib/tailor/rulers/spaces_before_rparen_ruler.rb +13 -6
  56. data/lib/tailor/rulers/spaces_in_empty_braces_ruler.rb +13 -9
  57. data/lib/tailor/rulers/trailing_newlines_ruler.rb +10 -5
  58. data/lib/tailor/tailorrc.erb +3 -3
  59. data/lib/tailor/version.rb +1 -1
  60. data/m.rb +15 -0
  61. data/spec/spec_helper.rb +0 -1
  62. data/spec/tailor/cli_spec.rb +8 -9
  63. data/spec/tailor/composite_observable_spec.rb +41 -0
  64. data/spec/tailor/configuration/style_spec.rb +197 -0
  65. data/spec/tailor/configuration_spec.rb +52 -33
  66. data/spec/tailor/critic_spec.rb +7 -8
  67. data/spec/tailor/formatter_spec.rb +52 -0
  68. data/spec/tailor/lexed_line_spec.rb +236 -88
  69. data/spec/tailor/lexer_spec.rb +8 -63
  70. data/spec/tailor/problem_spec.rb +14 -46
  71. data/spec/tailor/reporter_spec.rb +8 -8
  72. data/spec/tailor/ruler_spec.rb +1 -1
  73. data/spec/tailor/rulers/indentation_spaces_ruler/indentation_manager_spec.rb +132 -176
  74. data/spec/tailor/rulers/indentation_spaces_ruler_spec.rb +41 -33
  75. data/spec/tailor/rulers/{spaces_after_comma_spec.rb → spaces_after_comma_ruler_spec.rb} +5 -5
  76. data/spec/tailor/rulers/spaces_after_lbrace_ruler_spec.rb +14 -14
  77. data/spec/tailor/rulers/spaces_before_lbrace_ruler_spec.rb +1 -1
  78. data/spec/tailor/rulers/spaces_before_rbrace_ruler_spec.rb +1 -1
  79. data/spec/tailor/version_spec.rb +1 -1
  80. data/spec/tailor_spec.rb +3 -1
  81. data/tailor.gemspec +11 -3
  82. data/uest.rb +9 -0
  83. metadata +66 -41
  84. data/features/step_definitions/spacing/commas_steps.rb +0 -14
@@ -5,8 +5,8 @@ Feature: Indentation check on good files without trailing newlines
5
5
  Given my configuration file ".tailor" looks like:
6
6
  """
7
7
  Tailor.config do |config|
8
- config.file_set do
9
- trailing_newlines 0
8
+ config.file_set do |style|
9
+ style.trailing_newlines 0
10
10
  end
11
11
  end
12
12
  """
@@ -28,10 +28,12 @@ Feature: Indentation check on good files without trailing newlines
28
28
  | indent/ok/one_line_subclass |
29
29
  | indent/ok/one_line_subclass_with_inheritance |
30
30
 
31
+ @single_line
31
32
  Scenarios: Good single-line statement uses
32
33
  | File |
33
34
  | indent/ok/class_singlestatement |
34
35
  | indent/ok/require_class_singlestatement |
36
+ | indent/ok/class_as_symbol |
35
37
 
36
38
  @multi_line
37
39
  Scenarios: Good multi-line statement uses
@@ -51,11 +53,16 @@ Feature: Indentation check on good files without trailing newlines
51
53
  | indent/ok/method_call_multistatement_trailing_comment |
52
54
  | indent/ok/method_call_multistatement_lonely_paren |
53
55
  | indent/ok/method_call_multistatement_lonely_paren_trailing_comment |
54
- | indent/ok/rescue_ending_with_comma |
55
- | indent/ok/rescue_ending_with_comma_trailing_comment |
56
56
  | indent/ok/keyword_ending_with_period |
57
57
  | indent/ok/keyword_ending_with_period_trailing_comment |
58
58
 
59
+ @multi_line @continuation
60
+ Scenarios: Good use of continuation keywords
61
+ | File |
62
+ | indent/ok/rescue_ending_with_comma |
63
+ | indent/ok/rescue_ending_with_comma_trailing_comment |
64
+ | indent/ok/def_rescue |
65
+
59
66
  Scenarios: Good def uses
60
67
  | File |
61
68
  | indent/ok/def |
@@ -119,6 +126,7 @@ Feature: Indentation check on good files without trailing newlines
119
126
  | indent/ok/multi_line_lonely_braces_as_t_string |
120
127
  | indent/ok/multi_line_braces_embedded_arrays |
121
128
  | indent/ok/braces_combo |
129
+ | indent/ok/deep_hash_with_rockets |
122
130
 
123
131
  @single_line @brackets
124
132
  Scenarios: Good single-line bracket uses
@@ -168,6 +176,7 @@ Feature: Indentation check on good files without trailing newlines
168
176
  | indent/ok/multi_line_method_call |
169
177
  | indent/ok/multi_line_method_call_ends_with_period |
170
178
  | indent/ok/multi_line_method_call_ends_with_many_periods |
179
+ | indent/ok/method_lonely_args |
171
180
 
172
181
  @multi_line @ops
173
182
  Scenarios: Good multi-line if + logical operators
@@ -180,6 +189,7 @@ Feature: Indentation check on good files without trailing newlines
180
189
  | indent/ok/multi_line_each_block |
181
190
  | indent/ok/multi_line_each_block_with_op_and_parens |
182
191
  | indent/ok/do_end_block_in_parens |
192
+ | indent/ok/block_in_block_ends_on_same_line |
183
193
 
184
194
  @single_line @keywords
185
195
  Scenarios: Good use of single-line keyword statements
@@ -195,12 +205,15 @@ Feature: Indentation check on good files without trailing newlines
195
205
  | indent/ok/brace_bracket_paren_combo1 |
196
206
  | indent/ok/paren_comma_combo1 |
197
207
 
208
+ @multi_line @labels
209
+ Scenarios: Use of labels
210
+ | File |
211
+ | indent/ok/line_ends_with_label |
212
+
198
213
  @wip
199
214
  Scenarios: WIPs
200
215
  | File |
201
216
  | indent/ok/case_whens_in |
202
217
  | indent/ok/method_closing_lonely_paren |
203
- | indent/ok/method_lonely_args |
204
- | indent/ok/line_ends_with_label |
205
218
  | indent/ok/rparen_and_do_same_line |
206
219
 
@@ -6,8 +6,8 @@ Feature: Name detection
6
6
  Given my configuration file ".tailor" looks like:
7
7
  """
8
8
  Tailor.config do |config|
9
- config.file_set do
10
- trailing_newlines 0
9
+ config.file_set do |style|
10
+ style.trailing_newlines 0
11
11
  end
12
12
  end
13
13
  """
@@ -5,5 +5,3 @@ SimpleCov.start do
5
5
  add_group "Features", "features/"
6
6
  add_group "Lib", "lib"
7
7
  end
8
-
9
-
@@ -88,6 +88,9 @@ H_SPACING_OK[:trailing_comma_with_trailing_comment] =
88
88
  end}
89
89
 
90
90
  H_SPACING_OK[:no_before_comma_in_array] = %Q{[1, 2]}
91
+ H_SPACING_OK[:line_ends_with_backslash] =
92
+ %Q{{ :thing => a_thing,\\
93
+ :thing2 => another_thing }}
91
94
 
92
95
  #-------------------------------------------------------------------------------
93
96
  # Braces
@@ -182,7 +185,7 @@ H_SPACING_1[:single_line_block_0_spaces_before_lbrace] =
182
185
  %Q{1..10.times{ |n| puts n }}
183
186
 
184
187
  H_SPACING_1[:two_line_braces_block_2_spaces_before_lbrace] =
185
- %Q{1..10.times { |n|
188
+ %Q{1..10.times { |n|
186
189
  puts n}}
187
190
 
188
191
  H_SPACING_1[:two_line_braces_block_0_spaces_before_lbrace_trailing_comment] =
@@ -241,7 +244,7 @@ H_SPACING_2[:two_d_array_space_before_rbrackets] =
241
244
  #-------------------------------------------------------------------------------
242
245
  # Parens
243
246
  #-------------------------------------------------------------------------------
244
- H_SPACING_OK[:empty_parens] = %Q{def thing()}
247
+ H_SPACING_OK[:empty_parens] = %Q{def thing(); end}
245
248
  H_SPACING_OK[:simple_method_call] = %Q{thing(one, two)}
246
249
  H_SPACING_OK[:multi_line_method_call] = %Q{thing(one,
247
250
  two)}
@@ -261,5 +264,3 @@ H_SPACING_1[:multi_line_method_call_space_after_lparen] = %Q{thing( one,
261
264
  H_SPACING_1[:multi_line_method_call_space_after_lparen_trailing_comment] =
262
265
  %Q{thing( one,
263
266
  two)}
264
-
265
-
@@ -1,11 +1,11 @@
1
1
  INDENT_OK = {}
2
2
 
3
- INDENT_OK[:class] =
4
- %Q{class MyClass
3
+ INDENT_OK[:class] =
4
+ %Q{class MyClass
5
5
  end}
6
6
 
7
7
  INDENT_OK[:one_line_class] =
8
- %Q{class MyClass; end}
8
+ %Q{class MyClass; end}
9
9
 
10
10
  INDENT_OK[:one_line_subclass] =
11
11
  %Q{class MyClass < RuntimeError; end}
@@ -17,7 +17,7 @@ INDENT_OK[:one_line_subclass_with_inheritance] =
17
17
  end}
18
18
 
19
19
  INDENT_OK[:class_empty] =
20
- %Q{class MyClass
20
+ %Q{class MyClass
21
21
 
22
22
  end}
23
23
 
@@ -27,12 +27,12 @@ INDENT_OK[:class_empty_trailing_comment] =
27
27
  end}
28
28
 
29
29
  INDENT_OK[:class_singlestatement] =
30
- %Q{class MyClass
30
+ %Q{class MyClass
31
31
  include Stuff
32
32
  end}
33
33
 
34
34
  INDENT_OK[:assignment_addition_multistatement] =
35
- %Q{thing = 1 +
35
+ %Q{thing = 1 +
36
36
  2 + 3 + 4 +
37
37
  5}
38
38
 
@@ -42,7 +42,7 @@ INDENT_OK[:assignment_addition_multistatement_trailing_comment] =
42
42
  5}
43
43
 
44
44
  INDENT_OK[:assignment_hash_multistatement] =
45
- %Q{thing = {
45
+ %Q{thing = {
46
46
  :one => 'one',
47
47
  two: 'two'
48
48
  }}
@@ -54,7 +54,7 @@ INDENT_OK[:assignment_hash_multistatement_trailing_comment] =
54
54
  }}
55
55
 
56
56
  INDENT_OK[:assignment_array_multistatement] =
57
- %Q{thing = [
57
+ %Q{thing = [
58
58
  :one,
59
59
  :two
60
60
  ]}
@@ -78,10 +78,10 @@ INDENT_OK[:assignment_paren_multistatement_trailing_comment] =
78
78
  5)}
79
79
 
80
80
  INDENT_OK[:assignment_twolevel_hash_multistatement] =
81
- %Q{thing = {
81
+ %Q{thing = {
82
82
  :one => {
83
83
  :a => 'a',
84
- b: => 'b'
84
+ b: 'b'
85
85
  },
86
86
  two: {
87
87
  x: 'x',
@@ -90,7 +90,7 @@ INDENT_OK[:assignment_twolevel_hash_multistatement] =
90
90
  }}
91
91
 
92
92
  INDENT_OK[:assignment_twolevel_array_multistatement] =
93
- %Q{thing = [
93
+ %Q{thing = [
94
94
  [:one],
95
95
  [
96
96
  :two,
@@ -99,7 +99,7 @@ INDENT_OK[:assignment_twolevel_array_multistatement] =
99
99
  ]}
100
100
 
101
101
  INDENT_OK[:assignment_twolevel_paren_multistatement] =
102
- %Q{result = Integer(
102
+ %Q{result = Integer(
103
103
  String.new(
104
104
  "1"
105
105
  ).to_i,
@@ -107,7 +107,7 @@ INDENT_OK[:assignment_twolevel_paren_multistatement] =
107
107
  )}
108
108
 
109
109
  INDENT_OK[:method_call_multistatement] =
110
- %Q{my_method_with_many_params(one, two,
110
+ %Q{my_method_with_many_params(one, two,
111
111
  three,
112
112
  four,
113
113
  five)}
@@ -132,6 +132,9 @@ INDENT_OK[:method_call_multistatement_lonely_paren_trailing_comment] =
132
132
  five
133
133
  )}
134
134
 
135
+ #-------------------------------------------------------------------------------
136
+ # Continuation keywords
137
+ #-------------------------------------------------------------------------------
135
138
  INDENT_OK[:rescue_ending_with_comma] =
136
139
  %Q{begin
137
140
  ssh.upload source, dest
@@ -154,6 +157,14 @@ rescue SocketError, ArgumentError, SystemCallError, # comment
154
157
  "\#{ex.message}"
155
158
  end}
156
159
 
160
+ INDENT_OK[:def_rescue] =
161
+ %Q{def some_method
162
+ do_something(one, two)
163
+ rescue => e
164
+ log "It didn't work."
165
+ raise e
166
+ end}
167
+
157
168
  INDENT_OK[:keyword_ending_with_period] =
158
169
  %Q{if [].
159
170
  empty?
@@ -167,36 +178,46 @@ INDENT_OK[:keyword_ending_with_period_trailing_comment] =
167
178
  end}
168
179
 
169
180
  INDENT_OK[:def] =
170
- %Q{def a_method
181
+ %Q{def a_method
171
182
  end}
172
183
 
173
184
  INDENT_OK[:def_empty] =
174
- %Q{def a_method
185
+ %Q{def a_method
175
186
 
176
187
  end}
177
188
 
178
189
  INDENT_OK[:nested_def] =
179
- %Q{def first_method
190
+ %Q{def first_method
180
191
  def second_method
181
192
  puts "hi"
182
193
  end
183
194
  end}
184
195
 
185
196
  INDENT_OK[:nested_class] =
186
- %Q{class MyClass
197
+ %Q{class MyClass
187
198
  class AnotherClass
188
199
  end
189
200
  end}
190
201
 
191
202
  INDENT_OK[:require_class_singlestatement] =
192
- %Q{require 'time'
203
+ %Q{require 'time'
193
204
 
194
205
  class MyClass
195
206
  include Stuff
196
207
  end}
197
208
 
209
+ INDENT_OK[:class_as_symbol] =
210
+ %Q{INDENT_OK = {}
211
+
212
+ INDENT_OK[:class] =
213
+ %Q{class MyClass
214
+ end}
215
+
216
+ INDENT_OK[:one_line_class] =
217
+ %Q{class MyClass; end}}
218
+
198
219
  INDENT_OK[:require_class_singlestatement_def] =
199
- %Q{require 'time'
220
+ %Q{require 'time'
200
221
 
201
222
  class MyClass
202
223
  include Stuff
@@ -206,7 +227,7 @@ class MyClass
206
227
  end}
207
228
 
208
229
  INDENT_OK[:require_class_singlestatement_def_content] =
209
- %Q{require 'time'
230
+ %Q{require 'time'
210
231
 
211
232
  class MyClass
212
233
  include Stuff
@@ -217,21 +238,21 @@ class MyClass
217
238
  end}
218
239
 
219
240
  INDENT_OK[:if_modifier] =
220
- %Q{puts "hi" if nil.nil?}
241
+ %Q{puts "hi" if nil.nil?}
221
242
 
222
243
  INDENT_OK[:if_modifier2] =
223
244
  %Q{start_key_registration_server if @profiles.values.include? :SM5000}
224
245
 
225
246
  INDENT_OK[:def_return_if_modifier] =
226
- %Q{def a_method
247
+ %Q{def a_method
227
248
  return @something if @something
228
249
  end}
229
250
 
230
251
  INDENT_OK[:unless_modifier] =
231
- %Q{puts "hi" unless nil.nil?}
252
+ %Q{puts "hi" unless nil.nil?}
232
253
 
233
254
  INDENT_OK[:def_return_unless_modifier] =
234
- %Q{def a_method
255
+ %Q{def a_method
235
256
  return @something unless @something
236
257
  end}
237
258
 
@@ -357,51 +378,65 @@ INDENT_OK[:for_with_retry_loop] =
357
378
  end}
358
379
 
359
380
  INDENT_OK[:loop_with_braces] =
360
- %Q{loop {
381
+ %Q<loop {
361
382
  puts 'stuff'
362
- }}
383
+ }>
363
384
 
364
385
  #----------- Braces ----------#
365
386
  INDENT_OK[:single_line_braces] =
366
- %Q{{ one: 1, two: 2 }}
387
+ %Q<{ one: 1, two: 2 }>
367
388
 
368
389
  INDENT_OK[:single_line_braces_as_t_string] =
369
- %Q{%Q{this is a t string!}}
390
+ %Q<%Q{this is a t string!}>
370
391
 
371
392
  INDENT_OK[:multi_line_braces] =
372
- %Q{{ one: 1,
373
- two: 2 }}
393
+ %Q<{ one: 1,
394
+ two: 2 }>
374
395
 
375
396
  INDENT_OK[:multi_line_braces_as_t_string] =
376
- %Q{%Q{this is a t string!
377
- suckaaaaaa!}}
397
+ %Q<%Q{this is a t string!
398
+ suckaaaaaa!}>
378
399
 
400
+ # For some reason, Ruby doesn't like '%Q<> here. Using [] instead.
379
401
  INDENT_OK[:multi_line_lonely_braces] =
380
- %Q{{
402
+ %Q[{
381
403
  :one => 'one', :two => 'two',
382
404
  :three => 'three'
383
- }}
405
+ }]
384
406
 
385
407
  INDENT_OK[:multi_line_lonely_braces_as_t_string] =
386
- %Q{%Q{
408
+ %Q<%Q{
387
409
  this is a t string!
388
410
  suckaaaaaa!
389
- }}
411
+ }>
390
412
 
391
413
  INDENT_OK[:multi_line_braces_embedded_arrays] =
392
- %Q{{
414
+ %Q[{
393
415
  :one => ['one', 17, {}], :two => ['two'],
394
416
  :three => 'three'
395
- }}
417
+ }]
418
+
396
419
  INDENT_OK[:braces_combo] =
397
- %Q{{ three: 3 }
420
+ %Q<{ three: 3 }
398
421
  {
399
422
  three: 3 }
400
423
  { three: 3
401
424
  }
402
425
  {
403
426
  three: 3
404
- }}
427
+ }>
428
+
429
+ INDENT_OK[:deep_hash_with_rockets] =
430
+ %Q[im_deep =
431
+ { "one" =>
432
+ { "1" =>
433
+ { "a" => "A",
434
+ "b" => "B",
435
+ "c" => "C" },
436
+ "2" =>
437
+ { "d" => "D",
438
+ "e" => "E",
439
+ "f" => "F" } } }]
405
440
 
406
441
  #----------- Brackets ----------#
407
442
  INDENT_OK[:single_line_brackets] =
@@ -631,6 +666,18 @@ INDENT_OK[:do_end_block_in_parens] =
631
666
  rescue NoMethodError
632
667
  end}
633
668
 
669
+ INDENT_OK[:block_in_block_ends_on_same_line] =
670
+ %Q{%w{
671
+ foo
672
+ bar
673
+ baz
674
+ }.each do |thing|
675
+ function thing do
676
+ puts "stuff"
677
+ end end
678
+
679
+ puts "post ends"}
680
+
634
681
  INDENT_OK[:rparen_and_do_same_line] =
635
682
  %Q{opt.on('-c', '--config-file FILE',
636
683
  "Use a specific config file.") do |config|
@@ -663,7 +710,7 @@ INDENT_OK[:combo1] =
663
710
  end}
664
711
 
665
712
  INDENT_OK[:combo2] =
666
- %Q{class C
713
+ %Q{class C
667
714
 
668
715
  send :each do
669
716
  def foo
@@ -675,8 +722,8 @@ end}
675
722
  INDENT_OK[:combo3] =
676
723
  %Q{def report_turducken(results, performance_results)
677
724
  stuffing[:log_files] = { "\#{File.basename @logger.log_file_location}" =>
678
- File.read(@logger.log_file_location).gsub(/(?<f><)(?<q>\/)?(?<w>\w)/,
679
- '\k<f>!\k<q>\k<w>') }.merge remote_logs
725
+ File.read(@logger.log_file_location).gsub(/(?<f><)(?<q>\\/)?(?<w>\\w)/,
726
+ '\\k<f>!\\k<q>\\k<w>') }.merge remote_logs
680
727
 
681
728
  begin
682
729
  Stuffer.login(@config[:turducken_server], @config[:turducken_username],
@@ -715,11 +762,11 @@ INDENT_OK[:line_ends_with_label] =
715
762
  INDENT_1 = {}
716
763
 
717
764
  INDENT_1[:class_indented_end] =
718
- %Q{class MyClass
765
+ %Q{class MyClass
719
766
  end}
720
767
 
721
768
  INDENT_1[:class_indented_singlestatement] =
722
- %Q{class MyClass
769
+ %Q{class MyClass
723
770
  include Something
724
771
  end}
725
772
 
@@ -729,42 +776,42 @@ INDENT_1[:class_indented_singlestatement_trailing_comment] =
729
776
  end}
730
777
 
731
778
  INDENT_1[:class_outdented_singlestatement] =
732
- %Q{class MyClass
779
+ %Q{class MyClass
733
780
  include Something
734
781
  end}
735
782
 
736
783
  INDENT_1[:def_indented_end] =
737
- %Q{def a
784
+ %Q{def a
738
785
  end}
739
786
 
740
787
  INDENT_1[:def_content_indented_end] =
741
- %Q{def a
788
+ %Q{def a
742
789
  puts "stuff"
743
790
  end}
744
791
 
745
792
  INDENT_1[:class_def_content_outdented_end] =
746
- %Q{class A
793
+ %Q{class A
747
794
  def a
748
795
  puts "stuff"
749
796
  end
750
797
  end}
751
798
 
752
799
  INDENT_1[:class_def_outdented_content] =
753
- %Q{class A
800
+ %Q{class A
754
801
  def a
755
802
  puts "stuff"
756
803
  end
757
804
  end}
758
805
 
759
806
  INDENT_1[:class_method_def_using_self_outdented] =
760
- %Q{class A
807
+ %Q{class A
761
808
  self.my_method
762
809
  puts 'stuff'
763
810
  end
764
811
  end}
765
812
 
766
813
  INDENT_1[:case_indented_whens_level] =
767
- %Q{def my_method
814
+ %Q{def my_method
768
815
  case true
769
816
  when true
770
817
  puts "stuff"
@@ -784,7 +831,7 @@ INDENT_1[:case_indented_whens_level_trailing_comment] =
784
831
  end}
785
832
 
786
833
  INDENT_1[:case_outdented_whens_level] =
787
- %Q{def my_method
834
+ %Q{def my_method
788
835
  case true
789
836
  when true
790
837
  puts "stuff"
@@ -920,6 +967,11 @@ INDENT_1[:multi_line_string_first_line_indented_trailing_comment] =
920
967
  end
921
968
  end}
922
969
 
970
+ INDENT_1[:multi_line_tstring] =
971
+ %Q{INDENT_OK[:class] =
972
+ %Q{class MyClass
973
+ end}}
974
+
923
975
  #-------------------------------------------------------------------------------
924
976
  # Operators
925
977
  #-------------------------------------------------------------------------------
@@ -969,4 +1021,3 @@ INDENT_1[:multi_line_method_call_ends_with_many_periods_last_in_trailing_comment
969
1021
  %Q{my_hashie.first_level.
970
1022
  second_level.
971
1023
  third_level # comment}
972
-