gt 0.10.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1275 -0
- package/LICENSE.md +105 -0
- package/README.md +26 -198
- package/dist/api/collectUserEditDiffs.d.ts +9 -0
- package/dist/api/collectUserEditDiffs.js +159 -0
- package/dist/api/downloadFileBatch.d.ts +23 -0
- package/dist/api/downloadFileBatch.js +190 -0
- package/dist/api/saveLocalEdits.d.ts +6 -0
- package/dist/api/saveLocalEdits.js +38 -0
- package/dist/bin/bin-entry.d.ts +1 -0
- package/dist/bin/bin-entry.js +9 -0
- package/dist/bin/bin-main.d.ts +2 -0
- package/dist/bin/bin-main.js +67 -0
- package/dist/cli/base.d.ts +59 -0
- package/dist/cli/base.js +529 -0
- package/dist/cli/commands/download.d.ts +8 -0
- package/dist/cli/commands/download.js +51 -0
- package/dist/cli/commands/enqueue.d.ts +9 -0
- package/dist/cli/commands/enqueue.js +27 -0
- package/dist/cli/commands/setupProject.d.ts +7 -0
- package/dist/cli/commands/setupProject.js +37 -0
- package/dist/cli/commands/stage.d.ts +9 -0
- package/dist/cli/commands/stage.js +59 -0
- package/dist/cli/commands/translate.d.ts +7 -0
- package/dist/cli/commands/translate.js +70 -0
- package/dist/cli/commands/upload.d.ts +13 -0
- package/dist/cli/commands/upload.js +142 -0
- package/dist/cli/commands/utils/validation.d.ts +13 -0
- package/dist/cli/commands/utils/validation.js +38 -0
- package/dist/cli/flags.d.ts +15 -0
- package/dist/cli/flags.js +70 -0
- package/dist/cli/inline.d.ts +17 -0
- package/dist/cli/inline.js +135 -0
- package/dist/cli/next.d.ts +10 -0
- package/dist/cli/next.js +12 -0
- package/dist/cli/node.d.ts +10 -0
- package/dist/cli/node.js +9 -0
- package/dist/cli/react.d.ts +12 -0
- package/dist/cli/react.js +72 -0
- package/dist/config/generateSettings.d.ts +9 -0
- package/dist/config/generateSettings.js +214 -0
- package/dist/config/optionPresets.d.ts +3 -0
- package/dist/config/optionPresets.js +65 -0
- package/dist/config/resolveConfig.d.ts +4 -0
- package/dist/config/resolveConfig.js +33 -0
- package/dist/config/utils.d.ts +2 -0
- package/dist/config/utils.js +4 -0
- package/dist/config/validateSettings.d.ts +3 -0
- package/dist/config/validateSettings.js +32 -0
- package/dist/console/colors.d.ts +6 -0
- package/dist/console/colors.js +19 -0
- package/dist/console/displayTranslateSummary.d.ts +1 -0
- package/dist/console/displayTranslateSummary.js +42 -0
- package/dist/console/formatting.d.ts +1 -0
- package/dist/console/formatting.js +7 -0
- package/dist/console/index.d.ts +34 -0
- package/dist/console/index.js +46 -0
- package/dist/console/logger.d.ts +35 -0
- package/dist/console/logger.js +250 -0
- package/dist/console/logging.d.ts +52 -0
- package/dist/console/logging.js +175 -0
- package/dist/formats/files/aggregateFiles.d.ts +4 -0
- package/dist/formats/files/aggregateFiles.js +156 -0
- package/dist/formats/files/collectFiles.d.ts +6 -0
- package/dist/formats/files/collectFiles.js +49 -0
- package/dist/formats/files/convertToFileTranslationData.d.ts +15 -0
- package/dist/formats/files/convertToFileTranslationData.js +21 -0
- package/dist/formats/files/fileMapping.d.ts +11 -0
- package/dist/formats/files/fileMapping.js +115 -0
- package/dist/formats/files/preprocess/mdx.d.ts +6 -0
- package/dist/formats/files/preprocess/mdx.js +14 -0
- package/dist/formats/files/preprocess/mintlify.d.ts +5 -0
- package/dist/formats/files/preprocess/mintlify.js +15 -0
- package/dist/formats/files/preprocessContent.d.ts +8 -0
- package/dist/formats/files/preprocessContent.js +23 -0
- package/dist/formats/files/save.d.ts +5 -0
- package/dist/formats/files/save.js +17 -0
- package/dist/formats/files/supportedFiles.d.ts +11 -0
- package/dist/formats/files/supportedFiles.js +20 -0
- package/dist/formats/json/extractJson.d.ts +15 -0
- package/dist/formats/json/extractJson.js +101 -0
- package/dist/formats/json/flattenJson.d.ts +14 -0
- package/dist/formats/json/flattenJson.js +64 -0
- package/dist/formats/json/mergeJson.d.ts +13 -0
- package/dist/formats/json/mergeJson.js +367 -0
- package/dist/formats/json/parseJson.d.ts +2 -0
- package/dist/formats/json/parseJson.js +109 -0
- package/dist/formats/json/utils.d.ts +47 -0
- package/dist/formats/json/utils.js +150 -0
- package/dist/formats/utils.d.ts +2 -0
- package/dist/formats/utils.js +24 -0
- package/dist/formats/yaml/mergeYaml.d.ts +5 -0
- package/dist/formats/yaml/mergeYaml.js +61 -0
- package/dist/formats/yaml/parseYaml.d.ts +5 -0
- package/dist/formats/yaml/parseYaml.js +24 -0
- package/dist/formats/yaml/utils.d.ts +2 -0
- package/dist/formats/yaml/utils.js +23 -0
- package/dist/fs/clearLocaleDirs.d.ts +8 -0
- package/dist/fs/clearLocaleDirs.js +126 -0
- package/dist/fs/config/downloadedVersions.d.ts +21 -0
- package/dist/fs/config/downloadedVersions.js +50 -0
- package/dist/fs/config/loadConfig.d.ts +1 -0
- package/dist/fs/config/loadConfig.js +9 -0
- package/dist/fs/config/parseFilesConfig.d.ts +27 -0
- package/dist/fs/config/parseFilesConfig.js +150 -0
- package/dist/fs/config/setupConfig.d.ts +17 -0
- package/dist/fs/config/setupConfig.js +50 -0
- package/dist/fs/config/updateConfig.d.ts +21 -0
- package/dist/fs/config/updateConfig.js +57 -0
- package/dist/fs/config/updateVersions.d.ts +11 -0
- package/dist/fs/config/updateVersions.js +30 -0
- package/dist/fs/copyFile.d.ts +7 -0
- package/dist/fs/copyFile.js +39 -0
- package/dist/fs/createLoadTranslationsFile.d.ts +1 -0
- package/dist/fs/createLoadTranslationsFile.js +49 -0
- package/dist/fs/determineFramework.d.ts +5 -0
- package/dist/fs/determineFramework.js +53 -0
- package/dist/fs/findFilepath.d.ts +36 -0
- package/dist/fs/findFilepath.js +90 -0
- package/dist/fs/index.d.ts +1 -0
- package/dist/fs/index.js +1 -0
- package/dist/fs/loadJSON.d.ts +6 -0
- package/dist/fs/loadJSON.js +17 -0
- package/dist/fs/matchFiles.d.ts +1 -0
- package/dist/fs/matchFiles.js +8 -0
- package/dist/fs/saveJSON.d.ts +1 -0
- package/dist/fs/saveJSON.js +7 -0
- package/dist/fs/utils.d.ts +1 -0
- package/dist/fs/utils.js +16 -0
- package/dist/functions.d.ts +7 -0
- package/dist/functions.js +6 -0
- package/dist/generated/version.d.ts +1 -0
- package/dist/generated/version.js +2 -0
- package/dist/git/branches.d.ts +7 -0
- package/dist/git/branches.js +88 -0
- package/dist/hooks/postProcess.d.ts +4 -0
- package/dist/hooks/postProcess.js +110 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +27 -0
- package/dist/locadex/setupFlow.d.ts +2 -0
- package/dist/locadex/setupFlow.js +9 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +10 -0
- package/dist/next/config/parseNextConfig.d.ts +10 -0
- package/dist/next/config/parseNextConfig.js +53 -0
- package/dist/next/jsx/utils.d.ts +7 -0
- package/dist/next/jsx/utils.js +42 -0
- package/dist/next/parse/handleInitGT.d.ts +7 -0
- package/dist/next/parse/handleInitGT.js +157 -0
- package/dist/next/parse/wrapContent.d.ts +12 -0
- package/dist/next/parse/wrapContent.js +164 -0
- package/dist/react/config/createESBuildConfig.d.ts +2 -0
- package/dist/react/config/createESBuildConfig.js +119 -0
- package/dist/react/jsx/evaluateJsx.d.ts +24 -0
- package/dist/react/jsx/evaluateJsx.js +123 -0
- package/dist/react/jsx/utils/buildImportMap.d.ts +9 -0
- package/dist/react/jsx/utils/buildImportMap.js +30 -0
- package/dist/react/jsx/utils/constants.d.ts +15 -0
- package/dist/react/jsx/utils/constants.js +49 -0
- package/dist/react/jsx/utils/getCalleeNameFromExpression.d.ts +9 -0
- package/dist/react/jsx/utils/getCalleeNameFromExpression.js +32 -0
- package/dist/react/jsx/utils/getPathsAndAliases.d.ts +21 -0
- package/dist/react/jsx/utils/getPathsAndAliases.js +91 -0
- package/dist/react/jsx/utils/isNumberLiteral.d.ts +7 -0
- package/dist/react/jsx/utils/isNumberLiteral.js +13 -0
- package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.d.ts +9 -0
- package/dist/react/jsx/utils/jsxParsing/addGTIdentifierToSyntaxTree.js +138 -0
- package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.d.ts +6 -0
- package/dist/react/jsx/utils/jsxParsing/handleChildrenWhitespace.js +197 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.d.ts +13 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/findMultiplicationNode.js +42 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.d.ts +5 -0
- package/dist/react/jsx/utils/jsxParsing/multiplication/multiplyJsxTree.js +69 -0
- package/dist/react/jsx/utils/jsxParsing/parseJsx.d.ts +33 -0
- package/dist/react/jsx/utils/jsxParsing/parseJsx.js +918 -0
- package/dist/react/jsx/utils/jsxParsing/parseTProps.d.ts +8 -0
- package/dist/react/jsx/utils/jsxParsing/parseTProps.js +65 -0
- package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.d.ts +2 -0
- package/dist/react/jsx/utils/jsxParsing/removeNullChildrenFields.js +61 -0
- package/dist/react/jsx/utils/jsxParsing/types.d.ts +48 -0
- package/dist/react/jsx/utils/jsxParsing/types.js +34 -0
- package/dist/react/jsx/utils/mapAttributeName.d.ts +11 -0
- package/dist/react/jsx/utils/mapAttributeName.js +12 -0
- package/dist/react/jsx/utils/parseAst.d.ts +31 -0
- package/dist/react/jsx/utils/parseAst.js +278 -0
- package/dist/react/jsx/utils/parseDeclareStatic.d.ts +15 -0
- package/dist/react/jsx/utils/parseDeclareStatic.js +540 -0
- package/dist/react/jsx/utils/parseString.d.ts +25 -0
- package/dist/react/jsx/utils/parseString.js +540 -0
- package/dist/react/jsx/utils/parseStringFunction.d.ts +30 -0
- package/dist/react/jsx/utils/parseStringFunction.js +348 -0
- package/dist/react/jsx/utils/resolveImportPath.d.ts +11 -0
- package/dist/react/jsx/utils/resolveImportPath.js +111 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.d.ts +29 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/extractStringEntryMetadata.js +86 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.d.ts +14 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleInvalidTranslationCall.js +24 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.d.ts +19 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleLiteralTranslationCall.js +31 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.d.ts +22 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/handleStaticTranslationCall.js +51 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.d.ts +18 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/index.js +39 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.d.ts +24 -0
- package/dist/react/jsx/utils/stringParsing/processTranslationCall/routeTranslationCall.js +68 -0
- package/dist/react/jsx/utils/stringParsing/types.d.ts +41 -0
- package/dist/react/jsx/utils/stringParsing/types.js +1 -0
- package/dist/react/jsx/utils/types.d.ts +14 -0
- package/dist/react/jsx/utils/types.js +1 -0
- package/dist/react/jsx/utils/validateStringFunction.d.ts +7 -0
- package/dist/react/jsx/utils/validateStringFunction.js +31 -0
- package/dist/react/jsx/wrapJsx.d.ts +51 -0
- package/dist/react/jsx/wrapJsx.js +387 -0
- package/dist/react/parse/addVitePlugin/index.d.ts +22 -0
- package/dist/react/parse/addVitePlugin/index.js +41 -0
- package/dist/react/parse/addVitePlugin/installCompiler.d.ts +8 -0
- package/dist/react/parse/addVitePlugin/installCompiler.js +22 -0
- package/dist/react/parse/addVitePlugin/updateViteConfig.d.ts +19 -0
- package/dist/react/parse/addVitePlugin/updateViteConfig.js +120 -0
- package/dist/react/parse/addVitePlugin/utils/addCompilerImport.d.ts +9 -0
- package/dist/react/parse/addVitePlugin/utils/addCompilerImport.js +34 -0
- package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.d.ts +11 -0
- package/dist/react/parse/addVitePlugin/utils/addPluginInvocation.js +48 -0
- package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.d.ts +15 -0
- package/dist/react/parse/addVitePlugin/utils/checkCompilerImport.js +113 -0
- package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.d.ts +12 -0
- package/dist/react/parse/addVitePlugin/utils/checkPluginInvocation.js +32 -0
- package/dist/react/parse/createDictionaryUpdates.d.ts +3 -0
- package/dist/react/parse/createDictionaryUpdates.js +187 -0
- package/dist/react/parse/createInlineUpdates.d.ts +13 -0
- package/dist/react/parse/createInlineUpdates.js +161 -0
- package/dist/react/parse/wrapContent.d.ts +12 -0
- package/dist/react/parse/wrapContent.js +162 -0
- package/dist/react/utils/flattenDictionary.d.ts +20 -0
- package/dist/react/utils/flattenDictionary.js +75 -0
- package/dist/react/utils/getEntryAndMetadata.d.ts +5 -0
- package/dist/react/utils/getEntryAndMetadata.js +11 -0
- package/dist/react/utils/getVariableName.d.ts +25 -0
- package/dist/react/utils/getVariableName.js +37 -0
- package/dist/setup/agentInstructions.d.ts +24 -0
- package/dist/setup/agentInstructions.js +138 -0
- package/dist/setup/detectFramework.d.ts +31 -0
- package/dist/setup/detectFramework.js +106 -0
- package/dist/setup/frameworkUtils.d.ts +3 -0
- package/dist/setup/frameworkUtils.js +30 -0
- package/dist/setup/instructions/base.md +29 -0
- package/dist/setup/instructions/gt-next.md +107 -0
- package/dist/setup/instructions/gt-react.md +98 -0
- package/dist/setup/userInput.d.ts +4 -0
- package/dist/setup/userInput.js +32 -0
- package/dist/setup/wizard.d.ts +3 -0
- package/dist/setup/wizard.js +147 -0
- package/dist/state/recentDownloads.d.ts +12 -0
- package/dist/state/recentDownloads.js +18 -0
- package/dist/state/translateWarnings.d.ts +10 -0
- package/dist/state/translateWarnings.js +13 -0
- package/dist/translation/parse.d.ts +17 -0
- package/dist/translation/parse.js +77 -0
- package/dist/translation/stage.d.ts +3 -0
- package/dist/translation/stage.js +44 -0
- package/dist/translation/validate.d.ts +14 -0
- package/dist/translation/validate.js +100 -0
- package/dist/types/branch.d.ts +14 -0
- package/dist/types/branch.js +1 -0
- package/dist/types/data/json.d.ts +6 -0
- package/dist/types/data/json.js +1 -0
- package/dist/types/data.d.ts +37 -0
- package/dist/types/data.js +1 -0
- package/dist/types/files.d.ts +8 -0
- package/dist/types/files.js +1 -0
- package/dist/types/index.d.ts +243 -0
- package/dist/types/index.js +1 -0
- package/dist/types/libraries.d.ts +31 -0
- package/dist/types/libraries.js +72 -0
- package/dist/types/parsing.d.ts +3 -0
- package/dist/types/parsing.js +1 -0
- package/dist/utils/addExplicitAnchorIds.d.ts +24 -0
- package/dist/utils/addExplicitAnchorIds.js +416 -0
- package/dist/utils/constants.d.ts +5 -0
- package/dist/utils/constants.js +6 -0
- package/dist/utils/credentials.d.ts +12 -0
- package/dist/utils/credentials.js +120 -0
- package/dist/utils/flattenJsonFiles.d.ts +2 -0
- package/dist/utils/flattenJsonFiles.js +36 -0
- package/dist/utils/gitDiff.d.ts +8 -0
- package/dist/utils/gitDiff.js +34 -0
- package/dist/utils/gt.d.ts +2 -0
- package/dist/utils/gt.js +2 -0
- package/dist/utils/hash.d.ts +6 -0
- package/dist/utils/hash.js +11 -0
- package/dist/utils/headers.d.ts +1 -0
- package/dist/utils/headers.js +14 -0
- package/dist/utils/installPackage.d.ts +3 -0
- package/dist/utils/installPackage.js +77 -0
- package/dist/utils/localizeRelativeAssets.d.ts +8 -0
- package/dist/utils/localizeRelativeAssets.js +166 -0
- package/dist/utils/localizeStaticImports.d.ts +15 -0
- package/dist/utils/localizeStaticImports.js +397 -0
- package/dist/utils/localizeStaticUrls.d.ts +19 -0
- package/dist/utils/localizeStaticUrls.js +450 -0
- package/dist/utils/mintlifyTitleFallback.d.ts +6 -0
- package/dist/utils/mintlifyTitleFallback.js +80 -0
- package/dist/utils/packageInfo.d.ts +3 -0
- package/dist/utils/packageInfo.js +17 -0
- package/dist/utils/packageJson.d.ts +6 -0
- package/dist/utils/packageJson.js +68 -0
- package/dist/utils/packageManager.d.ts +28 -0
- package/dist/utils/packageManager.js +269 -0
- package/dist/utils/parse/needsCJS.d.ts +20 -0
- package/dist/utils/parse/needsCJS.js +72 -0
- package/dist/utils/persistPostprocessHashes.d.ts +12 -0
- package/dist/utils/persistPostprocessHashes.js +39 -0
- package/dist/utils/processAnchorIds.d.ts +6 -0
- package/dist/utils/processAnchorIds.js +56 -0
- package/dist/utils/processOpenApi.d.ts +8 -0
- package/dist/utils/processOpenApi.js +651 -0
- package/dist/utils/sanitizeFileContent.d.ts +6 -0
- package/dist/utils/sanitizeFileContent.js +29 -0
- package/dist/utils/sharedStaticAssets.d.ts +9 -0
- package/dist/utils/sharedStaticAssets.js +384 -0
- package/dist/utils/validateMdx.d.ts +10 -0
- package/dist/utils/validateMdx.js +25 -0
- package/dist/utils/wrapPlainUrls.d.ts +8 -0
- package/dist/utils/wrapPlainUrls.js +72 -0
- package/dist/workflows/download.d.ts +32 -0
- package/dist/workflows/download.js +131 -0
- package/dist/workflows/enqueue.d.ts +17 -0
- package/dist/workflows/enqueue.js +59 -0
- package/dist/workflows/setupProject.d.ts +13 -0
- package/dist/workflows/setupProject.js +48 -0
- package/dist/workflows/stage.d.ts +18 -0
- package/dist/workflows/stage.js +59 -0
- package/dist/workflows/steps/BranchStep.d.ts +13 -0
- package/dist/workflows/steps/BranchStep.js +161 -0
- package/dist/workflows/steps/DownloadStep.d.ts +19 -0
- package/dist/workflows/steps/DownloadStep.js +131 -0
- package/dist/workflows/steps/EnqueueStep.d.ts +15 -0
- package/dist/workflows/steps/EnqueueStep.js +33 -0
- package/dist/workflows/steps/PollJobsStep.d.ts +31 -0
- package/dist/workflows/steps/PollJobsStep.js +288 -0
- package/dist/workflows/steps/SetupStep.d.ts +16 -0
- package/dist/workflows/steps/SetupStep.js +72 -0
- package/dist/workflows/steps/UploadSourcesStep.d.ts +27 -0
- package/dist/workflows/steps/UploadSourcesStep.js +131 -0
- package/dist/workflows/steps/UploadTranslationsStep.d.ts +22 -0
- package/dist/workflows/steps/UploadTranslationsStep.js +71 -0
- package/dist/workflows/steps/UserEditDiffsStep.d.ts +11 -0
- package/dist/workflows/steps/UserEditDiffsStep.js +30 -0
- package/dist/workflows/steps/WorkflowStep.d.ts +4 -0
- package/dist/workflows/steps/WorkflowStep.js +2 -0
- package/dist/workflows/upload.d.ts +15 -0
- package/dist/workflows/upload.js +47 -0
- package/package.json +149 -112
- package/.dont-break +0 -6
- package/.jshintrc +0 -76
- package/.npmignore +0 -9
- package/.travis.yml +0 -21
- package/Gruntfile.js +0 -65
- package/History.md +0 -90
- package/MIT-License.txt +0 -21
- package/bin/gt.js +0 -58
- package/complexity.json +0 -17
- package/doc/RequireJsExample.md +0 -10
- package/examples/all.js +0 -72
- package/examples/altAsserrionSyntax/tests.js +0 -32
- package/examples/amd/bar.js +0 -4
- package/examples/amd/foo.js +0 -15
- package/examples/amd/fooTests.js +0 -8
- package/examples/arrays/test.js +0 -15
- package/examples/assert/test-assert-object.js +0 -15
- package/examples/assert/test-assert-require.js +0 -17
- package/examples/async/asyncAll.js +0 -37
- package/examples/async/asyncSetup.js +0 -29
- package/examples/async/asyncSetupOnce.js +0 -25
- package/examples/async/asyncTeardown.js +0 -27
- package/examples/async/stopStart.js +0 -22
- package/examples/async/test.js +0 -43
- package/examples/async/timeoutTests.js +0 -19
- package/examples/basic/code.js +0 -50
- package/examples/basic/code2.js +0 -9
- package/examples/basic/default.js +0 -26
- package/examples/basic/definedUndefined.js +0 -28
- package/examples/basic/empty.js +0 -24
- package/examples/basic/exceptionTests.js +0 -55
- package/examples/basic/fullMessage.js +0 -28
- package/examples/basic/functions.js +0 -18
- package/examples/basic/incomplete.js +0 -16
- package/examples/basic/null.js +0 -17
- package/examples/basic/optional.js +0 -45
- package/examples/basic/tests.js +0 -147
- package/examples/bdd/spec.js +0 -67
- package/examples/browser/code_coverage_report.json +0 -1
- package/examples/browser/index.html +0 -50
- package/examples/browser/packages.js +0 -12
- package/examples/browser/packagesDefault.js +0 -12
- package/examples/browser/qunit/qunit-1.10.0.css +0 -235
- package/examples/browser/qunit/qunit-1.10.0.js +0 -1977
- package/examples/browser/runTestsWithCoverage.bat +0 -19
- package/examples/browser/runner.js +0 -178
- package/examples/browser/src/Foo.js +0 -14
- package/examples/browser/srcInstrumented/Foo.js +0 -6
- package/examples/browser/test/FooTest.js +0 -31
- package/examples/browser/testDojo.js +0 -63
- package/examples/browser/testInstrumented/FooTest.js +0 -6
- package/examples/coffee/coffeeTestsCoffee/foo.coffee +0 -4
- package/examples/coffee/coffeeTestsCoffee/tests.coffee +0 -7
- package/examples/coffee/coffeeTestsJs/foo.js +0 -9
- package/examples/coffee/coffeeTestsJs/tests.coffee +0 -9
- package/examples/coffee/jsTestsCoffee/foo.coffee +0 -4
- package/examples/coffee/jsTestsCoffee/tests.js +0 -8
- package/examples/coverage.png +0 -0
- package/examples/crash/foo.js +0 -8
- package/examples/crashOnLoading/foo.js +0 -3
- package/examples/crashStackSize/foo.js +0 -8
- package/examples/crashStackSize/test.js +0 -7
- package/examples/doh/foo.js +0 -15
- package/examples/doh/fooTests.js +0 -28
- package/examples/dohDefine/foo.js +0 -14
- package/examples/dohDefine/fooTests.js +0 -24
- package/examples/dojo/src/Foo.js +0 -12
- package/examples/dojo/test/FooTest.js +0 -9
- package/examples/dojo/testDojo.js +0 -69
- package/examples/equiv/equiv.js +0 -22
- package/examples/example.png +0 -0
- package/examples/exec/foo.js +0 -5
- package/examples/exec/tests.js +0 -50
- package/examples/expect/test.js +0 -53
- package/examples/extend/extend-through-api.js +0 -40
- package/examples/extend/test.js +0 -18
- package/examples/faster/fibonacci.js +0 -18
- package/examples/faster/test.js +0 -89
- package/examples/fluent/foo.js +0 -38
- package/examples/funcAndArity/test.js +0 -15
- package/examples/gtAndQUnit/gtTests.js +0 -6
- package/examples/gtAndQUnit/qunitTests.js +0 -5
- package/examples/jsUnity/foo.js +0 -10
- package/examples/jsUnity/fooTests.js +0 -19
- package/examples/lodash/totalLength.js +0 -19
- package/examples/longStrings/test.js +0 -27
- package/examples/moduleSetupTeardown/test.js +0 -115
- package/examples/namedTest/foo.js +0 -9
- package/examples/overrideGt/test.js +0 -11
- package/examples/quickFail/test.js +0 -22
- package/examples/qunit/foo.js +0 -13
- package/examples/reporting/tests.coffee +0 -9
- package/examples/requirejs/lib/Foo.js +0 -11
- package/examples/requirejs/lib/Rectangle.js +0 -13
- package/examples/requirejs/runTests.js +0 -5
- package/examples/requirejs/test/RectangleTest.js +0 -22
- package/examples/silent/foo.js +0 -7
- package/examples/silent/fooTest.js +0 -18
- package/examples/skipTest/tests.js +0 -15
- package/examples/testsFromOtherTests/parentTests.js +0 -7
- package/examples/testsFromOtherTests/tests.js +0 -5
- package/examples/throws/test.js +0 -17
- package/examples/use-gt-as-module/fooTest.js +0 -8
- package/examples/use-gt-as-module/test-code.js +0 -7
- package/gt.js +0 -11
- package/lib/coverage.js +0 -234
- package/src/JUnitReporter.js +0 -30
- package/src/QUnitBrowserAdapter.js +0 -15
- package/src/Reporter.js +0 -127
- package/src/TestRunInfo.js +0 -25
- package/src/TestRunner.js +0 -223
- package/src/UnitTest/CollectionMethods.js +0 -97
- package/src/UnitTest/ModuleTests.js +0 -104
- package/src/UnitTest/Test.js +0 -85
- package/src/UnitTest/TestAsync.js +0 -78
- package/src/UnitTest/TestBaseInfo.js +0 -21
- package/src/UnitTest/TestCollection.js +0 -206
- package/src/UnitTest/TestInfo.js +0 -30
- package/src/UnitTest/TestReport.js +0 -27
- package/src/assertions/PrimaryAssertions.js +0 -163
- package/src/assertions/SecondaryAssertions.js +0 -262
- package/src/assertions/TertiaryAssertions.js +0 -99
- package/src/bddInterface.js +0 -39
- package/src/covered.js +0 -156
- package/src/dohAdapter.js +0 -79
- package/src/dohInterface.js +0 -20
- package/src/equiv.js +0 -11
- package/src/jsunityAdapter.js +0 -66
- package/src/jsunityInterface.js +0 -13
- package/src/options.js +0 -116
- package/src/shiv.js +0 -16
- package/src/sure.js +0 -226
- package/src/test/ConsoleHider.js +0 -26
- package/src/test/JUnitReporter.js +0 -12
- package/src/test/ModuleTests.js +0 -37
- package/src/test/Test.js +0 -18
- package/src/test/TestCollection.js +0 -21
- package/src/test/TestRunInfo.js +0 -15
- package/src/test/TestRunner.js +0 -9
- package/src/test/utils.js +0 -43
- package/src/utils/ConsoleHider.js +0 -27
- package/src/utils/WatchFiles.js +0 -13
- package/src/utils/discoverFiles.js +0 -18
- package/src/utils/joinArguments.js +0 -13
- package/src/utils/not.js +0 -14
- package/src/utils/pluckFunction.js +0 -15
- package/src/utils/test/joinArgumentsTest.js +0 -24
- package/src/utils/test/not.js +0 -70
- package/src/utils/test/pluckFunctionLoDashTest.js +0 -51
- package/src/utils/test/pluckFunctionTest.js +0 -41
- package/src/utils/test/pluckObjects.js +0 -20
- package/src/utils/utils.js +0 -146
- package/tests/all.js +0 -24
- package/tests/large/bddTest.js +0 -9
- package/tests/large/expectedCrash.js +0 -3
- package/tests/large/expectedCrashTest.js +0 -9
- package/tests/large/filterCLI.js +0 -10
- package/tests/large/filterCLITest.js +0 -18
- package/tests/large/loadingCrash.js +0 -1
- package/tests/large/loadingCrashTest.js +0 -9
- package/tests/large/skip.js +0 -11
- package/tests/large/skipTest.js +0 -9
- package/tests/large/twoFailing.js +0 -9
- package/tests/large/twoFailingTest.js +0 -9
- package/tests/mocha/.npmignore +0 -1
- package/tests/mocha/basic.js +0 -12
- package/tests/mocha/gt-as-module.js +0 -65
- package/tests/mocha/test-collection.js +0 -67
- package/tests/small/errorInAsync.js +0 -6
- package/tests/small/errorInAsyncTest.js +0 -14
- package/tests/small/oneFails.js +0 -7
- package/tests/small/oneFailsTest.js +0 -18
- package/tests/small/pluckObjects.js +0 -20
- package/tests/small/pluckTest.js +0 -51
- package/tests/small/setupException.js +0 -8
- package/tests/small/setupExceptionTest.js +0 -9
- package/tests/small/teardownException.js +0 -8
- package/tests/small/teardownExceptionTest.js +0 -9
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
var CollectionMethods = require('./CollectionMethods').CollectionMethods;
|
|
2
|
-
console.assert(CollectionMethods, 'missing test collection methods');
|
|
3
|
-
|
|
4
|
-
var path = require('path');
|
|
5
|
-
var _ = require('lodash');
|
|
6
|
-
var check = require('check-types');
|
|
7
|
-
var defaults = require('../utils/utils').defaults;
|
|
8
|
-
|
|
9
|
-
var nodejsDefine = 'if (typeof define!=="function") {\n' +
|
|
10
|
-
'function define(A,F){ module.exports=F.apply(null,A.map(require)); }}\n';
|
|
11
|
-
|
|
12
|
-
var TestCollection = {
|
|
13
|
-
modules: [],
|
|
14
|
-
currentModule: undefined,
|
|
15
|
-
testOnlyModules: {},
|
|
16
|
-
skipTestModules: {},
|
|
17
|
-
currentFileName: undefined,
|
|
18
|
-
prependAMD: false,
|
|
19
|
-
|
|
20
|
-
init: function () {
|
|
21
|
-
this.modules = [];
|
|
22
|
-
this.currentModule = undefined;
|
|
23
|
-
this.testOnlyModules = {};
|
|
24
|
-
this.skipTestModules = {};
|
|
25
|
-
this.currentFileName = undefined;
|
|
26
|
-
this.prependAMD = false;
|
|
27
|
-
},
|
|
28
|
-
|
|
29
|
-
determineSkipped: function(testModules) {
|
|
30
|
-
testModules = defaults(testModules, []);
|
|
31
|
-
check.verify.array(testModules, "expected list of modules to process, not", JSON.stringify(testModules));
|
|
32
|
-
testModules.forEach(function(item) {
|
|
33
|
-
if (/^!/.test(item)) {
|
|
34
|
-
item = item.substr(1);
|
|
35
|
-
log.debug('need to skip module', item);
|
|
36
|
-
this.skipTestModules[item] = item;
|
|
37
|
-
} else {
|
|
38
|
-
this.testOnlyModules[item] = item;
|
|
39
|
-
}
|
|
40
|
-
}, this);
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
attemptAMD: function (moduleName, initialError) {
|
|
44
|
-
check.verify.string(moduleName, 'missing module name');
|
|
45
|
-
|
|
46
|
-
if (initialError.name === 'ReferenceError' && initialError.message === 'define is not defined') {
|
|
47
|
-
console.log('module', moduleName, 'uses AMD define');
|
|
48
|
-
this.prependAMD = true;
|
|
49
|
-
delete require.cache[moduleName];
|
|
50
|
-
require(moduleName);
|
|
51
|
-
this.prependAMD = false;
|
|
52
|
-
} else {
|
|
53
|
-
throw initialError;
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
loadModule: function (moduleName) {
|
|
58
|
-
check.verify.string(moduleName, "expected a module name", moduleName);
|
|
59
|
-
log.debug("loading module with unit tests", moduleName);
|
|
60
|
-
|
|
61
|
-
// jsUnity support, will collect unit tests
|
|
62
|
-
global.TestSuite = {};
|
|
63
|
-
|
|
64
|
-
try {
|
|
65
|
-
this.currentFileName = path.resolve(moduleName);
|
|
66
|
-
|
|
67
|
-
try {
|
|
68
|
-
delete require.cache[moduleName]; // clear cache just in case to make sure the module is loaded
|
|
69
|
-
require(moduleName);
|
|
70
|
-
} catch (initialError) {
|
|
71
|
-
this.attemptAMD(moduleName, initialError);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (Object.keys(global.TestSuite).length) {
|
|
75
|
-
console.log('collected', Object.keys(global.TestSuite).length, 'jsUnity tests from', this.currentFileName);
|
|
76
|
-
gt.module(this.currentFileName);
|
|
77
|
-
Object.keys(global.TestSuite).forEach(function (testName) {
|
|
78
|
-
var test = global.TestSuite[testName];
|
|
79
|
-
gt.test(testName, test);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
} catch (errors) {
|
|
83
|
-
console.error(errors + ' while loading ' + moduleName);
|
|
84
|
-
console.trace(errors);
|
|
85
|
-
process.exit(1);
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
|
|
89
|
-
collectTests: function (moduleNames, testModules, testNameFilter) {
|
|
90
|
-
check.verify.array(moduleNames, "expected list of test modules");
|
|
91
|
-
this.determineSkipped(testModules);
|
|
92
|
-
|
|
93
|
-
moduleNames.forEach(this.loadModule, this);
|
|
94
|
-
log.debug("loaded", this.getNumberOfTests(), "tests from");
|
|
95
|
-
|
|
96
|
-
if (testNameFilter) {
|
|
97
|
-
this.filterTests(testNameFilter);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
return moduleNames;
|
|
101
|
-
},
|
|
102
|
-
|
|
103
|
-
preTransform: function (code, filename) {
|
|
104
|
-
if (this.prependAMD) {
|
|
105
|
-
// console.log('prepending AMD support to code for', filename);
|
|
106
|
-
code = nodejsDefine + code;
|
|
107
|
-
}
|
|
108
|
-
return code;
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
setTestFilename: function (filename) {
|
|
112
|
-
check.verify.string(filename, 'trying to set empty filename');
|
|
113
|
-
this.currentFileName = filename;
|
|
114
|
-
},
|
|
115
|
-
|
|
116
|
-
getTestFilenames: function () {
|
|
117
|
-
check.verify.array(this.modules, 'undefined test modules');
|
|
118
|
-
if (!this.modules.length) {
|
|
119
|
-
if (this.currentFileName) {
|
|
120
|
-
return [this.currentFileName];
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
var testFilenames = _(testFilenames)
|
|
125
|
-
.invoke('getTestFilenames')
|
|
126
|
-
.flatten()
|
|
127
|
-
.uniq()
|
|
128
|
-
.value();
|
|
129
|
-
// console.log('test filenames\n', testFilenames);
|
|
130
|
-
return testFilenames;
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
_startModuleIfNecessary: function() {
|
|
134
|
-
if ("undefined" === typeof this.currentModule) {
|
|
135
|
-
this.module("unnamed");
|
|
136
|
-
}
|
|
137
|
-
check.verify.string(this.currentFileName, 'current filename not set');
|
|
138
|
-
},
|
|
139
|
-
|
|
140
|
-
shouldTestModule: function (name) {
|
|
141
|
-
check.verify.string(name, "module name should be a string");
|
|
142
|
-
if (!Object.keys(this.testOnlyModules).length) {
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
return !!this.testOnlyModules[name];
|
|
146
|
-
},
|
|
147
|
-
|
|
148
|
-
shouldSkipModule: function (name) {
|
|
149
|
-
check.verify.string(name, "module name should be a string");
|
|
150
|
-
check.verify.object(this.skipTestModules, 'skip test modules should be an object');
|
|
151
|
-
return !!this.skipTestModules[name];
|
|
152
|
-
},
|
|
153
|
-
|
|
154
|
-
filterTests: function (nameExpression) {
|
|
155
|
-
if (!nameExpression) {
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
this.modules.forEach(function (m) {
|
|
159
|
-
m.filterTests(nameExpression);
|
|
160
|
-
});
|
|
161
|
-
// todo: remove modules without tests
|
|
162
|
-
},
|
|
163
|
-
|
|
164
|
-
getAllTests: function () {
|
|
165
|
-
check.verify.array(this.modules, "modules is not an array");
|
|
166
|
-
|
|
167
|
-
return this.modules.reduce(function(all, m) {
|
|
168
|
-
var tests = m.getTests();
|
|
169
|
-
return all.concat(tests);
|
|
170
|
-
}, []);
|
|
171
|
-
},
|
|
172
|
-
|
|
173
|
-
getNumberOfTests: function () {
|
|
174
|
-
check.verify.array(this.modules, "modules is not an array");
|
|
175
|
-
|
|
176
|
-
return this.modules.reduce(function (total, m) {
|
|
177
|
-
return total + m.getNumberOfTests();
|
|
178
|
-
}, 0);
|
|
179
|
-
},
|
|
180
|
-
|
|
181
|
-
getFailedTests: function () {
|
|
182
|
-
check.verify.array(this.modules, "modules are not defined");
|
|
183
|
-
|
|
184
|
-
return this.modules.reduce(function(failed, testModule) {
|
|
185
|
-
var moduleFailed = testModule.getFailedTests();
|
|
186
|
-
check.verify.array(moduleFailed, "could not get failed tests from module", testModule.name);
|
|
187
|
-
return failed.concat(moduleFailed);
|
|
188
|
-
}, []);
|
|
189
|
-
},
|
|
190
|
-
|
|
191
|
-
passedPercentage: function () {
|
|
192
|
-
var all = this.getNumberOfTests();
|
|
193
|
-
var failed = this.getFailedTests();
|
|
194
|
-
var goodTests = all - failed.length;
|
|
195
|
-
var percent = (all > 0 ? goodTests / all * 100 : 100);
|
|
196
|
-
return percent;
|
|
197
|
-
},
|
|
198
|
-
|
|
199
|
-
getBindMethods: function () {
|
|
200
|
-
return ['module', 'test', 'skip', 'notest', 'asyncTest', 'async'];
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
_.extend(TestCollection, CollectionMethods);
|
|
205
|
-
|
|
206
|
-
exports.TestCollection = TestCollection;
|
package/src/UnitTest/TestInfo.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
var check = require('check-types');
|
|
2
|
-
|
|
3
|
-
// test information updated during unit test execution (assertions, crashes, messages)
|
|
4
|
-
var TestInfo = function () {
|
|
5
|
-
this.assertions = 0;
|
|
6
|
-
this.broken = 0;
|
|
7
|
-
this.hasCrashed = false;
|
|
8
|
-
this.messages = [];
|
|
9
|
-
this.stdout = null;
|
|
10
|
-
this.hasRun = false;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
TestInfo.prototype.check = function () {
|
|
14
|
-
check.verify.string(this.name, "test name should be a string");
|
|
15
|
-
console.assert(!this.assertions, "test", this.name, "should start with 0 assertions");
|
|
16
|
-
console.assert(!this.broken, "test", this.name, "should start with 0 broken assertions");
|
|
17
|
-
check.verify.fn(this.code, this.name, "should have code");
|
|
18
|
-
check.verify.string(this.filename, this.name, 'should have original source filename');
|
|
19
|
-
return true;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
TestInfo.prototype.errorMessage = function(msg) {
|
|
23
|
-
this.messages.push(msg);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
TestInfo.prototype.getMessages = function () {
|
|
27
|
-
return this.messages;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
module.exports.TestInfo = TestInfo;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
var sprintf = require('sprintf').sprintf;
|
|
2
|
-
var check = require('check-types');
|
|
3
|
-
|
|
4
|
-
var TestReport = {};
|
|
5
|
-
|
|
6
|
-
TestReport.formMessage = function (lineLength) {
|
|
7
|
-
lineLength = lineLength || 100;
|
|
8
|
-
var maxNameLength = lineLength - 32;
|
|
9
|
-
if (maxNameLength < 10) {
|
|
10
|
-
maxNameLength = 10;
|
|
11
|
-
}
|
|
12
|
-
var format = " %-" + maxNameLength + "s %3d%% (%d / %d) : %s";
|
|
13
|
-
|
|
14
|
-
var maxAssertions = (this.expected ? this.expected : this.assertions);
|
|
15
|
-
var good = this.assertions - this.broken;
|
|
16
|
-
var percent = (this.assertions === 0 ? 100 : good / this.assertions * 100);
|
|
17
|
-
|
|
18
|
-
var testNameFitted = this.name.length < maxNameLength ?
|
|
19
|
-
this.name :
|
|
20
|
-
this.name.substr(0, maxNameLength - 3) + '...'
|
|
21
|
-
var status = this.status();
|
|
22
|
-
check.verify.string(status, "could not get status for", message);
|
|
23
|
-
var message = sprintf(format, testNameFitted, percent, good, maxAssertions, this.status());
|
|
24
|
-
return message;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
module.exports.TestReport = TestReport;
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
var TestRunInfo = require('../TestRunInfo').TestRunInfo;
|
|
2
|
-
var check = require('check-types');
|
|
3
|
-
var joinArguments = require('../utils/joinArguments');
|
|
4
|
-
var quote = require('quote');
|
|
5
|
-
|
|
6
|
-
function tooLong(str) {
|
|
7
|
-
check.verify.string(str, 'expected string to compare length');
|
|
8
|
-
var LIMIT = 10;
|
|
9
|
-
return str.length > LIMIT;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function formatEqualMessage(actual, expected, info) {
|
|
13
|
-
var first = JSON.stringify(actual, null, 2);
|
|
14
|
-
var second = JSON.stringify(expected, null, 2);
|
|
15
|
-
var message = '';
|
|
16
|
-
|
|
17
|
-
if (tooLong(first)) {
|
|
18
|
-
message += '\n' + first + '\n';
|
|
19
|
-
} else {
|
|
20
|
-
message = first;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
message += " !== ";
|
|
24
|
-
|
|
25
|
-
if (tooLong(second)) {
|
|
26
|
-
message += '\n' + second + '\n';
|
|
27
|
-
} else {
|
|
28
|
-
message += second;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (info) {
|
|
32
|
-
message += ' ' + info;
|
|
33
|
-
}
|
|
34
|
-
return message;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
var PrimaryAssertions = {
|
|
38
|
-
basic: function () {
|
|
39
|
-
return ['equal', 'ok', 'expect', 'raises', 'stop', 'start', 'push'];
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
Stops testing framework (test wants to do async call for example).
|
|
44
|
-
Async tests do not have to call stop, it is done automatically
|
|
45
|
-
|
|
46
|
-
@method stop
|
|
47
|
-
@memberOf gt
|
|
48
|
-
@category Test
|
|
49
|
-
*/
|
|
50
|
-
stop: function () {
|
|
51
|
-
check.verify.object(TestRunInfo._currentTest, "current test is undefined");
|
|
52
|
-
TestRunInfo._currentTest.pause();
|
|
53
|
-
},
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
Starts testing framework (after async delay for example)
|
|
57
|
-
|
|
58
|
-
@method start
|
|
59
|
-
@memberOf gt
|
|
60
|
-
@category Test
|
|
61
|
-
*/
|
|
62
|
-
start: function () {
|
|
63
|
-
check.verify.object(TestRunInfo._currentTest, "current test is undefined");
|
|
64
|
-
TestRunInfo._currentTest.continueWithTest();
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
Asserts strict equality
|
|
69
|
-
|
|
70
|
-
@method equal
|
|
71
|
-
@memberOf gt
|
|
72
|
-
@category Basic assertions
|
|
73
|
-
*/
|
|
74
|
-
equal: function (a, b) {
|
|
75
|
-
TestRunInfo._beforeAssertion();
|
|
76
|
-
|
|
77
|
-
if (a !== b) {
|
|
78
|
-
var message = formatEqualMessage(a, b, joinArguments(arguments, 2));
|
|
79
|
-
/*
|
|
80
|
-
var message = a + " !== " + b;
|
|
81
|
-
message += ' ' + joinArguments(arguments, 2);
|
|
82
|
-
*/
|
|
83
|
-
TestRunInfo._brokenAssertion(message);
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
Asserts if condition evaluates to true
|
|
89
|
-
|
|
90
|
-
@method ok
|
|
91
|
-
@memberOf gt
|
|
92
|
-
@category Basic assertions
|
|
93
|
-
*/
|
|
94
|
-
ok: function (condition) {
|
|
95
|
-
TestRunInfo._beforeAssertion();
|
|
96
|
-
|
|
97
|
-
if (!condition) {
|
|
98
|
-
var message = quote(condition) + ' failed';
|
|
99
|
-
message += ' ' + joinArguments(arguments, 1);
|
|
100
|
-
TestRunInfo._brokenAssertion(message);
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
|
|
104
|
-
push: function (condition, expected, actual, message) {
|
|
105
|
-
this.ok(condition, 'expected ' + quote(expected) + ' got ' + quote(actual) + ' ' + message);
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
Asserts that given function raises an assertion when executed.
|
|
110
|
-
|
|
111
|
-
@method raises
|
|
112
|
-
@memberOf gt
|
|
113
|
-
@category Basic assertions
|
|
114
|
-
*/
|
|
115
|
-
raises: function (code, expectedExceptionType, message) {
|
|
116
|
-
check.verify.object(TestRunInfo._currentTest, "current test is undefined");
|
|
117
|
-
var typeName = null;
|
|
118
|
-
if (!message && typeof expectedExceptionType === 'string') {
|
|
119
|
-
message = expectedExceptionType;
|
|
120
|
-
expectedExceptionType = null;
|
|
121
|
-
} else {
|
|
122
|
-
console.assert(expectedExceptionType !== undefined, "undefined expected exception type, message:", message);
|
|
123
|
-
typeName = expectedExceptionType.name;
|
|
124
|
-
}
|
|
125
|
-
check.verify.string(message, "message should be a string");
|
|
126
|
-
TestRunInfo._beforeAssertion();
|
|
127
|
-
|
|
128
|
-
try {
|
|
129
|
-
code();
|
|
130
|
-
} catch (error) {
|
|
131
|
-
if (!typeName ||
|
|
132
|
-
expectedExceptionType === typeof error ||
|
|
133
|
-
error.name === expectedExceptionType ||
|
|
134
|
-
error.name === typeName) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
var caughtType = error.name || typeof error;
|
|
138
|
-
TestRunInfo._brokenAssertion("expected exception of type " + quote(typeName) + ", caught " + quote(caughtType) + " " + quote(message));
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
if (typeName) {
|
|
142
|
-
TestRunInfo._brokenAssertion("exception of type " + quote(typeName) + " not thrown, " + quote(message));
|
|
143
|
-
} else {
|
|
144
|
-
TestRunInfo._brokenAssertion("exception NOT thrown, " + quote(message));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
Expect given number of assertions
|
|
151
|
-
|
|
152
|
-
@method expect
|
|
153
|
-
@memberOf gt
|
|
154
|
-
@category Test
|
|
155
|
-
*/
|
|
156
|
-
PrimaryAssertions.expect = function (numberOfAssertions) {
|
|
157
|
-
check.verify.object(TestRunInfo._currentTest, "current test is undefined");
|
|
158
|
-
console.assert(numberOfAssertions >= 0, "invalid number of expected assertion", numberOfAssertions,
|
|
159
|
-
"test", TestRunInfo._currentTest.name);
|
|
160
|
-
TestRunInfo._currentTest.expected = numberOfAssertions;
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
module.exports = PrimaryAssertions;
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
var TestRunInfo = require('../TestRunInfo').TestRunInfo;
|
|
2
|
-
var joinArguments = require('../utils/joinArguments');
|
|
3
|
-
var check = require('check-types');
|
|
4
|
-
var verify = check.verify;
|
|
5
|
-
var spawn = require('child_process').spawn;
|
|
6
|
-
|
|
7
|
-
// returns total execution time
|
|
8
|
-
function timeCode(code, n) {
|
|
9
|
-
verify.fn(code, 'missing code to time');
|
|
10
|
-
verify.positiveNumber(n, 'incorrect number of times to execute', n);
|
|
11
|
-
var start = new Date();
|
|
12
|
-
var k = n;
|
|
13
|
-
for(; k > 0; k -= 1) {
|
|
14
|
-
code();
|
|
15
|
-
}
|
|
16
|
-
var end = new Date();
|
|
17
|
-
return end - start;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
var SecondaryAssertions = {
|
|
21
|
-
/**
|
|
22
|
-
Asserts the two functions return same result for every
|
|
23
|
-
input in the list.
|
|
24
|
-
|
|
25
|
-
@method sameResults
|
|
26
|
-
@memberOf gt
|
|
27
|
-
@category Secondary assertions
|
|
28
|
-
*/
|
|
29
|
-
sameResults: function (f1, f2, inputs, message) {
|
|
30
|
-
verify.fn(f1, 'missing first function');
|
|
31
|
-
verify.fn(f2, 'missing second function');
|
|
32
|
-
verify.array(inputs, 'inputs should be a array');
|
|
33
|
-
if (!check.string(message)) {
|
|
34
|
-
message = f1.name + ' vs ' + f2.name;
|
|
35
|
-
}
|
|
36
|
-
console.assert(inputs.length > 0, 'empty inputs array');
|
|
37
|
-
inputs.forEach(function (args) {
|
|
38
|
-
gt.equal(f1.call(null, args), f2.call(null, args),
|
|
39
|
-
message + ' with inputs ' + args.join(' '));
|
|
40
|
-
});
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
deferCall: function(fn) {
|
|
44
|
-
verify.fn(fn, 'expected a function');
|
|
45
|
-
var args = Array.prototype.slice.call(arguments, 1);
|
|
46
|
-
return function() {
|
|
47
|
-
return fn.apply(null, args);
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
Asserts the given function runs faster than specified limit.
|
|
53
|
-
|
|
54
|
-
@method faster
|
|
55
|
-
@memberOf gt
|
|
56
|
-
@category Performance assertions
|
|
57
|
-
*/
|
|
58
|
-
faster: function (name, code, n, limitMs) {
|
|
59
|
-
verify.string(name, 'name should be a string');
|
|
60
|
-
verify.fn(code, 'missing function code');
|
|
61
|
-
if (check.positiveNumber(n) && !limitMs) {
|
|
62
|
-
limitMs = n;
|
|
63
|
-
n = 1;
|
|
64
|
-
}
|
|
65
|
-
verify.positiveNumber(n, 'incorrect number of times to execute', n);
|
|
66
|
-
verify.positiveNumber(limitMs, 'missing limit ms', limitMs);
|
|
67
|
-
|
|
68
|
-
var time = timeCode(code, n);
|
|
69
|
-
gt.ok(time < limitMs, name + ' ' + n + ' time(s) took '
|
|
70
|
-
+ time + 'ms exceeded ' + limitMs + 'ms limit');
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
Asserts the first function runs faster than the second.
|
|
75
|
-
|
|
76
|
-
@method fasterThan
|
|
77
|
-
@memberOf gt
|
|
78
|
-
@category Performance assertions
|
|
79
|
-
*/
|
|
80
|
-
fasterThan: function (name, f1, f2, n) {
|
|
81
|
-
verify.string(name, 'name should be a string');
|
|
82
|
-
verify.fn(f1, 'missing first function');
|
|
83
|
-
verify.fn(f2, 'missing second function');
|
|
84
|
-
if (!check.positiveNumber(n)) {
|
|
85
|
-
n = 1;
|
|
86
|
-
}
|
|
87
|
-
var time1 = timeCode(f1, n);
|
|
88
|
-
var time2 = timeCode(f2, n);
|
|
89
|
-
gt.ok(time1 < time2, name + ' first function is slower than second, ' +
|
|
90
|
-
time1 + 'ms vs ' + time2 + 'ms on ' + n + ' runs');
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
Asserts that given value is defined
|
|
95
|
-
|
|
96
|
-
@method defined
|
|
97
|
-
@memberOf gt
|
|
98
|
-
@category Type assertions
|
|
99
|
-
*/
|
|
100
|
-
defined: function (value) {
|
|
101
|
-
var message = joinArguments(arguments, 1);
|
|
102
|
-
this.ok(typeof value !== 'undefined', message);
|
|
103
|
-
},
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
Asserts that given value is undefined
|
|
107
|
-
|
|
108
|
-
@method undefined
|
|
109
|
-
@memberOf gt
|
|
110
|
-
@category Type assertions
|
|
111
|
-
*/
|
|
112
|
-
undefined: function (value) {
|
|
113
|
-
var message = joinArguments(arguments, 1);
|
|
114
|
-
this.equal(typeof value, 'undefined', message);
|
|
115
|
-
},
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
Asserts that given value is null
|
|
119
|
-
|
|
120
|
-
@method null
|
|
121
|
-
@memberOf gt
|
|
122
|
-
@category Type assertions
|
|
123
|
-
*/
|
|
124
|
-
null: function (value) {
|
|
125
|
-
var message = joinArguments(arguments, 1);
|
|
126
|
-
this.equal(value, null, message);
|
|
127
|
-
},
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
Asserts the given value is a function
|
|
131
|
-
|
|
132
|
-
@method func
|
|
133
|
-
@memberOf gt
|
|
134
|
-
@category Type assertions
|
|
135
|
-
*/
|
|
136
|
-
func: function (f) {
|
|
137
|
-
var message = joinArguments(arguments, 1);
|
|
138
|
-
// console.log(message);
|
|
139
|
-
this.equal(typeof f, 'function', message);
|
|
140
|
-
},
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
Asserts given value is an object
|
|
144
|
-
|
|
145
|
-
@method object
|
|
146
|
-
@memberOf gt
|
|
147
|
-
@category Type assertions
|
|
148
|
-
*/
|
|
149
|
-
object: function (o) {
|
|
150
|
-
var message = joinArguments(arguments, 1);
|
|
151
|
-
this.equal(typeof o, 'object', message);
|
|
152
|
-
},
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
Asserts given value is an array
|
|
156
|
-
|
|
157
|
-
@method array
|
|
158
|
-
@memberOf gt
|
|
159
|
-
@category Type assertions
|
|
160
|
-
*/
|
|
161
|
-
array: function (array) {
|
|
162
|
-
var message = joinArguments(arguments, 1) || 'checking if ' + array + ' is an array';
|
|
163
|
-
this.ok(Array.isArray(array), message);
|
|
164
|
-
},
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
Asserts given value is a function that takes in specified
|
|
168
|
-
number of arguments
|
|
169
|
-
|
|
170
|
-
@method arity
|
|
171
|
-
@memberOf gt
|
|
172
|
-
@category Secondary assertions
|
|
173
|
-
*/
|
|
174
|
-
arity: function (f, n, message) {
|
|
175
|
-
verify.object(TestRunInfo, 'missing test run info');
|
|
176
|
-
verify.object(TestRunInfo._currentTest, "current test is undefined");
|
|
177
|
-
this.func(f, message);
|
|
178
|
-
if (TestRunInfo._currentTest.expected) {
|
|
179
|
-
TestRunInfo._currentTest.expected += 1;
|
|
180
|
-
}
|
|
181
|
-
this.equal(f.length, n, message);
|
|
182
|
-
},
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
Asserts exit code from an external process.
|
|
186
|
-
|
|
187
|
-
@method exec
|
|
188
|
-
@memberOf gt
|
|
189
|
-
@category Secondary assertions
|
|
190
|
-
*/
|
|
191
|
-
exec: function (command, args, expectedExitCode, message) {
|
|
192
|
-
verify.object(TestRunInfo._currentTest, "current test is undefined");
|
|
193
|
-
verify.string(command, 'command should be a string');
|
|
194
|
-
if (!Array.isArray(args)) {
|
|
195
|
-
message = expectedExitCode;
|
|
196
|
-
expectedExitCode = args;
|
|
197
|
-
args = [];
|
|
198
|
-
}
|
|
199
|
-
if (check.string(expectedExitCode)) {
|
|
200
|
-
message = expectedExitCode;
|
|
201
|
-
expectedExitCode = 0;
|
|
202
|
-
}
|
|
203
|
-
if (typeof expectedExitCode === 'undefined') {
|
|
204
|
-
expectedExitCode = 0;
|
|
205
|
-
}
|
|
206
|
-
console.assert(expectedExitCode >= 0, 'invalid expected exit code', expectedExitCode);
|
|
207
|
-
|
|
208
|
-
// throw new Error('gt.exec is not implemented yet');
|
|
209
|
-
var program = spawn(command, args);
|
|
210
|
-
var stdout = '', stderr = '';
|
|
211
|
-
program.stdout.setEncoding('utf-8');
|
|
212
|
-
program.stderr.setEncoding('utf-8');
|
|
213
|
-
program.stdout.on('data', function (data) {
|
|
214
|
-
stdout += data;
|
|
215
|
-
console.log('exec:', data.trim());
|
|
216
|
-
});
|
|
217
|
-
program.stderr.on('data', function (data) {
|
|
218
|
-
stderr += data;
|
|
219
|
-
console.log('exec err:', data.trim());
|
|
220
|
-
});
|
|
221
|
-
program.on('exit', function (code) {
|
|
222
|
-
console.log('exec exit code:', code);
|
|
223
|
-
if (!message || check.string(message)) {
|
|
224
|
-
gt.equal(code, expectedExitCode, message);
|
|
225
|
-
} else {
|
|
226
|
-
gt.equal(code, expectedExitCode);
|
|
227
|
-
check.verify.fn(message, 'expected callback function');
|
|
228
|
-
message(stdout, stderr);
|
|
229
|
-
}
|
|
230
|
-
gt.start();
|
|
231
|
-
});
|
|
232
|
-
},
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
Asserts given code raises AssertionError
|
|
236
|
-
|
|
237
|
-
@method raisesAssertion
|
|
238
|
-
@memberOf gt
|
|
239
|
-
@category Secondary assertions
|
|
240
|
-
*/
|
|
241
|
-
raisesAssertion: function (code, message) {
|
|
242
|
-
this.raises(code, 'AssertionError', message);
|
|
243
|
-
},
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
Asserts given code raises ReferenceError
|
|
247
|
-
|
|
248
|
-
@method raisesReference
|
|
249
|
-
@memberOf gt
|
|
250
|
-
@category Secondary assertions
|
|
251
|
-
*/
|
|
252
|
-
raisesReference: function (code, message) {
|
|
253
|
-
this.raises(code, 'ReferenceError', message);
|
|
254
|
-
}
|
|
255
|
-
};
|
|
256
|
-
|
|
257
|
-
SecondaryAssertions.secondary = function () {
|
|
258
|
-
var names = Object.keys(SecondaryAssertions);
|
|
259
|
-
return names;
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
module.exports = SecondaryAssertions;
|