fune/third_party/rust/uniffi-example-sprites/tests/bindings/test_sprites.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

25 lines
625 B
Kotlin

import uniffi.sprites.*;
val sempty = Sprite(null)
assert( sempty.getPosition() == Point(0.0, 0.0) )
val s = Sprite(Point(0.0, 1.0))
assert( s.getPosition() == Point(0.0, 1.0) )
s.moveTo(Point(1.0, 2.0))
assert( s.getPosition() == Point(1.0, 2.0) )
s.moveBy(Vector(-4.0, 2.0))
assert( s.getPosition() == Point(-3.0, 4.0) )
s.destroy()
try {
s.moveBy(Vector(0.0, 0.0))
assert(false) { "Should not be able to call anything after `destroy`" }
} catch(e: IllegalStateException) {
assert(true)
}
val srel = Sprite.newRelativeTo(Point(0.0, 1.0), Vector(1.0, 1.5))
assert( srel.getPosition() == Point(1.0, 2.5) )