super_diff 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/super_diff/active_record/differs/active_record_relation.rb +2 -0
  4. data/lib/super_diff/active_record/differs.rb +3 -1
  5. data/lib/super_diff/active_record/inspection_tree_builders/active_record_model.rb +7 -5
  6. data/lib/super_diff/active_record/inspection_tree_builders/active_record_relation.rb +12 -10
  7. data/lib/super_diff/active_record/inspection_tree_builders.rb +4 -2
  8. data/lib/super_diff/active_record/monkey_patches.rb +4 -2
  9. data/lib/super_diff/active_record/object_inspection.rb +6 -4
  10. data/lib/super_diff/active_record/operation_tree_builders/active_record_model.rb +3 -1
  11. data/lib/super_diff/active_record/operation_tree_builders/active_record_relation.rb +3 -1
  12. data/lib/super_diff/active_record/operation_tree_builders.rb +4 -2
  13. data/lib/super_diff/active_record/operation_tree_flatteners/active_record_relation.rb +4 -2
  14. data/lib/super_diff/active_record/operation_tree_flatteners.rb +3 -1
  15. data/lib/super_diff/active_record/operation_trees/active_record_relation.rb +2 -0
  16. data/lib/super_diff/active_record/operation_trees.rb +3 -1
  17. data/lib/super_diff/active_record.rb +10 -8
  18. data/lib/super_diff/active_support/differs/hash_with_indifferent_access.rb +2 -0
  19. data/lib/super_diff/active_support/differs.rb +3 -1
  20. data/lib/super_diff/active_support/inspection_tree_builders/hash_with_indifferent_access.rb +16 -14
  21. data/lib/super_diff/active_support/inspection_tree_builders/ordered_options.rb +16 -14
  22. data/lib/super_diff/active_support/inspection_tree_builders.rb +4 -2
  23. data/lib/super_diff/active_support/object_inspection.rb +6 -4
  24. data/lib/super_diff/active_support/operation_tree_builders/hash_with_indifferent_access.rb +6 -4
  25. data/lib/super_diff/active_support/operation_tree_builders.rb +3 -1
  26. data/lib/super_diff/active_support/operation_tree_flatteners/hash_with_indifferent_access.rb +4 -2
  27. data/lib/super_diff/active_support/operation_tree_flatteners.rb +3 -1
  28. data/lib/super_diff/active_support/operation_trees/hash_with_indifferent_access.rb +2 -0
  29. data/lib/super_diff/active_support/operation_trees.rb +3 -1
  30. data/lib/super_diff/active_support.rb +8 -6
  31. data/lib/super_diff/basic/diff_formatters/collection.rb +18 -18
  32. data/lib/super_diff/basic/diff_formatters/multiline_string.rb +2 -0
  33. data/lib/super_diff/basic/diff_formatters.rb +4 -2
  34. data/lib/super_diff/basic/differs/array.rb +2 -0
  35. data/lib/super_diff/basic/differs/custom_object.rb +3 -1
  36. data/lib/super_diff/basic/differs/date_like.rb +2 -0
  37. data/lib/super_diff/basic/differs/default_object.rb +3 -1
  38. data/lib/super_diff/basic/differs/hash.rb +2 -0
  39. data/lib/super_diff/basic/differs/multiline_string.rb +2 -0
  40. data/lib/super_diff/basic/differs/time_like.rb +2 -0
  41. data/lib/super_diff/basic/differs.rb +11 -9
  42. data/lib/super_diff/basic/inspection_tree_builders/array.rb +5 -3
  43. data/lib/super_diff/basic/inspection_tree_builders/custom_object.rb +5 -3
  44. data/lib/super_diff/basic/inspection_tree_builders/data_object.rb +6 -4
  45. data/lib/super_diff/basic/inspection_tree_builders/date_like.rb +7 -5
  46. data/lib/super_diff/basic/inspection_tree_builders/default_object.rb +7 -5
  47. data/lib/super_diff/basic/inspection_tree_builders/hash.rb +7 -5
  48. data/lib/super_diff/basic/inspection_tree_builders/primitive.rb +2 -0
  49. data/lib/super_diff/basic/inspection_tree_builders/range_object.rb +19 -0
  50. data/lib/super_diff/basic/inspection_tree_builders/time_like.rb +8 -8
  51. data/lib/super_diff/basic/inspection_tree_builders.rb +15 -9
  52. data/lib/super_diff/basic/operation_tree_builders/array.rb +6 -4
  53. data/lib/super_diff/basic/operation_tree_builders/custom_object.rb +3 -1
  54. data/lib/super_diff/basic/operation_tree_builders/data_object.rb +4 -2
  55. data/lib/super_diff/basic/operation_tree_builders/date_like.rb +2 -0
  56. data/lib/super_diff/basic/operation_tree_builders/default_object.rb +32 -31
  57. data/lib/super_diff/basic/operation_tree_builders/hash.rb +49 -46
  58. data/lib/super_diff/basic/operation_tree_builders/multiline_string.rb +5 -3
  59. data/lib/super_diff/basic/operation_tree_builders/time_like.rb +5 -3
  60. data/lib/super_diff/basic/operation_tree_builders.rb +12 -10
  61. data/lib/super_diff/basic/operation_tree_flatteners/array.rb +4 -2
  62. data/lib/super_diff/basic/operation_tree_flatteners/collection.rb +11 -11
  63. data/lib/super_diff/basic/operation_tree_flatteners/custom_object.rb +5 -3
  64. data/lib/super_diff/basic/operation_tree_flatteners/default_object.rb +6 -5
  65. data/lib/super_diff/basic/operation_tree_flatteners/hash.rb +5 -3
  66. data/lib/super_diff/basic/operation_tree_flatteners/multiline_string.rb +3 -1
  67. data/lib/super_diff/basic/operation_tree_flatteners.rb +8 -6
  68. data/lib/super_diff/basic/operation_trees/array.rb +2 -0
  69. data/lib/super_diff/basic/operation_trees/custom_object.rb +2 -0
  70. data/lib/super_diff/basic/operation_trees/default_object.rb +6 -4
  71. data/lib/super_diff/basic/operation_trees/hash.rb +2 -0
  72. data/lib/super_diff/basic/operation_trees/multiline_string.rb +3 -1
  73. data/lib/super_diff/basic/operation_trees.rb +9 -7
  74. data/lib/super_diff/basic.rb +9 -6
  75. data/lib/super_diff/core/abstract_differ.rb +2 -0
  76. data/lib/super_diff/core/abstract_inspection_tree_builder.rb +2 -0
  77. data/lib/super_diff/core/abstract_operation_tree.rb +4 -2
  78. data/lib/super_diff/core/abstract_operation_tree_builder.rb +15 -18
  79. data/lib/super_diff/core/abstract_operation_tree_flattener.rb +5 -3
  80. data/lib/super_diff/core/binary_operation.rb +3 -1
  81. data/lib/super_diff/core/colorized_document_extensions.rb +2 -0
  82. data/lib/super_diff/core/configuration.rb +14 -38
  83. data/lib/super_diff/core/differ_dispatcher.rb +4 -2
  84. data/lib/super_diff/core/gem_version.rb +2 -0
  85. data/lib/super_diff/core/helpers.rb +13 -11
  86. data/lib/super_diff/core/implementation_checks.rb +6 -2
  87. data/lib/super_diff/core/inspection_tree.rb +38 -38
  88. data/lib/super_diff/core/inspection_tree_builder_dispatcher.rb +5 -5
  89. data/lib/super_diff/core/inspection_tree_nodes/as_lines_when_rendering_to_lines.rb +3 -1
  90. data/lib/super_diff/core/inspection_tree_nodes/as_prefix_when_rendering_to_lines.rb +2 -0
  91. data/lib/super_diff/core/inspection_tree_nodes/as_prelude_when_rendering_to_lines.rb +2 -0
  92. data/lib/super_diff/core/inspection_tree_nodes/as_single_line.rb +2 -0
  93. data/lib/super_diff/core/inspection_tree_nodes/base.rb +9 -9
  94. data/lib/super_diff/core/inspection_tree_nodes/inspection.rb +2 -0
  95. data/lib/super_diff/core/inspection_tree_nodes/nesting.rb +2 -0
  96. data/lib/super_diff/core/inspection_tree_nodes/only_when.rb +5 -1
  97. data/lib/super_diff/core/inspection_tree_nodes/text.rb +2 -0
  98. data/lib/super_diff/core/inspection_tree_nodes/when_empty.rb +3 -1
  99. data/lib/super_diff/core/inspection_tree_nodes/when_non_empty.rb +3 -1
  100. data/lib/super_diff/core/inspection_tree_nodes/when_rendering_to_lines.rb +3 -1
  101. data/lib/super_diff/core/inspection_tree_nodes/when_rendering_to_string.rb +2 -0
  102. data/lib/super_diff/core/inspection_tree_nodes.rb +16 -14
  103. data/lib/super_diff/core/line.rb +9 -7
  104. data/lib/super_diff/core/no_differ_available_error.rb +7 -5
  105. data/lib/super_diff/core/no_inspection_tree_builder_available_error.rb +5 -3
  106. data/lib/super_diff/core/no_operation_tree_available_error.rb +4 -2
  107. data/lib/super_diff/core/no_operation_tree_builder_available_error.rb +7 -5
  108. data/lib/super_diff/core/operation_tree_builder_dispatcher.rb +3 -3
  109. data/lib/super_diff/core/operation_tree_finder.rb +8 -8
  110. data/lib/super_diff/core/prefix_for_next_inspection_tree_node.rb +2 -0
  111. data/lib/super_diff/core/prelude_for_next_inspection_tree_node.rb +2 -0
  112. data/lib/super_diff/core/recursion_guard.rb +6 -4
  113. data/lib/super_diff/core/tiered_lines.rb +2 -0
  114. data/lib/super_diff/core/tiered_lines_elider.rb +53 -54
  115. data/lib/super_diff/core/tiered_lines_formatter.rb +6 -4
  116. data/lib/super_diff/core/unary_operation.rb +2 -0
  117. data/lib/super_diff/core.rb +31 -29
  118. data/lib/super_diff/csi/bold_sequence.rb +2 -0
  119. data/lib/super_diff/csi/color.rb +4 -4
  120. data/lib/super_diff/csi/color_sequence_block.rb +3 -1
  121. data/lib/super_diff/csi/colorized_document.rb +7 -9
  122. data/lib/super_diff/csi/document.rb +15 -18
  123. data/lib/super_diff/csi/eight_bit_color.rb +32 -37
  124. data/lib/super_diff/csi/four_bit_color.rb +12 -9
  125. data/lib/super_diff/csi/reset_sequence.rb +2 -0
  126. data/lib/super_diff/csi/twenty_four_bit_color.rb +22 -21
  127. data/lib/super_diff/csi/uncolorized_document.rb +2 -0
  128. data/lib/super_diff/csi.rb +12 -10
  129. data/lib/super_diff/differs.rb +6 -4
  130. data/lib/super_diff/equality_matchers/array.rb +18 -16
  131. data/lib/super_diff/equality_matchers/base.rb +6 -4
  132. data/lib/super_diff/equality_matchers/default.rb +5 -3
  133. data/lib/super_diff/equality_matchers/defaults.rb +2 -0
  134. data/lib/super_diff/equality_matchers/hash.rb +18 -16
  135. data/lib/super_diff/equality_matchers/main.rb +3 -1
  136. data/lib/super_diff/equality_matchers/multiline_string.rb +18 -16
  137. data/lib/super_diff/equality_matchers/primitive.rb +15 -13
  138. data/lib/super_diff/equality_matchers/singleline_string.rb +16 -14
  139. data/lib/super_diff/equality_matchers.rb +11 -9
  140. data/lib/super_diff/errors.rb +4 -2
  141. data/lib/super_diff/object_inspection.rb +17 -15
  142. data/lib/super_diff/operation_tree_builders.rb +6 -4
  143. data/lib/super_diff/operation_tree_flatteners.rb +6 -4
  144. data/lib/super_diff/operation_trees.rb +6 -4
  145. data/lib/super_diff/operations.rb +4 -2
  146. data/lib/super_diff/rails.rb +4 -2
  147. data/lib/super_diff/rspec/augmented_matcher.rb +3 -1
  148. data/lib/super_diff/rspec/differ.rb +16 -7
  149. data/lib/super_diff/rspec/differs/collection_containing_exactly.rb +2 -0
  150. data/lib/super_diff/rspec/differs/collection_including.rb +2 -0
  151. data/lib/super_diff/rspec/differs/hash_including.rb +2 -0
  152. data/lib/super_diff/rspec/differs/object_having_attributes.rb +2 -0
  153. data/lib/super_diff/rspec/differs.rb +6 -4
  154. data/lib/super_diff/rspec/inspection_tree_builders/collection_containing_exactly.rb +12 -10
  155. data/lib/super_diff/rspec/inspection_tree_builders/collection_including.rb +10 -8
  156. data/lib/super_diff/rspec/inspection_tree_builders/double.rb +20 -18
  157. data/lib/super_diff/rspec/inspection_tree_builders/generic_describable_matcher.rb +2 -0
  158. data/lib/super_diff/rspec/inspection_tree_builders/hash_including.rb +10 -8
  159. data/lib/super_diff/rspec/inspection_tree_builders/instance_of.rb +2 -0
  160. data/lib/super_diff/rspec/inspection_tree_builders/kind_of.rb +2 -0
  161. data/lib/super_diff/rspec/inspection_tree_builders/object_having_attributes.rb +12 -10
  162. data/lib/super_diff/rspec/inspection_tree_builders/primitive.rb +2 -0
  163. data/lib/super_diff/rspec/inspection_tree_builders/value_within.rb +6 -4
  164. data/lib/super_diff/rspec/inspection_tree_builders.rb +12 -10
  165. data/lib/super_diff/rspec/matcher_text_builders/base.rb +12 -12
  166. data/lib/super_diff/rspec/matcher_text_builders/be_predicate.rb +19 -17
  167. data/lib/super_diff/rspec/matcher_text_builders/contain_exactly.rb +3 -1
  168. data/lib/super_diff/rspec/matcher_text_builders/have_predicate.rb +7 -5
  169. data/lib/super_diff/rspec/matcher_text_builders/match.rb +6 -4
  170. data/lib/super_diff/rspec/matcher_text_builders/raise_error.rb +5 -3
  171. data/lib/super_diff/rspec/matcher_text_builders/respond_to.rb +20 -18
  172. data/lib/super_diff/rspec/matcher_text_builders.rb +9 -7
  173. data/lib/super_diff/rspec/matcher_text_template.rb +34 -39
  174. data/lib/super_diff/rspec/monkey_patches.rb +129 -56
  175. data/lib/super_diff/rspec/object_inspection.rb +7 -5
  176. data/lib/super_diff/rspec/operation_tree_builders/collection_containing_exactly.rb +4 -4
  177. data/lib/super_diff/rspec/operation_tree_builders/collection_including.rb +2 -0
  178. data/lib/super_diff/rspec/operation_tree_builders/hash_including.rb +2 -0
  179. data/lib/super_diff/rspec/operation_tree_builders/object_having_attributes.rb +2 -0
  180. data/lib/super_diff/rspec/operation_tree_builders.rb +6 -4
  181. data/lib/super_diff/rspec-rails.rb +4 -2
  182. data/lib/super_diff/rspec.rb +27 -14
  183. data/lib/super_diff/version.rb +3 -1
  184. data/lib/super_diff.rb +24 -26
  185. data/super_diff.gemspec +20 -19
  186. metadata +6 -185
  187. data/spec/examples.txt +0 -450
  188. data/spec/integration/rails/active_record_spec.rb +0 -21
  189. data/spec/integration/rails/active_support_spec.rb +0 -19
  190. data/spec/integration/rails/engines_spec.rb +0 -25
  191. data/spec/integration/rails/hash_with_indifferent_access_spec.rb +0 -21
  192. data/spec/integration/rspec/be_falsey_matcher_spec.rb +0 -58
  193. data/spec/integration/rspec/be_matcher_spec.rb +0 -605
  194. data/spec/integration/rspec/be_nil_matcher_spec.rb +0 -57
  195. data/spec/integration/rspec/be_predicate_matcher_spec.rb +0 -615
  196. data/spec/integration/rspec/be_truthy_matcher_spec.rb +0 -62
  197. data/spec/integration/rspec/contain_exactly_matcher_spec.rb +0 -377
  198. data/spec/integration/rspec/eq_matcher_spec.rb +0 -1066
  199. data/spec/integration/rspec/generic_describable_matchers_spec.rb +0 -177
  200. data/spec/integration/rspec/have_attributes_matcher_spec.rb +0 -443
  201. data/spec/integration/rspec/have_predicate_matcher_spec.rb +0 -478
  202. data/spec/integration/rspec/include_matcher_spec.rb +0 -452
  203. data/spec/integration/rspec/magic_metadata_spec.rb +0 -51
  204. data/spec/integration/rspec/match_array_matcher_spec.rb +0 -424
  205. data/spec/integration/rspec/match_matcher_spec.rb +0 -1359
  206. data/spec/integration/rspec/raise_error_matcher_spec.rb +0 -1488
  207. data/spec/integration/rspec/respond_to_matcher_spec.rb +0 -999
  208. data/spec/integration/rspec/third_party_matcher_spec.rb +0 -245
  209. data/spec/integration/rspec/unhandled_errors_spec.rb +0 -150
  210. data/spec/spec_helper.rb +0 -91
  211. data/spec/support/colorizer.rb +0 -9
  212. data/spec/support/command_runner.rb +0 -253
  213. data/spec/support/helpers.rb +0 -21
  214. data/spec/support/integration/helpers.rb +0 -124
  215. data/spec/support/integration/matchers/produce_output_when_run_matcher.rb +0 -104
  216. data/spec/support/integration/matchers.rb +0 -177
  217. data/spec/support/integration/test_programs/base.rb +0 -143
  218. data/spec/support/integration/test_programs/plain.rb +0 -19
  219. data/spec/support/integration/test_programs/rspec_active_record.rb +0 -20
  220. data/spec/support/integration/test_programs/rspec_active_support.rb +0 -20
  221. data/spec/support/integration/test_programs/rspec_rails.rb +0 -20
  222. data/spec/support/integration/test_programs/rspec_rails_engine.rb +0 -20
  223. data/spec/support/models/a.rb +0 -11
  224. data/spec/support/models/active_record/person.rb +0 -28
  225. data/spec/support/models/active_record/query.rb +0 -15
  226. data/spec/support/models/active_record/shipping_address.rb +0 -24
  227. data/spec/support/models/customer.rb +0 -22
  228. data/spec/support/models/empty_class.rb +0 -6
  229. data/spec/support/models/item.rb +0 -10
  230. data/spec/support/models/order.rb +0 -9
  231. data/spec/support/models/person.rb +0 -20
  232. data/spec/support/models/player.rb +0 -30
  233. data/spec/support/models/point.rb +0 -7
  234. data/spec/support/models/shipping_address.rb +0 -25
  235. data/spec/support/shared_examples/active_record.rb +0 -428
  236. data/spec/support/shared_examples/active_support.rb +0 -188
  237. data/spec/support/shared_examples/elided_diffs.rb +0 -938
  238. data/spec/support/shared_examples/hash_with_indifferent_access.rb +0 -749
  239. data/spec/support/shared_examples/key.rb +0 -123
  240. data/spec/support/unit/helpers.rb +0 -24
  241. data/spec/support/unit/matchers/be_deprecated_in_favor_of.rb +0 -39
  242. data/spec/support/unit/matchers/match_output.rb +0 -40
  243. data/spec/unit/active_record/object_inspection_spec.rb +0 -289
  244. data/spec/unit/active_support/object_inspection_spec.rb +0 -170
  245. data/spec/unit/basic/inspection_tree_builders/data_object_spec.rb +0 -146
  246. data/spec/unit/basic/operation_tree_builders/data_object_spec.rb +0 -82
  247. data/spec/unit/basic/operation_tree_flatteners/array_spec.rb +0 -637
  248. data/spec/unit/basic/operation_tree_flatteners/custom_object_spec.rb +0 -685
  249. data/spec/unit/basic/operation_tree_flatteners/default_object_spec.rb +0 -685
  250. data/spec/unit/basic/operation_tree_flatteners/hash_spec.rb +0 -671
  251. data/spec/unit/basic/operation_tree_flatteners/multiline_string_spec.rb +0 -131
  252. data/spec/unit/core/configuration_no_rspec_spec.rb +0 -58
  253. data/spec/unit/core/configuration_spec.rb +0 -176
  254. data/spec/unit/core/helpers_spec.rb +0 -68
  255. data/spec/unit/core/tiered_lines_elider_spec.rb +0 -6328
  256. data/spec/unit/core/tiered_lines_formatter_spec.rb +0 -131
  257. data/spec/unit/deprecations_spec.rb +0 -176
  258. data/spec/unit/equality_matchers/main_spec.rb +0 -1842
  259. data/spec/unit/rspec/matchers/be_compared_to_spec.rb +0 -23
  260. data/spec/unit/rspec/matchers/be_falsey_spec.rb +0 -9
  261. data/spec/unit/rspec/matchers/be_nil_spec.rb +0 -9
  262. data/spec/unit/rspec/matchers/be_predicate_spec.rb +0 -31
  263. data/spec/unit/rspec/matchers/be_spec.rb +0 -17
  264. data/spec/unit/rspec/matchers/be_truthy_spec.rb +0 -9
  265. data/spec/unit/rspec/matchers/contain_exactly_spec.rb +0 -11
  266. data/spec/unit/rspec/matchers/eq_spec.rb +0 -9
  267. data/spec/unit/rspec/matchers/have_attributes_spec.rb +0 -11
  268. data/spec/unit/rspec/matchers/have_predicate_spec.rb +0 -21
  269. data/spec/unit/rspec/matchers/include_spec.rb +0 -21
  270. data/spec/unit/rspec/matchers/match_array_spec.rb +0 -11
  271. data/spec/unit/rspec/matchers/match_spec.rb +0 -9
  272. data/spec/unit/rspec/matchers/raise_error_spec.rb +0 -77
  273. data/spec/unit/rspec/matchers/respond_to_spec.rb +0 -85
  274. data/spec/unit/rspec/object_inspection/rspec_matcher_spec.rb +0 -91
  275. data/spec/unit/rspec/object_inspection_spec.rb +0 -471
  276. data/spec/unit/super_diff_spec.rb +0 -2115
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module Differs
@@ -1,18 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module Differs
4
6
  autoload(
5
7
  :CollectionContainingExactly,
6
- "super_diff/rspec/differs/collection_containing_exactly"
8
+ 'super_diff/rspec/differs/collection_containing_exactly'
7
9
  )
