aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2023-03-09 01:23:07 -0500
committerJesse Luehrs <doy@tozt.net>2023-03-09 01:23:07 -0500
commit3f927cb968653dd2efcfb1d858c19e5a7927d48c (patch)
treeaa7160905687645c598d82e769e0ad8d6bdb93e2
parent6f42a2abdcb772615534d74eec26080e4b2043ec (diff)
downloadvt100-rust-3f927cb968653dd2efcfb1d858c19e5a7927d48c.tar.gz
vt100-rust-3f927cb968653dd2efcfb1d858c19e5a7927d48c.zip
bump deps
-rw-r--r--Cargo.toml12
-rw-r--r--tests/quickcheck.rs38
2 files changed, 30 insertions, 20 deletions
diff --git a/Cargo.toml b/Cargo.toml
index ae8f3d3..7e03fc9 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,16 +14,16 @@ license = "MIT"
include = ["src/**/*", "LICENSE", "README.md", "CHANGELOG.md"]
[dependencies]
-itoa = "1.0.5"
+itoa = "1.0.6"
log = "0.4.17"
unicode-width = "0.1.10"
vte = "0.11.0"
[dev-dependencies]
nix = "0.26.2"
-quickcheck = "0.9"
-rand = "0.7"
-serde = { version = "1.0.152", features = ["derive"] }
-serde_json = "1.0.92"
-terminal_size = "0.2.3"
+quickcheck = "1.0"
+rand = "0.8"
+serde = { version = "1.0.154", features = ["derive"] }
+serde_json = "1.0.94"
+terminal_size = "0.2.5"
vte = "0.11.0"
diff --git a/tests/quickcheck.rs b/tests/quickcheck.rs
index 3591285..5610934 100644
--- a/tests/quickcheck.rs
+++ b/tests/quickcheck.rs
@@ -1,15 +1,26 @@
-use rand::Rng as _;
+use quickcheck::Arbitrary as _;
mod helpers;
#[derive(Clone, Debug)]
struct TerminalInput(Vec<u8>);
+fn gen_range<T>(gen: &mut quickcheck::Gen, range: std::ops::Range<T>) -> T
+where
+ T: Copy,
+ T: quickcheck::Arbitrary,
+ T: std::ops::Add<Output = T>
+ + std::ops::Rem<Output = T>
+ + std::ops::Sub<Output = T>,
+{
+ T::arbitrary(gen) % (range.end - range.start) + range.start
+}
+
impl quickcheck::Arbitrary for TerminalInput {
- fn arbitrary<G: quickcheck::Gen>(g: &mut G) -> Self {
+ fn arbitrary(g: &mut quickcheck::Gen) -> Self {
let size = {
let s = g.size();
- g.gen_range(0, s)
+ gen_range(g, 0..s)
};
TerminalInput(
(0..size)
@@ -23,7 +34,8 @@ impl quickcheck::Arbitrary for TerminalInput {
}
}
-fn choose_terminal_input_fragment<G: quickcheck::Gen>(g: &mut G) -> Vec<u8> {
+fn choose_terminal_input_fragment(g: &mut quickcheck::Gen) -> Vec<u8> {
+ #[derive(Clone)]
enum Fragment {
Text,
Control,
@@ -35,11 +47,9 @@ fn choose_terminal_input_fragment<G: quickcheck::Gen>(g: &mut G) -> Vec<u8> {
Dcs,
}
- impl rand::distributions::Distribution<Fragment>
- for rand::distributions::Standard
- {
- fn sample<R: rand::Rng + ?Sized>(&self, rng: &mut R) -> Fragment {
- match rng.gen() {
+ impl quickcheck::Arbitrary for Fragment {
+ fn arbitrary(g: &mut quickcheck::Gen) -> Self {
+ match u8::arbitrary(g) {
0u8..=231 => Fragment::Text,
232..=239 => Fragment::Control,
240..=247 => Fragment::Escape,
@@ -48,9 +58,9 @@ fn choose_terminal_input_fragment<G: quickcheck::Gen>(g: &mut G) -> Vec<u8> {
}
}
- match g.gen() {
+ match Fragment::arbitrary(g) {
Fragment::Text => {
- let mut u: u32 = g.gen_range(32, 2u32.pow(20) - 2048);
+ let mut u: u32 = gen_range(g, 32..(2u32.pow(20) - 2048));
// surrogates aren't valid codepoints on their own
if u >= 0xD800 {
u += 2048;
@@ -64,17 +74,17 @@ fn choose_terminal_input_fragment<G: quickcheck::Gen>(g: &mut G) -> Vec<u8> {
let s = c.encode_utf8(&mut b);
(*s).to_string().into_bytes()
}
- Fragment::Control => vec![g.gen_range(7, 14)],
+ Fragment::Control => vec![gen_range(g, 7..14)],
Fragment::Escape => {
let mut v = vec![0x1b];
- let c = g.gen_range(b'0', b'~');
+ let c = gen_range(g, b'0'..b'~');
v.push(c);
v
}
Fragment::Csi => {
let mut v = vec![0x1b, b'['];
// TODO: params
- let c = g.gen_range(b'@', b'~');
+ let c = gen_range(g, b'@'..b'~');
v.push(c);
v
}