~repos /tide-jsx

#rust#proc-macro#jsx

git clone https://pyrossh.dev/repos/tide-jsx.git

Tide + JSX


30df4d16 Peter John

3 years ago
fix tests
Cargo.toml CHANGED
@@ -15,3 +15,4 @@ tide-jsx-impl = { path = "impl", version = "0.1.0" }
15
15
 
16
16
  [dev-dependencies]
17
17
  pretty_assertions = "0.6"
18
+ # trybuild = "1.0.64"
render_tests/Cargo.toml DELETED
@@ -1,14 +0,0 @@
1
- [package]
2
- name = "render_tests"
3
- version = "0.3.1"
4
- authors = ["Gal Schlezinger <gal@spitfire.co.il>"]
5
- edition = "2021"
6
- publish = false
7
- repository = "https://github.com/Schniz/render.rs"
8
-
9
- [dependencies]
10
- render = { path = "../render" }
11
-
12
- [dev-dependencies]
13
- pretty_assertions = "0.6"
14
- trybuild = "1.0"
src/text_element.rs CHANGED
@@ -60,6 +60,6 @@ mod tests {
60
60
  #[macro_export]
61
61
  macro_rules! raw {
62
62
  ($text:expr) => {
63
- ::render::Raw::from($text)
63
+ tide_jsx::Raw::from($text)
64
64
  };
65
65
  }
{render_tests/src → tests}/lib.rs RENAMED
@@ -1,21 +1,23 @@
1
- #[test]
1
+ // #[test]
2
- fn ui() {
2
+ // fn ui() {
3
- let t = trybuild::TestCases::new();
3
+ // let t = trybuild::TestCases::new();
4
- t.compile_fail("ui/fail/*.rs");
4
+ // t.compile_fail("ui/fail/*.rs");
5
- }
5
+ // }
6
+ use pretty_assertions::assert_eq;
7
+ use tide_jsx::{html, rsx, component, Render, raw};
8
+ use tide_jsx::html::HTML5Doctype;
9
+ use std::borrow::Cow;
6
10
 
7
11
  #[test]
8
12
  fn works_with_dashes() {
9
13
  use pretty_assertions::assert_eq;
10
14
 
11
- let value = render::html! { <div data-id={"myid"} /> };
15
+ let value = html! { <div data-id={"myid"} /> };
12
16
  assert_eq!(value, r#"<div data-id="myid"/>"#);
13
17
  }
14
18
 
15
19
  #[test]
16
20
  fn works_with_raw() {
17
- use pretty_assertions::assert_eq;
18
- use render::{html, raw};
19
21
 
20
22
  let actual = html! {
21
23
  <div>{raw!("<Hello />")}</div>
@@ -26,9 +28,7 @@ fn works_with_raw() {
26
28
 
27
29
  #[test]
28
30
  fn works_with_raw_ident() {
29
- use pretty_assertions::assert_eq;
30
-
31
- let actual = render::html! {
31
+ let actual = html! {
32
32
  <input r#type={"text"} />
33
33
  };
34
34
 
@@ -37,18 +37,12 @@ fn works_with_raw_ident() {
37
37
 
38
38
  #[test]
39
39
  fn works_with_keywords() {
40
- use pretty_assertions::assert_eq;
41
- use render::html;
42
-
43
40
  assert_eq!(html! { <input type={"text"} /> }, r#"<input type="text"/>"#);
44
41
  assert_eq!(html! { <label for={"me"} /> }, r#"<label for="me"/>"#);
45
42
  }
46
43
 
47
44
  #[test]
48
45
  fn element_ordering() {
49
- use pretty_assertions::assert_eq;
50
- use render::html;
51
-
52
46
  let actual = html! {
53
47
  <ul>
54
48
  <li>{"1"}</li>
@@ -79,9 +73,6 @@ fn element_ordering() {
79
73
 
80
74
  #[test]
81
75
  fn some_none() {
82
- use pretty_assertions::assert_eq;
83
- use render::{component, html, rsx};
84
-
85
76
  #[component]
86
77
  fn Answer(a: i8) {
87
78
  rsx! {
@@ -100,9 +91,6 @@ fn some_none() {
100
91
 
101
92
  #[test]
102
93
  fn owned_string() {
103
- use pretty_assertions::assert_eq;
104
- use render::{component, html, rsx};
105
-
106
94
  #[component]
107
95
  fn Welcome<'kind, 'name>(kind: &'kind str, name: &'name str) {
108
96
  rsx! {
@@ -120,10 +108,6 @@ fn owned_string() {
120
108
 
121
109
  #[test]
122
110
  fn cow_str() {
123
- use pretty_assertions::assert_eq;
124
- use render::html;
125
- use std::borrow::Cow;
126
-
127
111
  let owned1 = "Borrowed from owned".to_owned();
128
112
  let owned2 = "Owned".to_owned();
129
113
 
@@ -141,9 +125,6 @@ fn cow_str() {
141
125
 
142
126
  #[test]
143
127
  fn number() {
144
- use pretty_assertions::assert_eq;
145
- use render::html;
146
-
147
128
  let num = 42;
148
129
 
149
130
  assert_eq!(html! { <p>{num}</p> }, "<p>42</p>")
@@ -151,9 +132,6 @@ fn number() {
151
132
 
152
133
  #[test]
153
134
  fn vec() {
154
- use pretty_assertions::assert_eq;
155
- use render::html;
156
-
157
135
  let list = vec!["Mouse", "Rat", "Hamster"];
158
136
 
159
137
  assert_eq!(
@@ -162,7 +140,7 @@ fn vec() {
162
140
  {
163
141
  list
164
142
  .into_iter()
165
- .map(|text| render::rsx! { <li>{text}</li> })
143
+ .map(|text| rsx! { <li>{text}</li> })
166
144
  .collect::<Vec<_>>()
167
145
  }
168
146
  </ul>
@@ -172,16 +150,8 @@ fn vec() {
172
150
  }
173
151
 
174
152
  mod kaki {
175
- // A simple HTML 5 doctype declaration
153
+ use crate::{html, rsx, component, HTML5Doctype, Render};
176
- use render::html::HTML5Doctype;
154
+ use crate::other::ExternalPage;
177
- use render::{
178
- // A macro to create components
179
- component,
180
- // A macro to compose components in JSX fashion
181
- rsx,
182
- // A trait for custom components
183
- Render,
184
- };
185
155
 
186
156
  // This can be any layout we want
187
157
  #[component]
@@ -201,8 +171,7 @@ mod kaki {
201
171
 
202
172
  #[test]
203
173
  fn test() {
204
- use pretty_assertions::assert_eq;
205
- let actual = render::html! {
174
+ let actual = html! {
206
175
  <Page title={"Home"}>
207
176
  {format!("Welcome, {}", "Gal")}
208
177
  </Page>
@@ -221,10 +190,7 @@ mod kaki {
221
190
 
222
191
  #[test]
223
192
  fn externals_test() {
224
- use crate::other::ExternalPage;
225
- use pretty_assertions::assert_eq;
226
-
227
- let actual = render::html! {
193
+ let actual = html! {
228
194
  <ExternalPage title={"Home"} subtitle={"Foo"}>
229
195
  {format!("Welcome, {}", "Gal")}
230
196
  </ExternalPage>
@@ -249,8 +215,7 @@ mod kaki {
249
215
  /// Module for testing component visibility when imported from other modules.
250
216
 
251
217
  mod other {
252
- use render::html::HTML5Doctype;
253
- use render::{component, rsx, Render};
218
+ use crate::{component, rsx, HTML5Doctype, Render};
254
219
 
255
220
  #[component]
256
221
  pub fn ExternalPage<'title, 'subtitle, Children: Render>(
{render_tests → tests}/ui/fail/unclosed-tag-complex.rs RENAMED
File without changes
{render_tests → tests}/ui/fail/unclosed-tag-complex.stderr RENAMED
File without changes
{render_tests → tests}/ui/fail/unclosed-tag.stderr RENAMED
File without changes
{render_tests → tests}/ui/fail/unexpected-attribute.rs RENAMED
File without changes
{render_tests → tests}/ui/fail/unexpected-attribute.stderr RENAMED
File without changes
{render_tests/src → tests/ui}/unclosed-tag.rs RENAMED
File without changes