detox
Version:
E2E tests and automation for mobile
42 lines (36 loc) • 1.11 kB
JavaScript
const {
escapeInDoubleQuotedRegexp,
escapeInDoubleQuotedString,
isRunningInCMDEXE,
} = require('./shellUtils');
function win32Implementation() {
const searchRegexpWin32 = (pattern) => `findstr /R /C:"${escapeInDoubleQuotedString(pattern)}"`;
const searchFragmentWin32 = (fragment) => `findstr /C:"${escapeInDoubleQuotedString(fragment)}"`;
return {
escape: {
inQuotedString: escapeInDoubleQuotedString,
inQuotedRegexp: escapeInDoubleQuotedRegexp,
},
search: {
regexp: searchRegexpWin32,
fragment: searchFragmentWin32,
},
};
}
function nixImplementation() {
const searchRegexpNix = (pattern) => `grep "${escapeInDoubleQuotedString(pattern)}"`;
const searchFragmentNix = (fragment) => `grep -e "${escapeInDoubleQuotedString(fragment)}"`;
return {
escape: {
inQuotedString: escapeInDoubleQuotedString,
inQuotedRegexp: escapeInDoubleQuotedRegexp,
},
search: {
regexp: searchRegexpNix,
fragment: searchFragmentNix,
},
};
}
module.exports = isRunningInCMDEXE()
? win32Implementation()
: nixImplementation();