Skip to content

Commit 71e034f

Browse files
committed
expand logger tests
1 parent dfa067e commit 71e034f

File tree

1 file changed

+101
-9
lines changed

1 file changed

+101
-9
lines changed

tests/macros.rs

Lines changed: 101 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ macro_rules! all_log_macros {
1010
});
1111
}
1212

13+
// Not `Copy`
1314
struct Logger;
1415

1516
impl Log for Logger {
@@ -22,15 +23,20 @@ impl Log for Logger {
2223

2324
#[test]
2425
fn no_args() {
26+
let logger = Logger;
27+
2528
for lvl in log::Level::iter() {
2629
log!(lvl, "hello");
2730
log!(lvl, "hello",);
2831

2932
log!(target: "my_target", lvl, "hello");
3033
log!(target: "my_target", lvl, "hello",);
3134

32-
log!(lvl, "hello");
33-
log!(lvl, "hello",);
35+
log!(logger: logger, lvl, "hello");
36+
log!(logger: logger, lvl, "hello",);
37+
38+
log!(logger: logger, target: "my_target", lvl, "hello");
39+
log!(logger: logger, target: "my_target", lvl, "hello",);
3440
}
3541

3642
all_log_macros!("hello");
@@ -39,10 +45,11 @@ fn no_args() {
3945
all_log_macros!(target: "my_target", "hello");
4046
all_log_macros!(target: "my_target", "hello",);
4147

42-
all_log_macros!(logger: Logger, "hello");
43-
all_log_macros!(logger: Logger, "hello",);
44-
all_log_macros!(logger: Logger, target: "my_target", "hello");
45-
all_log_macros!(logger: Logger, target: "my_target", "hello",);
48+
all_log_macros!(logger: logger, "hello");
49+
all_log_macros!(logger: logger, "hello",);
50+
51+
all_log_macros!(logger: logger, target: "my_target", "hello");
52+
all_log_macros!(logger: logger, target: "my_target", "hello",);
4653
}
4754

4855
#[test]
@@ -63,6 +70,14 @@ fn anonymous_args() {
6370

6471
all_log_macros!(target: "my_target", "hello {}", "world");
6572
all_log_macros!(target: "my_target", "hello {}", "world",);
73+
74+
let logger = Logger;
75+
76+
all_log_macros!(logger: logger, "hello {}", "world");
77+
all_log_macros!(logger: logger, "hello {}", "world",);
78+
79+
all_log_macros!(logger: logger, target: "my_target", "hello {}", "world");
80+
all_log_macros!(logger: logger, target: "my_target", "hello {}", "world",);
6681
}
6782

6883
#[test]
@@ -83,6 +98,14 @@ fn named_args() {
8398

8499
all_log_macros!(target: "my_target", "hello {world}", world = "world");
85100
all_log_macros!(target: "my_target", "hello {world}", world = "world",);
101+
102+
let logger = Logger;
103+
104+
all_log_macros!(logger: logger, "hello {world}", world = "world");
105+
all_log_macros!(logger: logger, "hello {world}", world = "world",);
106+
107+
all_log_macros!(logger: logger, target: "my_target", "hello {world}", world = "world");
108+
all_log_macros!(logger: logger, target: "my_target", "hello {world}", world = "world",);
86109
}
87110

88111
#[test]
@@ -105,81 +128,136 @@ fn inlined_args() {
105128

106129
all_log_macros!(target: "my_target", "hello {world}");
107130
all_log_macros!(target: "my_target", "hello {world}",);
131+
132+
let logger = Logger;
133+
134+
all_log_macros!(logger: logger, "hello {world}");
135+
all_log_macros!(logger: logger, "hello {world}",);
136+
137+
all_log_macros!(logger: logger, target: "my_target", "hello {world}");
138+
all_log_macros!(logger: logger, target: "my_target", "hello {world}",);
108139
}
109140

110141
#[test]
111142
fn enabled() {
143+
let logger = Logger;
144+
112145
for lvl in log::Level::iter() {
146+
let _enabled = log_enabled!(lvl);
113147
let _enabled = log_enabled!(target: "my_target", lvl);
148+
let _enabled = log_enabled!(logger: logger, target: "my_target", lvl);
149+
let _enabled = log_enabled!(logger: logger, lvl);
114150
}
115151
}
116152

117153
#[test]
118154
fn expr() {
155+
let logger = Logger;
156+
119157
for lvl in log::Level::iter() {
120158
log!(lvl, "hello");
159+
160+
log!(logger: logger, lvl, "hello");
121161
}
122162
}
123163

124164
#[test]
125165
#[cfg(feature = "kv")]
126166
fn kv_no_args() {
167+
let logger = Logger;
168+
127169
for lvl in log::Level::iter() {
128170
log!(target: "my_target", lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
129-
130171
log!(lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
172+
173+
log!(logger: logger, target: "my_target", lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
174+
log!(logger: logger, lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
131175
}
132176

133-
all_log_macros!(logger: Logger, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
134-
all_log_macros!(logger: Logger, target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
135177
all_log_macros!(target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
136178
all_log_macros!(target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
137179
all_log_macros!(cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
180+
181+
all_log_macros!(logger: logger, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
182+
all_log_macros!(logger: logger, target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello");
138183
}
139184

140185
#[test]
141186
#[cfg(feature = "kv")]
142187
fn kv_expr_args() {
188+
let logger = Logger;
189+
143190
for lvl in log::Level::iter() {
144191
log!(target: "my_target", lvl, cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
145192

146193
log!(lvl, target = "my_target", cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
147194
log!(lvl, cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
195+
196+
log!(logger: logger, target: "my_target", lvl, cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
197+
198+
log!(logger: logger, lvl, target = "my_target", cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
199+
log!(logger: logger, lvl, cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
148200
}
149201

150202
all_log_macros!(target: "my_target", cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
151203
all_log_macros!(target = "my_target", cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
152204
all_log_macros!(cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
205+
206+
all_log_macros!(logger: logger, target: "my_target", cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
207+
all_log_macros!(logger: logger, target = "my_target", cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
208+
all_log_macros!(logger: logger, cat_math = { let mut x = 0; x += 1; x + 1 }; "hello");
153209
}
154210

155211
#[test]
156212
#[cfg(feature = "kv")]
157213
fn kv_anonymous_args() {
214+
let logger = Logger;
215+
158216
for lvl in log::Level::iter() {
159217
log!(target: "my_target", lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
160218
log!(lvl, target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
161219

162220
log!(lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
221+
222+
log!(logger: logger, target: "my_target", lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
223+
log!(logger: logger, lvl, target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
224+
225+
log!(logger: logger, lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
163226
}
164227

165228
all_log_macros!(target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
166229
all_log_macros!(target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
167230
all_log_macros!(cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
231+
232+
all_log_macros!(logger: logger, target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
233+
all_log_macros!(logger: logger, target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
234+
all_log_macros!(logger: logger, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {}", "world");
168235
}
169236

170237
#[test]
171238
#[cfg(feature = "kv")]
172239
fn kv_named_args() {
240+
let logger = Logger;
241+
173242
for lvl in log::Level::iter() {
174243
log!(target: "my_target", lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
175244
log!(lvl, target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
176245

177246
log!(lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
247+
248+
log!(logger: logger, target: "my_target", lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
249+
log!(logger: logger, lvl, target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
250+
251+
log!(logger: logger, lvl, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
178252
}
179253

180254
all_log_macros!(target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
181255
all_log_macros!(target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
182256
all_log_macros!(cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
257+
258+
all_log_macros!(logger: logger, target: "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
259+
all_log_macros!(logger: logger, target = "my_target", cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
260+
all_log_macros!(logger: logger, cat_1 = "chashu", cat_2 = "nori", cat_count = 2; "hello {world}", world = "world");
183261
}
184262

185263
#[test]
@@ -323,6 +401,20 @@ fn kv_serde() {
323401
);
324402
}
325403

404+
#[test]
405+
fn logger_short_lived() {
406+
all_log_macros!(logger: Logger, "hello");
407+
all_log_macros!(logger: &Logger, "hello");
408+
}
409+
410+
#[test]
411+
fn logger_expr() {
412+
all_log_macros!(logger: {
413+
let logger = Logger;
414+
logger
415+
}, "hello");
416+
}
417+
326418
/// Some and None (from Option) are used in the macros.
327419
#[derive(Debug)]
328420
enum Type {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy