Skip to content

Commit a507c7d

Browse files
marco-ballarioLuni-4
authored andcommitted
Move Cpp tests from tests/test_c.rs to src/c_lang_macros/mod.rs
1 parent eb70225 commit a507c7d

2 files changed

Lines changed: 49 additions & 46 deletions

File tree

‎src/c_langs_macros/mod.rs‎

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,52 @@ pub use c_macros::*;
33

44
mod c_specials;
55
pub use c_specials::*;
6+
7+
#[cfg(test)]
8+
mod tests {
9+
10+
use std::path::PathBuf;
11+
12+
use crate::*;
13+
14+
fn parse(samples: &[&str], debug: bool) {
15+
let path = PathBuf::from("foo.c");
16+
for (n, sample) in samples.iter().enumerate() {
17+
let v_sample = sample.as_bytes().to_vec();
18+
let parser = CppParser::new(v_sample.clone(), &path, None);
19+
let root = parser.get_root();
20+
if debug || root.has_error() {
21+
eprintln!("Sample (CPP) {}: {}", n, sample);
22+
dump_node(&v_sample, &root, -1, None, None).unwrap();
23+
}
24+
assert!(!root.has_error());
25+
}
26+
}
27+
28+
#[test]
29+
fn test_fn_macros() {
30+
let samples = vec![
31+
"MOZ_ALWAYS_INLINE void f() { }",
32+
"MOZ_NEVER_INLINE void f() { }",
33+
];
34+
parse(&samples, false);
35+
}
36+
37+
#[test]
38+
fn test_fn_macros_cpp() {
39+
let samples = vec!["class MOZ_NONHEAP_CLASS Factory : public IClassFactory {};"];
40+
parse(&samples, false);
41+
}
42+
43+
#[test]
44+
fn test_fn_id_strings() {
45+
let samples = vec!["nsPrintfCString(\"%\" PRIi32, lifetime.mTag);"];
46+
parse(&samples, false);
47+
}
48+
49+
#[test]
50+
fn test_fn_qm_try_inspect_cpp() {
51+
let samples = vec!["QM_TRY_INSPECT(const int32_t& storageVersion, MOZ_TO_RESULT_INVOKE(aConnection, GetSchemaVersion));"];
52+
parse(&samples, false);
53+
}
54+
}

‎tests/test_c.rs‎

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)