aboutsummaryrefslogtreecommitdiff
path: root/pkg-config/tests
diff options
context:
space:
mode:
Diffstat (limited to 'pkg-config/tests')
-rw-r--r--pkg-config/tests/escape.pc5
-rw-r--r--pkg-config/tests/framework.pc2
-rw-r--r--pkg-config/tests/test.rs19
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")));
}