(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:'git p4 handling of UTF-16 files without BOM' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./lib-git-p4.sh)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:UTF16)
          op: assign_op.Equal
          rhs: 
            {
              (DQ (Id.Lit_Other '\\') (227) (Id.Lit_Other '\\') (000) (Id.Lit_Other '\\') (227) 
                (Id.Lit_Other '\\') (000)
              )
            }
          spids: [15]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'start p4d' span_id:31))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\tstart_p4d\n' span_id:36)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'init depot with UTF-16 encoded file and artificially remove BOM'
            span_id: 43
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:47) (Token id:Id.Lit_Chars val:'\t(\n' span_id:48) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:49) (Token id:Id.Lit_Chars val:'\t\tprintf "$UTF16" >file1 &&\n' span_id:50) 
          (Token id:Id.Lit_Chars val:'\t\tp4 add -t utf16 file1 &&\n' span_id:51) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "file1"\n' span_id:52) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:53) (Token id:Id.Lit_Chars val:'\n' span_id:54) (Token id:Id.Lit_Chars val:'\t(\n' span_id:55) 
          (Token id:Id.Lit_Chars val:'\t\tcd db &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\t\tp4d -jc &&\n' span_id:57) 
          (Token
            id: Id.Lit_Chars
            val: '\t\t# P4D automatically adds a BOM. Remove it here to make the file invalid.\n'
            span_id: 58
          ) (Token id:Id.Lit_Chars val:'\t\tsed -e "\\$d" depot/file1,v >depot/file1,v.new &&\n' span_id:59) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tmv depot/file1,v.new depot/file1,v &&\n'
            span_id: 60
          ) (Token id:Id.Lit_Chars val:'\t\tprintf "@$UTF16@" >>depot/file1,v &&\n' span_id:61) 
          (Token id:Id.Lit_Chars val:'\t\tp4d -jrF checkpoint.1\n' span_id:62) (Token id:Id.Lit_Chars val:'\t)\n' span_id:63)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'clone depot with invalid UTF-16 file in verbose mode'
            span_id: 70
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:74) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --dest="$git" --verbose //depot &&\n'
            span_id: 75
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:76) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:77) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:78) 
          (Token id:Id.Lit_Chars val:'\t\tprintf "$UTF16" >expect &&\n' span_id:79) (Token id:Id.Lit_Chars val:'\t\ttest_cmp_bin expect file1\n' span_id:80) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:81)
        )
      }
    )
    (C {(test_expect_failure)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'clone depot with invalid UTF-16 file in non-verbose mode'
            span_id: 88
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:92) 
          (Token id:Id.Lit_Chars val:'\tgit p4 clone --dest="$git" //depot\n' span_id:93)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'kill p4d' span_id:100))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:104) 
          (Token id:Id.Lit_Chars val:'\tkill_p4d\n' span_id:105)
        )
      }
    )
    (C {(test_done)})
  ]
)