On Mon, Sep 7, 2015 at 12:19 AM, Matthieu Moy <Matthieu.Moy@xxxxxxxxxxxxxxx> wrote: > Karthik Nayak <karthik.188@xxxxxxxxx> writes: > >> @@ -705,9 +719,12 @@ static void grab_sub_body_contents(struct atom_value *val, int deref, struct obj >> v->s = xstrdup(subpos); >> else if (skip_prefix(name, "contents:lines=", &valp)) { >> struct strbuf s = STRBUF_INIT; >> + const char *contents_end = bodylen + bodypos - siglen; >> + >> if (strtoul_ui(valp, 10, &v->u.contents.lines)) >> - die(_("positive width expected contents:lines=%s"), valp); >> - append_lines(&s, subpos, sublen + bodylen - siglen, v->u.contents.lines); >> + die(_("positive value expected contents:lines=%s"), valp); >> + /* Size is the length of the message after removing the signature */ > > Nit: double-space after /*. > >> -test_expect_success 'alignment with format quote' ' >> - cat >expect <<-EOF && >> - refname is ${sq} ${sq}\\${sq}${sq}master${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}side${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}odd/spot${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}double-tag${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}four${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}one${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}signed-tag${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}three${sq}\\${sq}${sq} ${sq}| >> - refname is ${sq} ${sq}\\${sq}${sq}two${sq}\\${sq}${sq} ${sq}| >> +test_expect_success 'alignment with format quote' " >> + cat >expect <<-\EOF && >> + |' master| A U Thor '| >> + |' side| A U Thor '| >> + |' odd/spot| A U Thor '| >> + |' double-tag| '| >> + |' four| A U Thor '| >> + |' one| A U Thor '| >> + |' signed-tag| '| >> + |' three| A U Thor '| >> + |' two| A U Thor '| >> EOF >> - git for-each-ref --shell --format="refname is %(align:30,middle)${sq}%(refname:short)${sq}%(end)|" >actual && >> + git for-each-ref --shell --format='|%(align:30,middle)%(refname:short)| %(authorname)%(end)|' >actual && >> test_cmp expect actual >> -' >> +" > > The new test is indeed easier to read, but you're not testing anymore > the consequence of a single-quote within the aligned string. > > An implementation that just adds single-quotes around the string without > turning ' into '\'' would be broken but still pass the test. > You're right, should squash this in diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh index d0c0139..778c33b 100755 --- a/t/t6302-for-each-ref-filter.sh +++ b/t/t6302-for-each-ref-filter.sh @@ -137,17 +137,17 @@ test_expect_success 'right alignment' ' test_expect_success 'alignment with format quote' " cat >expect <<-\EOF && - |' master| A U Thor '| - |' side| A U Thor '| - |' odd/spot| A U Thor '| - |' double-tag| '| - |' four| A U Thor '| - |' one| A U Thor '| - |' signed-tag| '| - |' three| A U Thor '| - |' two| A U Thor '| + |' '\''master| A U Thor'\'' '| + |' '\''side| A U Thor'\'' '| + |' '\''odd/spot| A U Thor'\'' '| + |' '\''double-tag| '\'' '| + |' '\''four| A U Thor'\'' '| + |' '\''one| A U Thor'\'' '| + |' '\''signed-tag| '\'' '| + |' '\''three| A U Thor'\'' '| + |' '\''two| A U Thor'\'' '| EOF - git for-each-ref --shell --format='|%(align:30,middle)%(refname:short)| %(authorname)%(end)|' >actual && + git for-each-ref --shell --format=\"|%(align:30,middle)'%(refname:short)| %(authorname)'%(end)|\" >actual && test_cmp expect actual " -- Regards, Karthik Nayak -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html