8
10
  autoload(
9
11
  :CollectionIncluding,
10
- "super_diff/rspec/differs/collection_including"
12
+ 'super_diff/rspec/differs/collection_including'
11
13
  )
12
- autoload :HashIncluding, "super_diff/rspec/differs/hash_including"
14
+ autoload :HashIncluding, 'super_diff/rspec/differs/hash_including'
13
15
  autoload(
14
16
  :ObjectHavingAttributes,
15
- "super_diff/rspec/differs/object_having_attributes"
17
+ 'super_diff/rspec/differs/object_having_attributes'
16
18
  )
17
19
  end
18
20
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -10,22 +12,22 @@ module SuperDiff
10
12
  Core::InspectionTree.new do |t1|
11
13
  # stree-ignore
12
14
  t1.as_lines_when_rendering_to_lines(
13
- collection_bookend: :open
14
- ) do |t2|
15
- t2.add_text "#<a collection containing exactly ("
16
- end
15
+ collection_bookend: :open
16
+ ) do |t2|
17
+ t2.add_text '#<a collection containing exactly ('
18
+ end
17
19
 
18
20
  # stree-ignore
19
21
  t1.nested do |t2|
20
- t2.insert_array_inspection_of(object.expected)
21
- end
22
+ t2.insert_array_inspection_of(object.expected)
23
+ end
22
24
 
