fune/third_party/rust/uniffi-example-arithmetic/tests/bindings/test_arithmetic.kts
Ben Dean-Kawamura 760c603bcb Bug 1766045 - Vendoring in Rust code for uniffi-bindgen-gecko-js r=glandium,supply-chain-reviewers
- Added `--enable-uniffi-fixtures` flag.  When set, we will compile in
  the UniFFI test fixtures into our shared Rust crate and eventually
  into `libxul`.
- Vendoring in the Rust crates needed for `uniffi-bindgen-gecko-js`

Differential Revision: https://phabricator.services.mozilla.com/D144467
2022-08-03 13:48:27 +00:00

29 lines
588 B
Kotlin

import org.mozilla.uniffi.example.arithmetic.*;
assert(add(2u, 4u) == 6uL)
assert(add(4u, 8u) == 12uL)
try {
sub(0u, 2u)
throw RuntimeException("Should have thrown a IntegerOverflow exception!")
} catch (e: ArithmeticException) {
// It's okay!
}
assert(sub(4u, 2u) == 2uL)
assert(sub(8u, 4u) == 4uL)
assert(div(8u, 4u) == 2uL)
try {
div(8u, 0u)
throw RuntimeException("Should have panicked when dividing by zero")
} catch (e: InternalException) {
// It's okay!
}
assert(equal(2u, 2uL))
assert(equal(4u, 4uL))
assert(!equal(2u, 4uL))
assert(!equal(4u, 8uL))