diff --git a/lib/orthoses/content.rb b/lib/orthoses/content.rb index 3e29e5a..85d5a52 100644 --- a/lib/orthoses/content.rb +++ b/lib/orthoses/content.rb @@ -68,7 +68,7 @@ def sort! require 'rbs/sorter' sorter = ::RBS::Sorter.new(nil, stdout: nil) decl = to_decl - sorter.sort_decl!(decl) + decl = sorter.sort_decl(decl) lines = decl_to_lines(decl) @body.replace(lines) end diff --git a/lib/orthoses/sort_test.rb b/lib/orthoses/sort_test.rb new file mode 100644 index 0000000..0bc1c1e --- /dev/null +++ b/lib/orthoses/sort_test.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +begin + require 'test_helper' +rescue LoadError +end + +module SortTest + def test_sort(t) + store = Orthoses::Builder.new do + use Orthoses::Sort + use Orthoses::Tap do |store| + store["Foo"].header = "class Foo" + store["Foo"] << "def foo: () -> void" + store["Foo"] << "def baz: () -> void" + store["Foo"] << "def bar: () -> void" + end + run -> () {} + end.call + + actual = store.map { |n, c| c.to_rbs }.join("\n") + expect = <<~RBS + class Foo + def bar: () -> void + def baz: () -> void + def foo: () -> void + end + RBS + unless expect == actual + t.error("expect=\n```rbs\n#{expect}```\n, but got \n```rbs\n#{actual}```\n") + end + end +end