test: ensure startup message is correct
This commit is contained in:
parent
6910407ad2
commit
7fbaec8743
7 changed files with 200 additions and 7 deletions
123
Cargo.lock
generated
123
Cargo.lock
generated
|
|
@ -2,6 +2,129 @@
|
||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 4
|
version = 4
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "console"
|
||||||
|
version = "0.15.11"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8"
|
||||||
|
dependencies = [
|
||||||
|
"encode_unicode",
|
||||||
|
"libc",
|
||||||
|
"once_cell",
|
||||||
|
"windows-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "encode_unicode"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "insta"
|
||||||
|
version = "1.43.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "154934ea70c58054b556dd430b99a98c2a7ff5309ac9891597e339b5c28f4371"
|
||||||
|
dependencies = [
|
||||||
|
"console",
|
||||||
|
"once_cell",
|
||||||
|
"similar",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.172"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "once_cell"
|
||||||
|
version = "1.21.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "osdb"
|
name = "osdb"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"insta",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "similar"
|
||||||
|
version = "2.7.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-sys"
|
||||||
|
version = "0.59.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||||
|
dependencies = [
|
||||||
|
"windows-targets",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-targets"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||||
|
dependencies = [
|
||||||
|
"windows_aarch64_gnullvm",
|
||||||
|
"windows_aarch64_msvc",
|
||||||
|
"windows_i686_gnu",
|
||||||
|
"windows_i686_gnullvm",
|
||||||
|
"windows_i686_msvc",
|
||||||
|
"windows_x86_64_gnu",
|
||||||
|
"windows_x86_64_gnullvm",
|
||||||
|
"windows_x86_64_msvc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_aarch64_gnullvm"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_aarch64_msvc"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_gnu"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_gnullvm"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_i686_msvc"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_gnu"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_gnullvm"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows_x86_64_msvc"
|
||||||
|
version = "0.52.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||||
|
|
|
||||||
|
|
@ -5,3 +5,6 @@ edition = "2024"
|
||||||
authors = ["Khaïs COLIN"]
|
authors = ["Khaïs COLIN"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
insta = "1.43.1"
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@
|
||||||
pkgs.clippy
|
pkgs.clippy
|
||||||
pkgs.bacon
|
pkgs.bacon
|
||||||
pkgs.cargo-semver-checks
|
pkgs.cargo-semver-checks
|
||||||
|
pkgs.cargo-insta
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
packages.default = pkgs.rustPlatform.buildRustPackage {
|
packages.default = pkgs.rustPlatform.buildRustPackage {
|
||||||
|
|
|
||||||
56
notes.org
56
notes.org
|
|
@ -1,14 +1,64 @@
|
||||||
#+title: Notes
|
#+title: Notes
|
||||||
|
|
||||||
* show errors with ariadne
|
* TODO show errors with ariadne
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:EFFORT: 10min
|
:EFFORT: 10min
|
||||||
:END:
|
:END:
|
||||||
** errors should have a generic show() function
|
** [X] errors should have a generic show() function
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:EFFORT: 10min
|
:EFFORT: 10min
|
||||||
:END:
|
:END:
|
||||||
:LOGBOOK:
|
:LOGBOOK:
|
||||||
CLOCK: [2025-05-03 sam. 18:40]--[2025-05-03 sam. 18:46] => 0:06
|
CLOCK: [2025-05-03 sam. 18:40]--[2025-05-03 sam. 18:46] => 0:06
|
||||||
:END:
|
:END:
|
||||||
** OSDBError::display() should take a filename and display it alongside the error
|
** TODO OSDBError::display() should take a filename and display it alongside the error
|
||||||
|
|
||||||
|
* TODO snapshot testing
|
||||||
|
|
||||||
|
** DONE Find the snapshot testing library
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
:LOGBOOK:
|
||||||
|
CLOCK: [2025-05-03 sam. 18:48]--[2025-05-03 sam. 18:49] => 0:01
|
||||||
|
:END:
|
||||||
|
|
||||||
|
** DONE document myself on insta, the snapshot testing library
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
:LOGBOOK:
|
||||||
|
CLOCK: [2025-05-03 sam. 18:49]--[2025-05-03 sam. 18:57] => 0:08
|
||||||
|
:END:
|
||||||
|
|
||||||
|
** TODO insta test startup message
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
:LOGBOOK:
|
||||||
|
CLOCK: [2025-05-03 sam. 19:00]
|
||||||
|
:END:
|
||||||
|
** TODO insta test exit message
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
** TODO insta test insert
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
** TODO insta test select
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
** TODO insta test .exit
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
** TODO insta test wrong statement
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
** TODO insta test wrong meta-command
|
||||||
|
:PROPERTIES:
|
||||||
|
:EFFORT: 10min
|
||||||
|
:END:
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,18 @@
|
||||||
pub fn startup_msg() {
|
#[cfg(test)]
|
||||||
|
use insta::assert_snapshot;
|
||||||
|
|
||||||
|
pub fn startup_msg() -> String {
|
||||||
let name = env!("CARGO_PKG_NAME");
|
let name = env!("CARGO_PKG_NAME");
|
||||||
let version = env!("CARGO_PKG_VERSION");
|
let version = env!("CARGO_PKG_VERSION");
|
||||||
let authors = env!("CARGO_PKG_AUTHORS");
|
let authors = env!("CARGO_PKG_AUTHORS");
|
||||||
|
|
||||||
println!("{name} v{version} started.",);
|
format!(
|
||||||
println!("Copyright 2025 {authors}. All rights reserved.")
|
"{name} v{version} started.\n\
|
||||||
|
Copyright 2025 {authors}. All rights reserved."
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_startup_msg() {
|
||||||
|
assert_snapshot!(startup_msg())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ use osdb::command::Command;
|
||||||
use osdb::error_display::OSDBError as _;
|
use osdb::error_display::OSDBError as _;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
startup_msg();
|
println!("{}", startup_msg());
|
||||||
while let Some(input) = read_input() {
|
while let Some(input) = read_input() {
|
||||||
match input.parse::<Command>() {
|
match input.parse::<Command>() {
|
||||||
Ok(cmd) => {
|
Ok(cmd) => {
|
||||||
|
|
|
||||||
6
src/snapshots/osdb__branding__startup_msg.snap
Normal file
6
src/snapshots/osdb__branding__startup_msg.snap
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
source: src/branding.rs
|
||||||
|
expression: startup_msg()
|
||||||
|
---
|
||||||
|
osdb v0.1.0 started.
|
||||||
|
Copyright 2025 Khaïs COLIN. All rights reserved.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue