exports.DIRECTIVE_EXPRESSION_AST_PATH = [ 'toplevel', 'stat' ]; exports.TEST_AND_MIXIN_DECLARATION_AST_PATH = [ 'toplevel', 'stat', ['assign', true], 'sub' ]; exports.ACTION_FUNC_AST_PATH = [ 'function', 'stat' ]; exports.RELATIVE_URL_PATTERN = /^\/|^\.|^\.\./; exports.DIRECTIVE_EXPRESSION_PATTERN = /^\s*@(\S+)\s+(.+)$/; exports.SUPPORTED_PROTOCOL_PATTERN = /^(http|https):\/\//; exports.AUTH_DIRECTIVE_LVALUE = 'auth'; exports.FIXTURE_DIRECTIVE_LVALUE = 'fixture'; exports.PAGE_DIRECTIVE_LVALUE = 'page'; exports.REQUIRE_DIRECTIVE_LVALUE = 'require'; exports.MIXIN_INSERTION_POINT_DIRECTIVE_LVALUE = 'mixin'; exports.DIRECTIVE_LVALUES = [ exports.AUTH_DIRECTIVE_LVALUE, exports.FIXTURE_DIRECTIVE_LVALUE, exports.PAGE_DIRECTIVE_LVALUE, exports.REQUIRE_DIRECTIVE_LVALUE ]; exports.ACTION_OR_ASSERTION_FOOTPRINT_REGEXP = /(^|[^\w])(((ok|notOk|eq|notEq)\s*\()|(act\s*(\.|\[)))/; exports.MIXIN_FOOTPRINT_REGEXP = /('|")(@mixin)/; exports.TEST_MIXIN_STEP_NAME_SEPARATOR = ' | '; exports.AUTH_CREDENTIALS_REGEXP = /^(.*?):(.*)$/; exports.MODULE_PREFIX = ':'; exports.TEST_DECLARATION_MARKER = '@test'; exports.MIXIN_DECLARATION_MARKER = '@mixin'; exports.TEST_CASES_DIRECTIVE = '@testCases'; exports.TEST_CASE_NAME_FIELD = '@name'; exports.TEST_CASE_INIT_STEP_NAME = '-INIT TEST CASE-'; exports.TEST_CASE_NAME_SEPARATOR = ' \u2192 '; exports.TEST_CASE_DEFAULT_NAME_PATTERN = 'Test case at index %s'; exports.AUTH_DIRECTIVE_PATTERN = '"@auth %s"'; exports.FIXTURE_DIRECTIVE_PATTERN = '"@fixture %s"'; exports.PAGE_DIRECTIVE_PATTERN = '"@page %s"'; exports.NEW_FIXTURE_CODE_PATTERN = exports.FIXTURE_DIRECTIVE_PATTERN + ';\n' + exports.PAGE_DIRECTIVE_PATTERN + ';\n\n'; exports.ACTIONS_OWNER_OBJECT_IDENTIFIER = 'act'; exports.NATIVE_DIALOG_HANDLE_IDENTIFIER_PREFIX = 'handle'; exports.SOURCE_INDEX_ARG_PREFIX = '#'; exports.createErrorObj = function (type, filename, line, additionalFields) { var err = additionalFields || {}; err.type = type; err.filename = filename; if (line) err.line = line; return err; };