main
 1// Copyright 2024 Google LLC
 2//
 3// Licensed under the Apache License, Version 2.0 (the "License");
 4// you may not use this file except in compliance with the License.
 5// You may obtain a copy of the License at
 6//
 7//     https://www.apache.org/licenses/LICENSE-2.0
 8//
 9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15import * as assert from 'node:assert'
16import 'zx/globals'
17;(async () => {
18  // smoke test async
19  {
20    const p = await $`echo foo`
21    assert.match(p.stdout, /foo/)
22  }
23
24  // smoke test sync
25  {
26    const p = $.sync`echo foo`
27    assert.match(p.stdout, /foo/)
28  }
29
30  // captures err stack
31  {
32    const p = await $({ nothrow: true })`echo foo; exit 3`
33    assert.match(p.message, /exit code: 3/)
34  }
35})()
36
37console.log('smoke ts: ok')