mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 04:12:56 -04:00
31 lines
839 B
Rust
31 lines
839 B
Rust
use bitdo_proto::{DeviceSession, MockTransport, SessionConfig, VidPid};
|
|
|
|
#[test]
|
|
fn firmware_transfer_chunks_and_commit() {
|
|
let mut transport = MockTransport::default();
|
|
for _ in 0..4 {
|
|
transport.push_read_data(vec![0x02, 0x10, 0x00, 0x00]);
|
|
}
|
|
|
|
let mut session = DeviceSession::new(
|
|
transport,
|
|
VidPid::new(0x2dc8, 24585),
|
|
SessionConfig {
|
|
allow_unsafe: true,
|
|
brick_risk_ack: true,
|
|
experimental: true,
|
|
..SessionConfig::default()
|
|
},
|
|
)
|
|
.expect("session init");
|
|
|
|
let image = vec![0xAB; 120];
|
|
let report = session
|
|
.firmware_transfer(&image, 50, false)
|
|
.expect("fw transfer");
|
|
assert_eq!(report.chunks_sent, 3);
|
|
|
|
let transport = session.into_transport();
|
|
assert_eq!(transport.writes().len(), 4);
|
|
}
|