23
25
  # stree-ignore
24
26
  t1.as_lines_when_rendering_to_lines(
25
- collection_bookend: :close
26
- ) do |t2|
27
- t2.add_text ")>"
28
- end
27
+ collection_bookend: :close
28
+ ) do |t2|
29
+ t2.add_text ')>'
30
+ end
29
31
  end
30
32
  end
31
33
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -11,10 +13,10 @@ module SuperDiff
11
13
  Core::InspectionTree.new do |t1|
12
14
  # stree-ignore
13
15
  t1.as_lines_when_rendering_to_lines(
14
- collection_bookend: :open
15
- ) do |t2|
16
- t2.add_text "#<a collection including ("
17
- end
16
+ collection_bookend: :open
17
+ ) do |t2|
18
+ t2.add_text '#<a collection including ('
19
+ end
18
20
 
19
21
  t1.nested do |t2|
20
22
  if SuperDiff::RSpec.a_collection_including_something?(object)
@@ -28,10 +30,10 @@ module SuperDiff
28
30
 
29
31
  # stree-ignore
30
32
  t1.as_lines_when_rendering_to_lines(
31
- collection_bookend: :close
32
- ) do |t2|
33
- t2.add_text ")>"
34
- end
33
+ collection_bookend: :close
34
+ ) do |t2|
35
+ t2.add_text ')>'
36
+ end
35
37
  end
