git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Eric Sunshine <sunshine@sunshineco.com>
To: Karthik Nayak <karthik.188@gmail.com>
Cc: Git List <git@vger.kernel.org>,
	Christian Couder <christian.couder@gmail.com>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
	Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v7 03/11] ref-filter: add option to pad atoms to the right
Date: Thu, 30 Jul 2015 13:56:46 -0400	[thread overview]
Message-ID: <CAPig+cR709U7zy3+F4eoiyUBhA=c2ZCxPc9uUoDQLOuooFxvzQ@mail.gmail.com> (raw)
In-Reply-To: <1438271332-10615-3-git-send-email-Karthik.188@gmail.com>

On Thu, Jul 30, 2015 at 11:48 AM, Karthik Nayak <karthik.188@gmail.com> wrote:
> Add a new atom "padright" and support %(padright:X) where X is a
> number.  This will align the succeeding atom or string to the left
> followed by spaces for a total length of X characters. If X is less
> than the atom or string length then no padding is done.
>
> Add tests and documentation for the same.
>
> Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
> ---
> diff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh
> index 505a360..48caac9 100755
> --- a/t/t6302-for-each-ref-filter.sh
> +++ b/t/t6302-for-each-ref-filter.sh
> @@ -81,4 +81,36 @@ test_expect_success 'filtering with --contains' '
>         test_cmp expect actual
>  '
>
> +test_expect_success 'padding to the right using `padright`' '
> +       cat >expect <<-\EOF &&
> +       master|    master    |
> +       side|    side      |
> +       odd/spot|    odd/spot  |
> +       double-tag|    double-tag|
> +       four|    four      |
> +       one|    one       |
> +       signed-tag|    signed-tag|
> +       three|    three     |
> +       two|    two       |
> +       EOF
> +       git for-each-ref --format="%(refname:short)%(padright:5)|%(padright:10)%(refname:short)|" >actual &&
> +       test_cmp expect actual
> +'

In an earlier review, Matthieu pointed out that this test failed to
ensure that the 'padright' value did not leak into the next atom. In a
subsequent version, you fixed the test to check that condition, but
now you've somewhat lost it again, at least visually. That is, because
whitespace is "invisible" and because 'padright' now also affects
literal strings, someone reading this test can't tell if those
trailing |'s in the expected output are padded or not. You could use a
different format string to prove that the 'padright' value doesn't
leak. For instance:

    %(padright:10)%(refname:short)|%(padright:5)|%(refname:short)

This way, as long as the two |'s are side-by-side, then you've proved
that the first one wasn't affected by the preceding 'padright:10'. You
could also add back the %(refname:short) at the front of the pattern,
as you currently have it, if you want to prove that padding is not
enabled at the start of format.

> +test_expect_success 'no padding when `padright` length is smaller than atom length' '
> +       cat >expect <<-\EOF &&
> +       refs/heads/master|
> +       refs/heads/side|
> +       refs/odd/spot|
> +       refs/tags/double-tag|
> +       refs/tags/four|
> +       refs/tags/one|
> +       refs/tags/signed-tag|
> +       refs/tags/three|
> +       refs/tags/two|
> +       EOF
> +       git for-each-ref --format="%(padright:5)%(refname)|" >actual &&
> +       test_cmp expect actual
> +'
> +
>  test_done
> --
> 2.4.6

  reply	other threads:[~2015-07-30 17:56 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-30 15:34 [PATCH v7 0/11] port tag.c to use ref-filter APIs Karthik Nayak
2015-07-30 15:48 ` [PATCH v7 01/11] ref-filter: introduce 'ref_formatting_state' Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 02/11] ref-filter: make `color` use `ref_formatting_state` Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 03/11] ref-filter: add option to pad atoms to the right Karthik Nayak
2015-07-30 17:56     ` Eric Sunshine [this message]
2015-08-01  6:03       ` Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 04/11] ref-filter: add option to filter only tags Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 05/11] ref-filter: support printing N lines from tag annotation Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 06/11] ref-filter: add support to sort by version Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 07/11] ref-filter: add option to match literal pattern Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 08/11] tag.c: use 'ref-filter' data structures Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 09/11] tag.c: use 'ref-filter' APIs Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 10/11] tag.c: implement '--format' option Karthik Nayak
2015-07-30 15:48   ` [PATCH v7 11/11] tag.c: implement '--merged' and '--no-merged' options Karthik Nayak
2015-07-30 15:49 ` [PATCH v7 0/11] port tag.c to use ref-filter APIs Karthik Nayak
2015-08-02 17:32 ` Matthieu Moy
2015-08-03  7:22   ` Karthik Nayak
  -- strict thread matches above, loose matches on Subject: below --
2015-07-28  6:32 [PATCH v6 0/10] " Karthik Nayak
2015-07-30 15:35 ` [PATCH v7 01/11] ref-filter: introduce 'ref_formatting_state' Karthik Nayak
2015-07-30 15:35   ` [PATCH v7 03/11] ref-filter: add option to pad atoms to the right Karthik Nayak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPig+cR709U7zy3+F4eoiyUBhA=c2ZCxPc9uUoDQLOuooFxvzQ@mail.gmail.com' \
    --to=sunshine@sunshineco.com \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=karthik.188@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).