sapphire-lang 0.8.0

Gradually typed scripting language where every value is an object and types are optional, checked at runtime
Documentation
class ProcessTest < Test {
  def test_pid_is_positive_integer {
    assert(Process.pid > 0)
  }

  def test_args_returns_list {
    assert(Process.args.is_a?(List))
  }

  def test_run_stdout {
    result = Process.run("echo hello")
    assert_equal("hello\n", result.stdout)
  }

  def test_run_exit_code_success {
    result = Process.run("true")
    assert_equal(0, result.exit_code)
  }

  def test_run_exit_code_failure {
    result = Process.run("false")
    assert_equal(1, result.exit_code)
  }

  def test_run_stderr {
    result = Process.run("echo error >&2")
    assert_equal("error\n", result.stderr)
  }
}