36
38
  end
37
39
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -22,29 +24,29 @@ module SuperDiff
22
24
 
23
25
  # stree-ignore
24
26
  t3.when_rendering_to_lines do |t4|
25
- t4.add_text " {"
26
- end
27
+ t4.add_text ' {'
28
+ end
27
29
  end
28
30
 
29
31
  # stree-ignore
30
32
  t2.when_rendering_to_string do |t3|
31
- t3.add_text " "
32
- end
33
+ t3.add_text ' '
34
+ end
33
35
 
34
36
  # stree-ignore
35
37
  t2.nested do |t3|
36
- t3.insert_hash_inspection_of doubled_methods
37
- end
38
+ t3.insert_hash_inspection_of doubled_methods
39
+ end
38
40
 
39
41
  t2.as_lines_when_rendering_to_lines(
40
42
  collection_bookend: :close
41
43
  ) do |t3|
42
44
  # stree-ignore
43
45
  t3.when_rendering_to_lines do |t4|
44
- t4.add_text "}"
45
- end
46
+ t4.add_text '}'
47
+ end
46
48
 
47
- t3.add_text ">"
49
+ t3.add_text '>'
48
50
  end
49
51
  end
50
52
  end
@@ -63,26 +65,26 @@ module SuperDiff
63
65
  def inspected_class
