allow tests to pass on windows

Windows shell need double quotes for strings containing spaces, but on linux in zsh, a double-quoted string containing an exclamation mark will go into some kind of interactive mode; so the tests need to select the right kind of quote at runtime.