(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'grep icase on non-English locales' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./lib-gettext.sh)})
    (C {(test_expect_success)} {(GETTEXT_LOCALE)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:20))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:24) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_write_lines "TILRAUN: Hall\xc3\xb3 Heimur!" >file &&\n'
            span_id: 25
          ) (Token id:Id.Lit_Chars val:'\tgit add file &&\n' span_id:26) 
          (Token id:Id.Lit_Chars val:'\tLC_ALL="$is_IS_locale" &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\texport LC_ALL\n' span_id:28)
        )
      }
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DAmp]
      children: [
        (C {(test_have_prereq)} {(GETTEXT_LOCALE)})
        (C {(test-regex)} {(DQ ('HALL\xc3\x93'))} {(DQ ('Hall\xc3\xb3'))} {(ICASE)})
        (C {(test_set_prereq)} {(REGEX_LOCALE)})
      ]
    )
    (C {(test_expect_success)} {(REGEX_LOCALE)} 
      {(SQ (Token id:Id.Lit_Chars val:'grep literal string, no -F' span_id:62))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:66) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit grep -i "TILRAUN: Hall\xc3\xb3 Heimur!" &&\n'
            span_id: 67
          ) (Token id:Id.Lit_Chars val:'\tgit grep -i "TILRAUN: HALL\xc3\x93 HEIMUR!"\n' span_id:68)
        )
      }
    )
    (C {(test_expect_success)} {(GETTEXT_LOCALE) (Id.Lit_Comma ',') (LIBPCRE)} 
      {(SQ (Token id:Id.Lit_Chars val:'grep pcre utf-8 icase' span_id:79))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:83) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit grep --perl-regexp    "TILRAUN: H.ll\xc3\xb3 Heimur!" &&\n'
            span_id: 84
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit grep --perl-regexp -i "TILRAUN: H.ll\xc3\xb3 Heimur!" &&\n'
            span_id: 85
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit grep --perl-regexp -i "TILRAUN: H.LL\xc3\x93 HEIMUR!"\n'
            span_id: 86
          )
        )
      }
    )
    (C {(test_expect_success)} {(GETTEXT_LOCALE) (Id.Lit_Comma ',') (LIBPCRE)} 
      {(SQ (Token id:Id.Lit_Chars val:'grep pcre utf-8 string with "+"' span_id:97))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:101) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_write_lines "TILRAUN: Hall\xc3\xb3\xc3\xb3 Heimur!" >file2 &&\n'
            span_id: 102
          ) (Token id:Id.Lit_Chars val:'\tgit add file2 &&\n' span_id:103) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit grep -l --perl-regexp "TILRAUN: H.ll\xc3\xb3+ Heimur!" >actual &&\n'
            span_id: 104
          ) (Token id:Id.Lit_Chars val:'\techo file >expected &&\n' span_id:105) 
          (Token id:Id.Lit_Chars val:'\techo file2 >>expected &&\n' span_id:106) (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:107)
        )
      }
    )
    (C {(test_expect_success)} {(REGEX_LOCALE)} 
      {(SQ (Token id:Id.Lit_Chars val:'grep literal string, with -F' span_id:116))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:120) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit grep --debug -i -F "TILRAUN: Hall\xc3\xb3 Heimur!"  2>&1 >/dev/null |\n'
            span_id: 121
          ) (Token id:Id.Lit_Chars val:'\t\t grep fixed >debug1 &&\n' span_id:122) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_write_lines "fixed TILRAUN: Hall\xc3\xb3 Heimur!" >expect1 &&\n'
            span_id: 123
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect1 debug1 &&\n' span_id:124) 
          (Token id:Id.Lit_Chars val:'\n' span_id:125) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit grep --debug -i -F "TILRAUN: HALL\xc3\x93 HEIMUR!"  2>&1 >/dev/null |\n'
            span_id: 126
          ) (Token id:Id.Lit_Chars val:'\t\t grep fixed >debug2 &&\n' span_id:127) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_write_lines "fixed TILRAUN: HALL\xc3\x93 HEIMUR!" >expect2 &&\n'
            span_id: 128
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect2 debug2\n' span_id:129)
        )
      }
    )
    (C {(test_expect_success)} {(REGEX_LOCALE)} 
      {(SQ (Token id:Id.Lit_Chars val:'grep string with regex, with -F' span_id:138))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:142) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_write_lines "^*TILR^AUN:.* \\\\Hall\xc3\xb3 \\$He[]imur!\\$" >file &&\n'
            span_id: 143
          ) (Token id:Id.Lit_Chars val:'\n' span_id:144) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tgit grep --debug -i -F "^*TILR^AUN:.* \\\\Hall\xc3\xb3 \\$He[]imur!\\$" 2>&1 >/dev/null |\n'
            span_id: 145
          ) (Token id:Id.Lit_Chars val:'\t\t grep fixed >debug1 &&\n' span_id:146) 
          (Token
            id: Id.Lit_Chars
            val: 
'\ttest_write_lines "fixed \\\\^*TILR^AUN:\\\\.\\\\* \\\\\\\\Hall\xc3\xb3 \\$He\\\\[]imur!\\\\\\$" >expect1 &&\n'
            span_id: 147
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect1 debug1 &&\n' span_id:148) 
          (Token id:Id.Lit_Chars val:'\n' span_id:149) 
          (Token
            id: Id.Lit_Chars
            val: 
'\tgit grep --debug -i -F "^*TILR^AUN:.* \\\\HALL\xc3\x93 \\$HE[]IMUR!\\$"  2>&1 >/dev/null |\n'
            span_id: 150
          ) (Token id:Id.Lit_Chars val:'\t\t grep fixed >debug2 &&\n' span_id:151) 
          (Token
            id: Id.Lit_Chars
            val: 
'\ttest_write_lines "fixed \\\\^*TILR^AUN:\\\\.\\\\* \\\\\\\\HALL\xc3\x93 \\$HE\\\\[]IMUR!\\\\\\$" >expect2 &&\n'
            span_id: 152
          ) (Token id:Id.Lit_Chars val:'\ttest_cmp expect2 debug2\n' span_id:153)
        )
      }
    )
    (C {(test_expect_success)} {(REGEX_LOCALE)} 
      {(SQ (Token id:Id.Lit_Chars val:'pickaxe -i on non-ascii' span_id:162))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:166) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m first &&\n' span_id:167) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit log --format=%f -i -S"TILRAUN: HALL\xc3\x93 HEIMUR!" >actual &&\n'
            span_id: 168
          ) (Token id:Id.Lit_Chars val:'\techo first >expected &&\n' span_id:169) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expected actual\n' span_id:170)
        )
      }
    )
    (C {(test_done)})
  ]
)