behave 0.9.2

BDD testing framework with expressive expect! matchers and a zero-keyword DSL.
Documentation
[package]
name = "behave"
version = "0.9.2"
authors = ["Jan Piotrzkowski <https://github.com/babilonczyk>", "State Runtime <https://github.com/stateruntime>"]
edition = "2021"
rust-version = "1.75"
license = "Apache-2.0"
repository = "https://github.com/stateruntime/behave"
homepage = "https://github.com/stateruntime/behave"
description = "BDD testing framework with expressive expect! matchers and a zero-keyword DSL."
documentation = "https://docs.rs/behave"
readme = "README.md"
exclude = [
  ".github/",
  ".editorconfig",
  "CLAUDE.md",
  "CONTRIBUTING.md",
  "SECURITY.md",
  "deny.toml",
  "justfile",
  "rust-toolchain.toml",
  "rustfmt.toml",
  "scripts/",
  "docs/AGENT.md",
  "docs/RELEASE.md",
  "docs/feature_competition.md",
  "tests/",
]
keywords = ["testing", "bdd", "test", "expect", "matcher"]
categories = ["development-tools::testing"]

[features]
default = ["std"]
std = []
cli = ["dep:clap", "dep:crossterm", "dep:serde", "dep:serde_json", "dep:toml", "dep:notify"]
color = ["std", "dep:similar"]
regex = ["dep:regex"]
tokio = ["dep:tokio"]
http = ["dep:http"]
url = ["dep:url"]
json = ["dep:serde", "dep:serde_json"]

[dependencies]
behave-macros = { path = "macros", version = "0.9.2" }
clap = { version = "4", features = ["derive"], optional = true }
crossterm = { version = "0.28", optional = true }
http = { version = "1", optional = true }
notify = { version = "6.1", optional = true }
regex = { version = "1", optional = true, default-features = false, features = ["std", "unicode-perl"] }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
similar = { version = "2", optional = true }
tokio = { version = "1", features = ["macros", "rt", "time"], optional = true }
toml = { version = "0.8", optional = true }
url = { version = "2", optional = true }

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt", "time"] }

[[bin]]
name = "cargo-behave"
path = "src/bin/cargo-behave.rs"
required-features = ["cli"]

[lints.rust]
unsafe_code = "forbid"
missing_docs = "deny"
unreachable_pub = "warn"
rust_2018_idioms = { level = "warn", priority = -1 }
missing_debug_implementations = "warn"

[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
unimplemented = "deny"
todo = "deny"
dbg_macro = "deny"
print_stdout = "deny"
print_stderr = "deny"
module_name_repetitions = "allow"
must_use_candidate = "allow"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]