diff --git a/src/parser/shell_expand/words.rs b/src/parser/shell_expand/words.rs
index 213cfc13c105e5664047e7dc4e752c91ae3064f7..57bd91679c7bc4b470b13f0a88982b55374e50d5 100644
--- a/src/parser/shell_expand/words.rs
+++ b/src/parser/shell_expand/words.rs
@@ -983,9 +983,20 @@ impl<'a> Iterator for WordIterator<'a> {
 mod tests {
     use super::*;
 
+    macro_rules! functions {
+        () => {
+            ExpanderFunctions {
+                tilde:    &|_| None,
+                array:    &|_, _| None,
+                variable: &|_, _| None,
+                command:  &|_, _| None
+            }
+        }
+    }
+
     fn compare(input: &str, expected: Vec<WordToken>) {
         let mut correct = 0;
-        for (actual, expected) in WordIterator::new(input, true).zip(expected.iter()) {
+        for (actual, expected) in WordIterator::new(input, true, &functions!()).zip(expected.iter()) {
             assert_eq!(actual, *expected, "{:?} != {:?}", actual, expected);
             correct += 1;
         }