diff options
Diffstat (limited to 'pkg-config/tests')
-rw-r--r-- | pkg-config/tests/escape.pc | 5 | ||||
-rw-r--r-- | pkg-config/tests/framework.pc | 2 | ||||
-rw-r--r-- | pkg-config/tests/test.rs | 19 |
3 files changed, 25 insertions, 1 deletions
diff --git a/pkg-config/tests/escape.pc b/pkg-config/tests/escape.pc new file mode 100644 index 0000000..701c4bf --- /dev/null +++ b/pkg-config/tests/escape.pc @@ -0,0 +1,5 @@ +Name: Escape +Version: 4.2.0 +Description: Escape utility library +Libs: -Llink\ path\ with\ spaces +Cflags: -Iinclude\ path\ with\ spaces -DA=\"escaped\ string\'\ literal\" -DB=ESCAPED\ IDENTIFIER -DFOX=🦊 diff --git a/pkg-config/tests/framework.pc b/pkg-config/tests/framework.pc index 57c0447..fec17f4 100644 --- a/pkg-config/tests/framework.pc +++ b/pkg-config/tests/framework.pc @@ -11,6 +11,6 @@ Name: Valgrind Description: A dynamic binary instrumentation framework Version: 3.10.0.SVN Requires: -Libs: -F${libdir} -framework foo +Libs: -F${libdir} -framework foo -Wl,-framework,bar -Wl,-framework -Wl,baz -Wl,-framework,foobar,-framework,foobaz Cflags: -I${includedir} diff --git a/pkg-config/tests/test.rs b/pkg-config/tests/test.rs index ee8613c..fad0fcf 100644 --- a/pkg-config/tests/test.rs +++ b/pkg-config/tests/test.rs @@ -75,11 +75,30 @@ fn output_ok() { } #[test] +fn escapes() { + let _g = LOCK.lock(); + reset(); + let lib = find("escape").unwrap(); + assert!(lib.include_paths.contains(&PathBuf::from("include path with spaces"))); + assert!(lib.link_paths.contains(&PathBuf::from("link path with spaces"))); + assert_eq!(lib.defines.get("A"), + Some(&Some("\"escaped string' literal\"".to_owned()))); + assert_eq!(lib.defines.get("B"), + Some(&Some("ESCAPED IDENTIFIER".to_owned()))); + assert_eq!(lib.defines.get("FOX"), + Some(&Some("🦊".to_owned()))); +} + +#[test] fn framework() { let _g = LOCK.lock(); reset(); let lib = find("framework").unwrap(); assert!(lib.frameworks.contains(&"foo".to_string())); + assert!(lib.frameworks.contains(&"bar".to_string())); + assert!(lib.frameworks.contains(&"baz".to_string())); + assert!(lib.frameworks.contains(&"foobar".to_string())); + assert!(lib.frameworks.contains(&"foobaz".to_string())); assert!(lib.framework_paths.contains(&PathBuf::from("/usr/lib"))); } |