Skip to content

Commit

Permalink
Added test back in, lock cursor properly so the cursor doesn't leave …
Browse files Browse the repository at this point in the history
…the window.
  • Loading branch information
fourbytes committed May 8, 2020
1 parent a1ab3e5 commit 21503a6
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 40 deletions.
1 change: 1 addition & 0 deletions client/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use anyhow::Result;
use log::{error, info};
use std::path::Path;
use futures::executor::block_on;
use voxel_rs_common::network::dummy;
use voxel_rs_server::launch_server;

Expand Down
78 changes: 39 additions & 39 deletions client/src/render/buffers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

use std::collections::HashMap;
use std::hash::Hash;
use futures::executor::block_on;

use super::{ buffer_from_slice, to_u8_slice };

Expand Down Expand Up @@ -332,53 +333,52 @@ mod tests {
use super::*;

// TODO: test on all backends
// TODO: Setup tokio as a dev dependency so we can do async tests.
#[test]
fn test_multi_buffer() {
// use wgpu::*;
use wgpu::*;

// let adapter = Adapter::request(&RequestAdapterOptions {
// compatible_surface: None,
// power_preference: PowerPreference::HighPerformance,
// }, BackendBit::PRIMARY); //.await?;
// let (device, mut queue) = adapter.request_device(&DeviceDescriptor {
// extensions: Extensions {
// anisotropic_filtering: false,
// },
// limits: Limits::default(),
// });
// let mut encoder = device.create_command_encoder(&CommandEncoderDescriptor { label: None });
let adapter = block_on(Adapter::request(&RequestAdapterOptions {
compatible_surface: None,
power_preference: PowerPreference::HighPerformance,
}, BackendBit::PRIMARY)).unwrap();
let (device, mut queue) = block_on(adapter.request_device(&DeviceDescriptor {
extensions: Extensions {
anisotropic_filtering: false,
},
limits: Limits::default(),
}));
let mut encoder = device.create_command_encoder(&CommandEncoderDescriptor { label: None });

// // Create initial buffer
// let mut multi_buffer = MultiBuffer::with_capacity(&device, 10, BufferUsage::NONE);
// Create initial buffer
let mut multi_buffer = MultiBuffer::with_capacity(&device, 10, BufferUsage::NONE);

// let seg1 = [2u16, 3u16, 4u16];
// let seg2 = [5u16, 6u16, 7u16, 8u16];
// let seg3 = [9u16];
let seg1 = [2u16, 3u16, 4u16];
let seg2 = [5u16, 6u16, 7u16, 8u16];
let seg3 = [9u16];

// // Single insert
// multi_buffer.update(&device, &mut encoder, 0u16, &seg1);
// multi_buffer.remove(&0u16);
// assert_eq!(multi_buffer.get_pos_len(&0), None);
// Single insert
multi_buffer.update(&device, &mut encoder, 0u16, &seg1);
multi_buffer.remove(&0u16);
assert_eq!(multi_buffer.get_pos_len(&0), None);

// // Double insert
// multi_buffer.update(&device, &mut encoder, 1u16, &seg2);
// assert_eq!(multi_buffer.get_pos_len(&1), Some((0, 4)));
// multi_buffer.update(&device, &mut encoder, 2u16, &seg2);
// assert_eq!(multi_buffer.get_pos_len(&2), Some((4, 4)));
// multi_buffer.remove(&1u16);
// assert_eq!(multi_buffer.get_pos_len(&1), None);
// assert_eq!(multi_buffer.get_pos_len(&2), Some((4, 4)));
// Double insert
multi_buffer.update(&device, &mut encoder, 1u16, &seg2);
assert_eq!(multi_buffer.get_pos_len(&1), Some((0, 4)));
multi_buffer.update(&device, &mut encoder, 2u16, &seg2);
assert_eq!(multi_buffer.get_pos_len(&2), Some((4, 4)));
multi_buffer.remove(&1u16);
assert_eq!(multi_buffer.get_pos_len(&1), None);
assert_eq!(multi_buffer.get_pos_len(&2), Some((4, 4)));

// // Triple insert
// multi_buffer.update(&device, &mut encoder, 0u16, &seg1);
// assert_eq!(multi_buffer.get_pos_len(&0), Some((0, 3)));
// multi_buffer.update(&device, &mut encoder, 1u16, &seg3);
// assert_eq!(multi_buffer.get_pos_len(&1), Some((3, 1)));
// // Now we have 8 items
// Triple insert
multi_buffer.update(&device, &mut encoder, 0u16, &seg1);
assert_eq!(multi_buffer.get_pos_len(&0), Some((0, 3)));
multi_buffer.update(&device, &mut encoder, 1u16, &seg3);
assert_eq!(multi_buffer.get_pos_len(&1), Some((3, 1)));
// Now we have 8 items

// // Reallocate
// multi_buffer.update(&device, &mut encoder, 3u16, &seg2);
// assert_eq!(multi_buffer.get_pos_len(&3), Some((8, 4)));
// Reallocate
multi_buffer.update(&device, &mut encoder, 3u16, &seg2);
assert_eq!(multi_buffer.get_pos_len(&3), Some((8, 4)));
}
}
10 changes: 9 additions & 1 deletion client/src/window.rs
Original file line number Diff line number Diff line change
Expand Up @@ -291,11 +291,19 @@ pub fn open_window(mut settings: Settings, initial_state: StateFactory) -> ! {
x: sz.width / 2.0,
y: sz.height / 2.0,
}) {
Err(err) => warn!("Failed to center cursor. ({:?})", err),
Err(err) => warn!("Failed to center cursor ({:?})", err),
_ => ()
};
match window.set_cursor_grab(true) {
Err(err) => warn!("Failed to grab cursor ({:?})", err),
_ => ()
}
} else {
window.set_cursor_visible(true);
match window.set_cursor_grab(false) {
Err(err) => warn!("Failed to ungrab cursor ({:?})", err),
_ => ()
}
}

// Transition if necessary
Expand Down

0 comments on commit 21503a6

Please sign in to comment.