Skip to content
Open
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
23a9be0
Introduce a testing library for Dioxus
hovinen Feb 17, 2026
cb1c416
Flesh out crate docs
hovinen Feb 19, 2026
5f66041
Fix doctests
hovinen Feb 19, 2026
0a82eff
Fix typos
hovinen Feb 21, 2026
75f52bb
Fix clippy warnings
hovinen Feb 21, 2026
68f601f
Fix doc warnings
hovinen Feb 21, 2026
1166bf2
Introduce a higher level interface including waiting for conditions
hovinen Mar 21, 2026
76c629b
Add some documentation
hovinen Mar 22, 2026
61a6705
Add not matcher
hovinen Mar 22, 2026
e7767e5
a bit more composable
ealmloff Mar 23, 2026
8b7683e
WIP: Support assertions in fluent interface
hovinen Apr 3, 2026
2b950f6
WIP: Go back to type erasure
hovinen Apr 3, 2026
1a204da
Fix remaining problems
hovinen Apr 3, 2026
dcbb8d3
Make Waitable private again
hovinen Apr 3, 2026
5f797b8
WIP: Support matching on collections
hovinen Apr 4, 2026
1ab204e
Fix remaining problems matching on collections
hovinen Apr 11, 2026
ed386e9
Move conditions to a separate module
hovinen Apr 12, 2026
b4d9798
Eliminate ImmediateCondition as a trait, fold methods into normal imp…
hovinen Apr 13, 2026
a97fe28
Update docs
hovinen Apr 13, 2026
54bc071
Update more docs
hovinen Apr 13, 2026
896806f
Fix doctests
hovinen Apr 14, 2026
11b4d9d
Improve documentation further
hovinen Apr 14, 2026
b7b5d5f
Fix doctest
hovinen Apr 14, 2026
03ed7a8
Clippy
hovinen Apr 14, 2026
0d64fe2
Add more docs
hovinen Apr 15, 2026
09220bf
More examples
hovinen Apr 16, 2026
af1c629
Fix doctests
hovinen Apr 16, 2026
9d29175
Make not() return the concrete type NotMatcher so that assertions usi…
hovinen Apr 17, 2026
0b9f7eb
More docs
hovinen Apr 17, 2026
f0cd255
Make assertion failure descriptions somewhat reasonable and make AllE…
hovinen Apr 18, 2026
d38954d
Resolve TODOs
hovinen Apr 18, 2026
2da3523
Remove Waitable impl for AllElementsCondition
hovinen Apr 18, 2026
4c8c982
Flesh out more docs
hovinen Apr 18, 2026
c737a9f
Doc fixes
hovinen Apr 18, 2026
5527093
Add warning to docs
hovinen Apr 18, 2026
f698c43
Expand warning with correct implementation
hovinen Apr 18, 2026
cb887ca
Clarify root()
hovinen Apr 18, 2026
1bc4838
Merge branch 'main' into introduce-testing-library
hovinen Apr 18, 2026
3d721f0
Reduce duplication
hovinen Apr 18, 2026
741f601
Cargo.lock
hovinen Apr 18, 2026
f78f003
Reduce lines
hovinen Apr 19, 2026
66f8c74
Move feature spec to test package
hovinen Apr 19, 2026
dd66555
Review comment
hovinen Apr 19, 2026
bc72605
Fix typos
hovinen Apr 20, 2026
4a7627d
Fix doc links
hovinen Apr 20, 2026
a2a152a
Fix doctests
hovinen Apr 20, 2026
e414385
Merge branch 'main' into introduce-testing-library
hovinen Apr 24, 2026
793903b
Update Cargo.lock
hovinen Apr 24, 2026
dc4cd4f
Merge branch 'main' into introduce-testing-library
hovinen May 5, 2026
58e9ab3
Reintroduce taffy dependency
hovinen May 5, 2026
7ab8351
Update with 0.7.6 API changes
hovinen May 6, 2026
58a1946
Import taffy exactly the way blitz-dom does
hovinen May 6, 2026
4f87b72
Remove taffy dependency
hovinen May 6, 2026
ce71740
Use workspace tokio dependency
hovinen May 6, 2026
30d1644
Merge branch 'main' into introduce-testing-library
hovinen May 23, 2026
8debf08
Remove spuriously added line
hovinen May 25, 2026
fe65b54
Cargo.lock
hovinen May 25, 2026
d56dccb
Use sequential StyleThreading as per https://github.com/DioxusLabs/bl…
hovinen Jun 1, 2026
7b02593
Methods in ElementCondition and AllElementsCondition now take &self
hovinen Jun 1, 2026
8691398
Merge branch 'main' into introduce-testing-library
hovinen Jun 8, 2026
49d58f3
Use matchers from test-that rather than own matchers
hovinen Jun 2, 2026
c110ffa
Update tests
hovinen Jun 8, 2026
5e596a2
Adjust dep version
hovinen Jun 9, 2026
d37fc27
Upgrade test-that dependency
hovinen Jun 28, 2026
f7d1933
Put matchers in matchers module and reexport them
hovinen Jun 28, 2026
270b4ee
Merge branch 'main' into introduce-testing-library
hovinen Jun 28, 2026
e9ece73
Have query take a shared reference rather than an exclusive reference
hovinen Jun 28, 2026
63dbfd0
Add test of multiple parallel queries, and make testers in the doctes…
hovinen Jun 28, 2026
745e0a2
Move query up in test
hovinen Jun 28, 2026
95cc52f
Remove unneeded lifetime parameter
hovinen Jun 29, 2026
d84801e
Bump test-that dependency to 0.5.1
hovinen Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ members = [
"packages/asset-resolver",
"packages/depinfo",
"packages/component-manifest",
"packages/test",

# CLI harnesses, all included
"packages/cli-harnesses/*",
Expand Down Expand Up @@ -209,6 +210,7 @@ wgpu_context = { version = "0.1", default-features = false }
wgpu = { version = "26.0" }
vello = "0.6"
bevy = "0.17"
taffy = "0.9.2"


# a fork of pretty please for tests - let's get off of this if we can!
Expand All @@ -220,7 +222,7 @@ tracing = "0.1.41"
tracing-futures = "0.2.5"
tracing-subscriber = { version = "0.3.19", default-features = false }
toml = "0.8"
tokio = "1.48"
tokio = { version = "1.48", features = ["time"] }
Comment thread
hovinen marked this conversation as resolved.
Outdated
tokio-util = { version = "0.7.15" }
tokio-stream = { version = "0.1.17" }
slab = "0.4.10"
Expand Down
5 changes: 5 additions & 0 deletions packages/native-dom/src/events.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use blitz_dom::Node;
use blitz_traits::events::{BlitzKeyEvent, BlitzMouseButtonEvent, MouseEventButton};
use dioxus_html::{
geometry::{ClientPoint, ElementPoint, PagePoint, ScreenPoint},
Expand Down Expand Up @@ -229,3 +230,7 @@ impl HasFocusData for NativeFocusData {
self as &dyn std::any::Any
}
}

pub fn synthetic_click_event(node: &Node, modifiers: Modifiers) -> Box<dyn Any> {
Box::new(NativeClickData(node.synthetic_click_event_data(modifiers)))
}
Comment thread
hovinen marked this conversation as resolved.
1 change: 1 addition & 0 deletions packages/native-dom/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ mod events;
mod mutation_writer;
pub use blitz_dom::DocumentConfig;
pub use dioxus_document::DioxusDocument;
pub use events::synthetic_click_event;

use blitz_dom::{ns, LocalName, Namespace, QualName};
type NodeId = usize;
Expand Down
23 changes: 23 additions & 0 deletions packages/test/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[package]
name = "dioxus-test"
version = { workspace = true }
authors = ["Bradford Hovinen"]
edition = "2024"
description = "Test library for Dioxus based on native renderer"
license = "MIT OR Apache-2.0"
repository = "https://github.com/DioxusLabs/dioxus/"
homepage = "https://dioxuslabs.com/learn/0.7/getting_started"
keywords = ["dom", "ui", "gui", "react", "testing"]

[dependencies]
blitz-dom = { workspace = true }
dioxus-core = { workspace = true }
dioxus-html = { workspace = true }
dioxus-native-dom = { workspace = true }
taffy = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }

[dev-dependencies]
dioxus = { workspace = true }
tokio = { version = "1.48", features = ["rt", "macros"] }
Loading
Loading