[package]
name = "egui_kittest"
version.workspace = true
authors = ["Lucas Meurer <hi@lucasmerlin.me>", "Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Testing library for egui based on kittest and AccessKit"
edition.workspace = true
rust-version.workspace = true
homepage = "https://github.com/emilk/egui"
license.workspace = true
readme = "./README.md"
repository = "https://github.com/emilk/egui"
categories = ["gui", "development-tools::testing", "accessibility"]
keywords = ["gui", "immediate", "egui", "testing", "accesskit"]
include = ["../../LICENSE-APACHE", "../../LICENSE-MIT", "**/*.rs", "Cargo.toml"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]

[features]
## Adds a wgpu-based test renderer.
wgpu = ["dep:egui-wgpu", "dep:pollster", "dep:image", "dep:wgpu", "eframe?/wgpu"]

## Adds a dify-based image snapshot utility.
snapshot = ["dep:dify", "dep:image", "dep:open", "dep:tempfile", "image/png"]

## Allows testing eframe::App
eframe = ["dep:eframe", "eframe/accesskit"]

# This is just so it compiles with `--all-features` on Linux
x11 = ["eframe?/x11"]


[dependencies]
egui.workspace = true
eframe = { workspace = true, optional = true }
kittest.workspace = true
log.workspace = true
serde.workspace = true
toml = { workspace = true, features = ["parse", "serde"] }

# wgpu dependencies
egui-wgpu = { workspace = true, optional = true }
pollster = { workspace = true, optional = true }
image = { workspace = true, optional = true }
# Enable DX12 because it always comes with a software rasterizer.
wgpu = { workspace = true, features = ["metal", "dx12", "vulkan", "gles"], optional = true }

# snapshot dependencies
dify = { workspace = true, optional = true }

# Enable this when generating docs.
document-features = { workspace = true, optional = true }

# Native dependencies:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
open = { workspace = true, optional = true }
tempfile = { workspace = true, optional = true }

[dev-dependencies]
egui = { workspace = true, features = ["default_fonts"] }
image = { workspace = true, features = ["png"] }
egui_extras = { workspace = true, features = ["image", "http"] }

[lints]
workspace = true