64
66
  case object
65
67
  when ::RSpec::Mocks::InstanceVerifyingDouble
66
- "InstanceDouble"
68
+ 'InstanceDouble'
67
69
  when ::RSpec::Mocks::ClassVerifyingDouble
68
- "ClassDouble"
70
+ 'ClassDouble'
69
71
  when ::RSpec::Mocks::ObjectVerifyingDouble
70
- "ObjectDouble"
72
+ 'ObjectDouble'
71
73
  else
72
- "Double"
74
+ 'Double'
73
75
  end
74
76
  end
75
77
 
76
78
  def inspected_name
77
- if object.instance_variable_get("@name")
78
- object.instance_variable_get("@name").inspect
79
+ if object.instance_variable_get('@name')
80
+ object.instance_variable_get('@name').inspect
79
81
  else
80
- "(anonymous)"
82
+ '(anonymous)'
81
83
  end
82
84
  end
83
85
 
84
86
  def doubled_methods
85
- @_doubled_methods ||=
87
+ @doubled_methods ||=
86
88
  doubled_method_names.reduce({}) do |hash, key|
87
89
  hash.merge(key => object.public_send(key))
88
90
  end
@@ -91,7 +93,7 @@ module SuperDiff
91
93
  def doubled_method_names
92
94
  object
