[PATCH v2 27/27] userdiff tests: add basic test for ruby
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Feb 15, 2021, 15:44 UTC
- Message-ID
- <20210215154427.32693-28-avarab@gmail.com>
- In-Reply-To
- <20210215005236.11313-1-avarab@gmail.com>
Add a test for the Ruby pattern added way back in ad8c1d9260 (diff: add ruby funcname pattern, 2008-07-31).
The "One/Two" picking demonstrates existing behavior, and a general case where we may not do what the user expects since we're not aware of the indentation level.
The code is modified from the Ruby code we have in-tree at Documentation/asciidoctor-extensions.rb.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- t/t4018/ruby.sh | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 t/t4018/ruby.sh
diff --git a/t/t4018/ruby.sh b/t/t4018/ruby.sh new file mode 100755 index 0000000000..1e9bfef863 --- /dev/null +++ b/t/t4018/ruby.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# +# See ../t4018-diff-funcname.sh's test_diff_funcname() +# + +test_diff_funcname 'ruby: "def" over "class/module"' \ + 8<<\EOF_HUNK 9<<\EOF_TEST +def process(parent) +EOF_HUNK +require 'asciidoctor' + +module Git + module Documentation + class SomeClass + use_some + + def process(parent) + puts("hello") + puts(ChangeMe) + end + end + end +end +EOF_TEST + +test_diff_funcname 'ruby: "class" over "class/module"' \ + 8<<\EOF_HUNK 9<<\EOF_TEST +class Two +EOF_HUNK +module Git + module Documentation + class One + end + + class Two + # Spacing for -U1 + ChangeMe + end + end +end +EOF_TEST + +test_diff_funcname 'ruby: picks first "class/module/def" before changed context' \ + "class Two" \ + 8<<\EOF_HUNK 9<<\EOF_TEST +class One +EOF_HUNK +module Git + module Documentation + class One + end + + class Two + ChangeMe + end + end +end +EOF_TEST
-- 2.30.0.284.gd98b1dd5eaa7