From: lilinchao@oschina.cn Date: Wed, 29 Jun 2022 07:12:13 GMT Subject: Re: Re: [PATCH v3] ls-files: update test style Message-ID: <2022062915111229306214@oschina.cn> In-Reply-To: >"Li Linchao via GitGitGadget" writes: > >> diff --git a/t/README b/t/README >> index 309a31133c6..5e0539412b4 100644 >> --- a/t/README >> +++ b/t/README >> @@ -547,6 +547,52 @@ This test harness library does the following things: >>     consistently when command line arguments --verbose (or -v), >>     --debug (or -d), and --immediate (or -i) is given. >>  >> +Recommended style >> +----------------- >> +Here are some recommented styles when writing test case. >> + >> + - Keep test title the same line with test helper function itself. >> + >> +   Take test_expect_success helper for example, write it like: >> + >> +  test_expect_success 'test title' ' >> +  ... test body ... >> +  ' > >Indent the body further to the right? > >> + - Indent the body of here-document, and use "<< -" instead of "<<" to strip prefix TAB: > >Overly long line. > >Did you mean to have a space between "<<" and "-"? Ops, I'll fix it. This came from an extension in VS code which is to preview AsciiDoc, it mistakenly render "<<-" into "<←", so I put a space between "<<" and "-". > >"prefix TAB" -> "leading TABs used for indentation" (plural is the >important part)?  > >Mention end of here-document marker should by default be quoted, >unless the body needs $variable_interpolation? Sorry, I don't get it. I don't see many of ending "EOF" are quoted in our tests. > >> +  test_expect_success 'test something' ' >> +      cat >expect <<-\EOF && >> +      one >> +      two >> +      three >> +      EOF >> +      test_something > actual && >> +      test_cmp expect actual >> +  ' >> + >> +   Instead of: >> + >> +  test_expect_success 'test something' ' >> +      cat >expect <<\EOF && >> +  one >> +  two >> +  three >> +  EOF >> +      test_something > actual && >> +      test_cmp expect actual >> +  ' > > >Thanks.