93
95
  .__send__(:__mock_proxy)
94
- .instance_variable_get("@method_doubles")
96
+ .instance_variable_get('@method_doubles')
95
97
  .keys
96
98
  end
97
99
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -11,10 +13,10 @@ module SuperDiff
11
13
  Core::InspectionTree.new do |t1|
12
14
  # stree-ignore
13
15
  t1.as_lines_when_rendering_to_lines(
14
- collection_bookend: :open
15
- ) do |t2|
16
- t2.add_text "#<a hash including ("
17
- end
16
+ collection_bookend: :open
17
+ ) do |t2|
18
+ t2.add_text '#<a hash including ('
19
+ end
18
20
 
19
21
  t1.nested do |t2|
20
22
  if SuperDiff::RSpec.a_hash_including_something?(object)
@@ -28,10 +30,10 @@ module SuperDiff
28
30
 
29
31
  # stree-ignore
30
32
  t1.as_lines_when_rendering_to_lines(
31
- collection_bookend: :close
32
- ) do |t2|
33
- t2.add_text ")>"
34
- end
33
+ collection_bookend: :close
34
+ ) do |t2|
35
+ t2.add_text ')>'
36
+ end
35
37
  end
36
38
  end
37
39
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -10,22 +12,22 @@ module SuperDiff
10
12
  Core::InspectionTree.new do |t1|
11
13
  # stree-ignore
12
14
  t1.as_lines_when_rendering_to_lines(
13
- collection_bookend: :open
14
- ) do |t2|
15
- t2.add_text "#<an object having attributes ("
16
- end
15
+ collection_bookend: :open
16
+ ) do |t2|
17
+ t2.add_text '#<an object having attributes ('
18
+ end
17
19
 
18
20
  # stree-ignore
19
21
  t1.nested do |t2|
20
- t2.insert_hash_inspection_of(object.expected)
21
- end
22
+ t2.insert_hash_inspection_of(object.expected)
23
+ end
22
24
 
23
25
  # stree-ignore
24
26
  t1.as_lines_when_rendering_to_lines(
25
- collection_bookend: :close
26
- ) do |t2|
27
- t2.add_text ")>"
28
- end
27
+ collection_bookend: :close
28
+ ) do |t2|
29
+ t2.add_text ')>'
30
+ end
29
31
  end
30
32
  end
31
33
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
@@ -9,19 +11,19 @@ module SuperDiff
9
11
  def call
10
12
  Core::InspectionTree.new do |t1|
11
13
  t1.as_prelude_when_rendering_to_lines do |t2|
12
- t2.add_text "#<a value within "
14
+ t2.add_text '#<a value within '
13
15
 
14
16
  t2.add_inspection_of(
15
- object.base_matcher.instance_variable_get("@delta"),
17
+ object.base_matcher.instance_variable_get('@delta'),
16
18
  as_lines: false
17
19
  )
18
20
 
