(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'diff hunk header truncation'>)}
          spids: [4]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:N)
          op: assign_op.Equal
          rhs: {(SQ <'日本語'>)}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:N1)
          op: assign_op.Equal
          rhs: {(SQ <'日'>)}
          spids: [20]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:N2)
          op: assign_op.Equal
          rhs: {(SQ <'日本'>)}
          spids: [25]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NS)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') 
                ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') 
                ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N') 
                ($ Id.VSub_DollarName '$N') ($ Id.VSub_DollarName '$N')
              )
            }
          spids: [30]
        )
      ]
    )
    (C {<test_expect_success>} {<setup>} 
      {
        (SQ <'\n'> <'\n'> <'\t(\n'> <'\t\techo "A $NS"\n'> <'\t\tfor c in B C D E F G H I J K\n'> 
          <'\t\tdo\n'> <'\t\t\techo "  $c"\n'> <'\t\tdone\n'> <'\t\techo "L  $NS"\n'> <'\t\tfor c in M N O P Q R S T U V\n'> 
          <'\t\tdo\n'> <'\t\t\techo "  $c"\n'> <'\t\tdone\n'> <'\t) >file &&\n'> <'\tgit add file &&\n'> <'\n'> 
          <'\tsed -e "/^  [EP]/s/$/ modified/" <file >file+ &&\n'> <'\tmv file+ file\n'> <'\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'hunk header truncation with an overly long line'>)} 
      {
        (SQ <'\n'> <'\n'> <'\tgit diff | sed -n -e "s/^.*@@//p" >actual &&\n'> <'\t(\n'> 
          <'\t\techo " A $N$N$N$N$N$N$N$N$N2"\n'> <'\t\techo " L  $N$N$N$N$N$N$N$N$N1"\n'> <'\t) >expected &&\n'> <'\ttest_cmp actual expected\n'> <'\n'>
        )
      }
    )
    (C {<test_done>})
  ]
)