19
- t2.add_text " of "
21
+ t2.add_text ' of '
20
22
  end
21
23
 
22
24
  t1.add_inspection_of object.expected
23
25
 
24
- t1.add_text ">"
26
+ t1.add_text '>'
25
27
  end
26
28
  end
27
29
  end
@@ -1,39 +1,41 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module InspectionTreeBuilders
4
6
  autoload(
5
7
  :CollectionContainingExactly,
6
- "super_diff/rspec/inspection_tree_builders/collection_containing_exactly"
8
+ 'super_diff/rspec/inspection_tree_builders/collection_containing_exactly'
7
9
  )
8
10
  autoload(
9
11
  :CollectionIncluding,
10
- "super_diff/rspec/inspection_tree_builders/collection_including"
12
+ 'super_diff/rspec/inspection_tree_builders/collection_including'
11
13
  )
12
- autoload :Double, "super_diff/rspec/inspection_tree_builders/double"
14
+ autoload :Double, 'super_diff/rspec/inspection_tree_builders/double'
13
15
  autoload(
14
16
  :GenericDescribableMatcher,
15
- "super_diff/rspec/inspection_tree_builders/generic_describable_matcher"
17
+ 'super_diff/rspec/inspection_tree_builders/generic_describable_matcher'
16
18
  )
17
19
  autoload(
18
20
  :HashIncluding,
19
- "super_diff/rspec/inspection_tree_builders/hash_including"
21
+ 'super_diff/rspec/inspection_tree_builders/hash_including'
20
22
  )
21
23
  autoload(
22
24
  :InstanceOf,
23
- "super_diff/rspec/inspection_tree_builders/instance_of"
25
+ 'super_diff/rspec/inspection_tree_builders/instance_of'
24
26
  )
25
- autoload :KindOf, "super_diff/rspec/inspection_tree_builders/kind_of"
27
+ autoload :KindOf, 'super_diff/rspec/inspection_tree_builders/kind_of'
26
28
  autoload(
27
29
  :ObjectHavingAttributes,
28
- "super_diff/rspec/inspection_tree_builders/object_having_attributes"
30
+ 'super_diff/rspec/inspection_tree_builders/object_having_attributes'
29
31
  )
30
32
  autoload(
31
33
  :Primitive,
32
- "super_diff/rspec/inspection_tree_builders/primitive"
34
+ 'super_diff/rspec/inspection_tree_builders/primitive'
33
35
  )
34
36
  autoload(
35
37
  :ValueWithin,
36
- "super_diff/rspec/inspection_tree_builders/value_within"
38
+ 'super_diff/rspec/inspection_tree_builders/value_within'
37
39
  )
38
40
  end
39
41
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module MatcherTextBuilders
@@ -40,11 +42,9 @@ module SuperDiff
40
42
 
41
43
  protected
42
44
 
43
- def add_extra_after_expected_to(template)
44
- end
45
+ def add_extra_after_expected_to(template); end
45
46
 
46
- def add_extra_after_error
47
- end
47
+ def add_extra_after_error; end
48
48
 
49
49
  def actual_color
50
50
  SuperDiff.configuration.actual_color
@@ -74,7 +74,7 @@ module SuperDiff
74
74
  template.add_break
75
75
  template.insert expected_section
76
76
  add_extra_after_expected_to(template)
77
- template.add_text_in_singleline_mode "."
77
+ template.add_text_in_singleline_mode '.'
78
78
  add_extra_after_error
79
79
  end
80
80
 
@@ -83,12 +83,12 @@ module SuperDiff
83
83
  template.add_text_in_multiline_mode do
84
84
  actual_phrase.rjust(phrase_width)
85
85
  end
86
- template.add_text " "
86
+ template.add_text ' '
87
87
  add_actual_value
88
88
  end
89
89
 
90
90
  def actual_phrase
91
- "Expected"
91
+ 'Expected'
92
92
  end
93
93
 
94
94
  def add_actual_value
@@ -109,7 +109,7 @@ module SuperDiff
109
109
  if respond_to?(:add_expected_value_to, true)
110
110
  add_expected_value_to(template, expected_for_failure_message)
111
111
  else
112
- template.add_text " "
112
+ template.add_text ' '
113
113
  template.add_text_in_color(
114
114
  expected_color,
115
115
  expected_for_failure_message
@@ -121,7 +121,7 @@ module SuperDiff
121
121
  if respond_to?(:add_expected_value_to, true)
122
122
  add_expected_value_to(template, expected_for_description)
123
123
  else
124
- template.add_text " "
124
+ template.add_text ' '
125
125
  template.add_text_in_color(expected_color, expected_for_description)
126
126
  end
127
127
  end
@@ -131,13 +131,13 @@ module SuperDiff
131
131
  end
132
132
 
133
133
  def to_or_not_to
134
- negated? ? "not to" : "to"
134
+ negated? ? 'not to' : 'to'
135
135
  end
136
136
 
137
137
  def phrase_width
138
138
  [actual_phrase, expected_phrase].map do |text|
139
- Csi.decolorize(text.to_s).length
140
- end
139
+ Csi.decolorize(text.to_s).length
140
+ end
141
141
  .max
142
142
  end
143
143
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module MatcherTextBuilders
@@ -18,11 +20,11 @@ module SuperDiff
18
20
 
19
21
  def expected_action_for_failure_message
20
22
  if predicate_accessible?
21
- "return a truthy result for"
23
+ 'return a truthy result for'
22
24
  elsif private_predicate?
23
- "have a public method"
25
+ 'have a public method'
24
26
  else
25
- "respond to"
27
+ 'respond to'
26
28
  end
27
29
  end
28
30
 
@@ -35,12 +37,12 @@ module SuperDiff
35
37
  end
36
38
 
37
39
  def add_expected_value_to_failure_message(template)
38
- template.add_text " "
40
+ template.add_text ' '
39
41
  template.add_text_in_color(
40
42
  expected_color,
41
43
  "#{expected_for_failure_message}?"
42
44
  )
43
- template.add_text " or "
45
+ template.add_text ' or '
44
46
  template.add_text_in_color(
45
47
  expected_color,
46
48
  "#{expected_for_failure_message}s?"
@@ -48,12 +50,12 @@ module SuperDiff
48
50
  end
49
51
 
50
52
  def add_expected_value_to_description(template)
51
- template.add_text " "
53
+ template.add_text ' '
52
54
  template.add_text_in_color(
53
55
  expected_color,
54
56
  "`#{expected_for_description}?`"
55
57
  )
56
- template.add_text " or "
58
+ template.add_text ' or '
57
59
  template.add_text_in_color(
58
60
  expected_color,
59
61
  "`#{expected_for_description}s?`"
@@ -63,18 +65,18 @@ module SuperDiff
63
65
  def add_extra_after_error
64
66
  if expected_predicate_method_name == :true?
65
67
  template.add_text "\n\n"
66
- template.add_text "(Perhaps you want to use "
67
- template.add_text_in_color(:blue, "be(true)")
68
- template.add_text " or "
69
- template.add_text_in_color(:blue, "be_truthy")
70
- template.add_text " instead?)"
68
+ template.add_text '(Perhaps you want to use '
69
+ template.add_text_in_color(:blue, 'be(true)')
70
+ template.add_text ' or '
71
+ template.add_text_in_color(:blue, 'be_truthy')
72
+ template.add_text ' instead?)'
71
73
  elsif expected_predicate_method_name == :false?
72
74
  template.add_text "\n\n"
73
- template.add_text "(Perhaps you want to use "
74
- template.add_text_in_color(:blue, "be(false)")
75
- template.add_text " or "
76
- template.add_text_in_color(:blue, "be_falsey")
77
- template.add_text " instead?)"
75
+ template.add_text '(Perhaps you want to use '
76
+ template.add_text_in_color(:blue, 'be(false)')
77
+ template.add_text ' or '
78
+ template.add_text_in_color(:blue, 'be_falsey')
79
+ template.add_text ' instead?)'
78
80
  end
79
81
  end
80
82
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module MatcherTextBuilders
@@ -5,7 +7,7 @@ module SuperDiff
5
7
  protected
6
8
 
7
9
  def add_expected_value_to(template, expected)
8
- template.add_text " "
10
+ template.add_text ' '
9
11
  template.add_list_in_color(expected_color, expected)
10
12
  end
11
13
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module MatcherTextBuilders
@@ -12,11 +14,11 @@ module SuperDiff
12
14
 
13
15
  def expected_action_for_failure_message
14
16
  if predicate_accessible?
15
- "return a truthy result for"
17
+ 'return a truthy result for'
16
18
  elsif private_predicate?
17
- "have a public method"
19
+ 'have a public method'
18
20
  else
19
- "respond to"
21
+ 'respond to'
20
22
  end
21
23
  end
22
24
 
@@ -29,7 +31,7 @@ module SuperDiff
29
31
  end
30
32
 
31
33
  def add_expected_value_to_failure_message(template)
32
- template.add_text " "
34
+ template.add_text ' '
33
35
  template.add_text_in_color(
34
36
  expected_color,
35
37
  expected_for_failure_message
@@ -37,7 +39,7 @@ module SuperDiff
37
39
  end
38
40
 
39
41
  def add_expected_value_to_description(template)
40
- template.add_text " "
42
+ template.add_text ' '
41
43
  template.add_text_in_color(
42
44
  expected_color,
43
45
  "`#{expected_for_description}`"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module MatcherTextBuilders
@@ -8,10 +10,10 @@ module SuperDiff
8
10
  end
9
11
 
10
12
  def add_extra
11
- if expected_captures
12
- template.add_text "with captures "
13
- template.add_text_in_color :blue, description_of(expected_captures)
14
- end
13
+ return unless expected_captures
14
+
15
+ template.add_text 'with captures '
16
+ template.add_text_in_color :blue, description_of(expected_captures)
15
17
  end
16
18
 
17
19
  private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SuperDiff
2
4
  module RSpec
3
5
  module MatcherTextBuilders
@@ -5,10 +7,10 @@ module SuperDiff
5
7
  protected
6
8
 
7
9
  def actual_phrase
8
- if actual == "exception-free block"
9
- "Expected"
10
+ if actual == 'exception-free block'
11
+ 'Expected'
10
12
  else
11
- "Expected raised exception"
13
+ 'Expected raised exception'
12
14
  end
13
15
  end
14
16
  end