wp-studio 1.7.8-beta2 → 1.7.8-beta4
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/README.md +54 -1
- package/assets/demo.gif +0 -0
- package/dist/cli/{_events-BRGCap7g.mjs → _events-C2dFSpKE.mjs} +2 -2
- package/dist/cli/{certificate-manager-Dd4zv2_k.mjs → certificate-manager-BMngpL-s.mjs} +12 -4
- package/dist/cli/{index-9Oz-0bqF.mjs → index-CkFXAp-n.mjs} +5 -5
- package/dist/cli/{index-CT4S2538.mjs → index-odShRBgM.mjs} +171 -117
- package/dist/cli/{login-D4E3GoXe.mjs → login-BeT1uKwW.mjs} +2 -2
- package/dist/cli/{logout-DE-RoshK.mjs → logout-BFQJBJD0.mjs} +2 -2
- package/dist/cli/main.mjs +3 -2
- package/dist/cli/proxy-daemon.mjs +1 -1
- package/dist/cli/{resume-DLoXmzNG.mjs → resume-D_K0QEl5.mjs} +1 -1
- package/dist/cli/{set-B8YYUENH.mjs → set-C5l116L7.mjs} +2 -2
- package/dist/cli/{set-B0L-QiXT.mjs → set-DzcR6sFr.mjs} +2 -2
- package/dist/cli/{status-DEOAA0yx.mjs → status-CbXnAskz.mjs} +1 -1
- package/dist/cli/{wp-CobSX6C6.mjs → wp-CUKyZNTP.mjs} +1 -1
- package/dist/cli/wp-files/latest/available-site-translations.json +1 -1
- package/dist/cli/wp-files/latest/languages/admin-de_DE.l10n.php +2 -2
- package/dist/cli/wp-files/latest/languages/admin-network-de_DE.l10n.php +1 -1
- package/dist/cli/wp-files/latest/languages/admin-pl_PL.l10n.php +2 -2
- package/dist/cli/wp-files/latest/languages/de_DE-0cc31205f20441b3df1d1b46100f6b8d.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-0ce75ad2f775d1cac9696967d484808c.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-0eebe503220d4a00341eb011b92769b4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-17179a5f2930647c89151e365f843b6e.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1780a2033cf98d69ce13c2e5c8510004.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1a0cd6a7128913b15c1a10dd68951869.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1bba9045bb07c89671c88a3f328548e8.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1c4303f02ff93b290e9faad991eeb06f.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-1d17475f620f63a92e2c5d2681c51ee8.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-2617ce121227a46077ede6c69aa9fcb5.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-270d72d1cff17227d37f3244759cbecb.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-28b3c3d595952907e08d98287077426c.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-2b390f85a3048c5b4255fb45960b6514.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-2c5d274ea625dd91556554ad82901529.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-320f4ad9792aaa6dedb1e71cbdf85d57.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-440127dd25bde48a531ded36f33e927b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-49c6d4acf36cf3aca9f0b2a77617304f.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-4a38fe1c0c45989e44682ba6109d9f46.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-4bfa11da57ff2600004bb500368247f4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-50278328b502f4eb3f2b8b7ab49324a1.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-5251f7623766a714c8207c7edb938628.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-529362903a5a05b34b06b5e793fb4cf8.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-569e85ef168299eb8c8f24d8ef8c8a78.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-6025add6bde16aaeb12787d250f9b414.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-60d06fac6f98e8e8f0ec5a945738b660.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-68f2cec7514bf8563c723a4d675fcfe6.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7233008897033de5ee0d14f86a42a65a.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7289286ed59e90a8f36ae797df62220b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7436b7ee9e4f11ac0d618d8cc886eb66.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-77fdfadaf2e1ca3a027d1956b910bc50.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7b74c8457eaa7fcc50db41b431f8a003.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7c90cd4398ee2d9d3628c387a87a70e5.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7d5ca435e60d92f024d46c9257aaa0f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-7f13c36c641b114bf18cd0bcc9ecc7e0.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-803bf1ce2131e13efc590c1bc47851fc.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-81c889563f09dd13de1701135dc62941.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-81d6f084cb273e02e15b01bd9ece87f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-8240df461220d1d3a028a9a4c5652a5b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-8860e58c20c6a2ab5876a0f07be43bd9.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-93882e8f9976382d7f724ac595ed7151.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-947c76bb5095da30e16668eec15406b2.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-9b256ea9cd54df92095e04c76758ceb0.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-9c3519f4870fac83dc0dbf18cb6bd4c4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-9d47a87c240c1d10701cd6a02b28aa1b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-a25d1cc7bf7ca0b4e114f6bea64943f4.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-a2796e57f680e25d84c4b352ee6d7280.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-a9dc201dcd011fe71849743133052619.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-aabfce98c410957228848dc581e3c420.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-ac23eee47530ac63a1178c827db28087.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-bf0f094965d3d4a95b47babcb35fc136.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-bf23b24175490c2e46aaf92ff6a0c70f.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-c31d5f185753910c14afebc6deb2ce24.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-ca28138671823450e87dfd354f7afc6b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-daeb084aab42199d26393a56c3465bc0.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-e2791ba830489d23043be8650a22a22b.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-e2e4c4b80f3adf2c70b431bfdb1b4872.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-e53526243551a102928735ec9eed4edf.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-f575f481034e90e21d832e415fd95fcf.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-f70806bf0c7d62f2908bd5a1c3fe4efc.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE-f8f49d9fc4a9cf7d78ec99285417bd9c.json +1 -1
- package/dist/cli/wp-files/latest/languages/de_DE.l10n.php +27 -27
- package/dist/cli/wp-files/latest/languages/pl_PL-0cc31205f20441b3df1d1b46100f6b8d.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-0eebe503220d4a00341eb011b92769b4.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-1c4303f02ff93b290e9faad991eeb06f.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-1d17475f620f63a92e2c5d2681c51ee8.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-2b390f85a3048c5b4255fb45960b6514.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-4a38fe1c0c45989e44682ba6109d9f46.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-4bfa11da57ff2600004bb500368247f4.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-50278328b502f4eb3f2b8b7ab49324a1.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-5251f7623766a714c8207c7edb938628.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-529362903a5a05b34b06b5e793fb4cf8.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-569e85ef168299eb8c8f24d8ef8c8a78.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-6025add6bde16aaeb12787d250f9b414.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-7436b7ee9e4f11ac0d618d8cc886eb66.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-77fdfadaf2e1ca3a027d1956b910bc50.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-7b74c8457eaa7fcc50db41b431f8a003.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-7d5ca435e60d92f024d46c9257aaa0f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-81d6f084cb273e02e15b01bd9ece87f7.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-8240df461220d1d3a028a9a4c5652a5b.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-9b256ea9cd54df92095e04c76758ceb0.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-9c3519f4870fac83dc0dbf18cb6bd4c4.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-9d47a87c240c1d10701cd6a02b28aa1b.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-a9dc201dcd011fe71849743133052619.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-aabfce98c410957228848dc581e3c420.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-ca28138671823450e87dfd354f7afc6b.json +1 -1
- package/dist/cli/wp-files/latest/languages/pl_PL-e2e4c4b80f3adf2c70b431bfdb1b4872.json +1 -1
- package/dist/cli/wp-files/sqlite-command/composer.json +4 -3
- package/dist/cli/wp-files/sqlite-command/composer.lock +132 -80
- package/dist/cli/wp-files/sqlite-command/vendor/autoload.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_classmap.php +58 -70
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_namespaces.php +1 -0
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_psr4.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_real.php +5 -5
- package/dist/cli/wp-files/sqlite-command/vendor/composer/autoload_static.php +78 -80
- package/dist/cli/wp-files/sqlite-command/vendor/composer/installed.json +104 -49
- package/dist/cli/wp-files/sqlite-command/vendor/composer/installed.php +29 -16
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/CHANGELOG.md +103 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Comparator/Comparator.php +62 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Comparator/DateComparator.php +50 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Comparator/NumberComparator.php +78 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Exception/AccessDeniedException.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Exception/DirectoryNotFoundException.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Finder.php +851 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Gitignore.php +91 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Glob.php +116 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/CustomFilterIterator.php +61 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +58 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +48 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +110 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +51 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +58 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +45 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/LazyIterator.php +32 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +107 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/PathFilterIterator.php +56 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +134 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +57 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/SortableIterator.php +115 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/Iterator/VcsIgnoredFilterIterator.php +173 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/LICENSE +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/README.md +14 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/SplFileInfo.php +80 -0
- package/dist/cli/wp-files/sqlite-command/vendor/symfony/finder/composer.json +31 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/mustache/.gitattributes +8 -0
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache → wp-cli}/mustache/LICENSE +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/mustache/README.md +76 -0
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache → wp-cli}/mustache/composer.json +6 -16
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/mustache/src/Mustache/Autoloader.php +88 -0
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache/AbstractCache.php +7 -15
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache/FilesystemCache.php +15 -20
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache/NoopCache.php +4 -8
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Cache.php +7 -10
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Compiler.php +87 -144
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Context.php +19 -23
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Engine.php +134 -251
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/InvalidArgumentException.php +2 -6
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/LogicException.php +2 -6
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/RuntimeException.php +2 -6
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/SyntaxException.php +8 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/UnknownFilterException.php +7 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/UnknownHelperException.php +7 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception/UnknownTemplateException.php +7 -7
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Exception.php +5 -4
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/HelperCollection.php +17 -22
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/LambdaHelper.php +8 -28
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/ArrayLoader.php +9 -12
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/CascadingLoader.php +15 -18
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/FilesystemLoader.php +18 -24
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/InlineLoader.php +13 -19
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/MutableLoader.php +7 -4
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/ProductionFilesystemLoader.php +16 -23
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader/StringLoader.php +4 -8
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Loader.php +7 -8
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Logger/AbstractLogger.php +26 -22
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Logger/StreamLogger.php +20 -25
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Logger.php +37 -13
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Parser.php +93 -100
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Source/FilesystemSource.php +7 -11
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Source.php +5 -4
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Template.php +32 -39
- package/dist/cli/wp-files/sqlite-command/vendor/{mustache/mustache/src → wp-cli/mustache/src/Mustache}/Tokenizer.php +29 -33
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.actrc +3 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.gitattributes +6 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.mailmap +234 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/README.md +4 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/VERSION +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/CHANGELOG.md +0 -65
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/README.md +1 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/certificates/cacert.pem +372 -315
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/certificates/cacert.pem.sha256 +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/composer.json +5 -7
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Iri.php +18 -20
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Requests.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Response/Headers.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Transport/Curl.php +1 -5
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Transport/Fsockopen.php +0 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Utility/CaseInsensitiveDictionary.php +0 -12
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/src/Utility/FilteredIterator.php +2 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/composer.json +13 -30
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/dependencies.yml +6 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/manifest.json +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Autoloader.php +2 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/AutoloaderStep.php +1 -10
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/CheckRoot.php +2 -20
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/DefineProtectedCommands.php +3 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/IncludeFrameworkAutoloader.php +4 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/IncludeRequestsAutoloader.php +3 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/InitializeContexts.php +0 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/InitializeLogger.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php +3 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/{RegisterShutdownHandler.php → LoadDispatcher.php} +4 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LoadRequiredCommand.php +5 -9
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LoadUtilityFunctions.php +0 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Completions.php +6 -149
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Configurator.php +49 -202
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Admin.php +21 -113
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Auto.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Cli.php +1 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Context/Frontend.php +1 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CommandFactory.php +26 -63
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/CompositeCommand.php +9 -19
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Dispatcher/Subcommand.php +19 -284
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/DocParser.php +5 -17
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Exception/NonExistentKeyException.php +3 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Extractor.php +54 -30
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Base.php +3 -7
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Comment.php +2 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Post.php +3 -8
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Signup.php +1 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/Site.php +4 -12
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Fetchers/User.php +1 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/FileCache.php +33 -135
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Formatter.php +57 -221
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Inflector.php +4 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/CSV.php +1 -6
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/Query.php +1 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/Table.php +1 -7
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Iterators/Transform.php +0 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Loggers/Base.php +0 -15
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Loggers/Quiet.php +3 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Loggers/Regular.php +3 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/NoOp.php +0 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Process.php +7 -40
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/RequestsLibrary.php +1 -4
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php +234 -795
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/SynopsisParser.php +26 -116
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/SynopsisValidator.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Traverser/RecursiveDataStructureTraverser.php +26 -69
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/UpgraderSkin.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/WpHttpCacheManager.php +5 -67
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/WpOrgApi.php +3 -3
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/boot-fs.php +2 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/bootstrap.php +2 -5
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/class-wp-cli.php +62 -311
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/CLI_Alias_Command.php +60 -292
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/CLI_Cache_Command.php +1 -1
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/CLI_Command.php +31 -191
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/commands/src/Help_Command.php +35 -177
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/config-spec.php +4 -28
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/utils-wp.php +47 -81
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/utils.php +200 -512
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/wp-cli.php +2 -2
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/wp-settings-cli.php +465 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/templates/man-params.mustache +4 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/templates/man.mustache +0 -8
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ArgValidationTest.php +74 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/CommandFactoryTest.php +420 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ConfiguratorTest.php +87 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/DocParserTest.php +213 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ExtractorTest.php +293 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/FileCacheTest.php +207 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/HelpTest.php +119 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/InflectorTest.php +37 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/LoggingTest.php +124 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/ProcessTest.php +30 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/SynopsisParserTest.php +194 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/UtilsTest.php +1092 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WPCLITest.php +16 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WP_CLI/Iterators/CSVTest.php +109 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WP_CLI/Traversers/RecursiveDataStructureTraverserTest.php +151 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WP_CLI/WpOrgApiTest.php +166 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/WpVersionCompareTest.php +78 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/bootstrap.php +17 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-class-win.php +70 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-class.php +70 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-function-win.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/commandfactory-doc_comment-function.php +19 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/bar.ab2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/baz.ab1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/baz.ac1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/baz.efg2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.ab1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.ab2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.efg1 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/data/expand_globs/foo.efg2 +0 -0
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/tests/mock-requests-transport.php +34 -0
- package/dist/cli/wp-files/sqlite-command/version +1 -1
- package/package.json +4 -3
- package/patches/archiver+7.0.1.patch +14 -0
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/.php-cs-fixer.php +0 -20
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/README.md +0 -94
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/RenderedString.php +0 -51
- package/dist/cli/wp-files/sqlite-command/vendor/mustache/mustache/src/compat.php +0 -282
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/.typos.toml +0 -14
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/AGENTS.md +0 -121
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/scripts/proxy/proxy.py +0 -5
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/scripts/proxy/start.sh +0 -19
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/bundle/rmccue/requests/scripts/proxy/stop.sh +0 -10
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/Path.php +0 -260
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/php/WP_CLI/ShutdownHandler.php +0 -329
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/schemas/wp-cli-config.json +0 -218
- package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/schemas/wp-cli.example.yml +0 -55
- /package/dist/cli/wp-files/sqlite-command/vendor/wp-cli/wp-cli/{codecov.yml → tests/data/expand_globs/bar.ab1} +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
use WP_CLI\Tests\TestCase;
|
|
4
|
+
|
|
5
|
+
class HelpTest extends TestCase {
|
|
6
|
+
|
|
7
|
+
public static function set_up_before_class() {
|
|
8
|
+
require_once dirname( __DIR__ ) . '/php/class-wp-cli.php';
|
|
9
|
+
require_once dirname( __DIR__ ) . '/php/class-wp-cli-command.php';
|
|
10
|
+
require_once dirname( __DIR__ ) . '/php/commands/help.php';
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
public function test_parse_reference_links() {
|
|
14
|
+
$test_class = new ReflectionClass( 'Help_Command' );
|
|
15
|
+
$method = $test_class->getMethod( 'parse_reference_links' );
|
|
16
|
+
$method->setAccessible( true );
|
|
17
|
+
|
|
18
|
+
$desc = 'This is a [reference link](https://wordpress.org/). It should be displayed very nice!';
|
|
19
|
+
$result = $method->invokeArgs( null, [ $desc ] );
|
|
20
|
+
|
|
21
|
+
$expected = <<<EOL
|
|
22
|
+
This is a [reference link][1]. It should be displayed very nice!
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
[1] https://wordpress.org/
|
|
26
|
+
EOL;
|
|
27
|
+
$this->assertSame( $expected, $result );
|
|
28
|
+
|
|
29
|
+
$desc = 'This is a [reference link](https://wordpress.org/) and [second link](http://wp-cli.org/). It should be displayed very nice!';
|
|
30
|
+
$result = $method->invokeArgs( null, [ $desc ] );
|
|
31
|
+
|
|
32
|
+
$expected = <<<EOL
|
|
33
|
+
This is a [reference link][1] and [second link][2]. It should be displayed very nice!
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
[1] https://wordpress.org/
|
|
37
|
+
[2] http://wp-cli.org/
|
|
38
|
+
EOL;
|
|
39
|
+
$this->assertSame( $expected, $result );
|
|
40
|
+
|
|
41
|
+
$desc = <<<EOL
|
|
42
|
+
This is a [reference link](https://wordpress.org/) and [second link](http://wp-cli.org/).
|
|
43
|
+
It should be displayed very nice!
|
|
44
|
+
EOL;
|
|
45
|
+
$result = $method->invokeArgs( null, [ $desc ] );
|
|
46
|
+
|
|
47
|
+
$expected = <<<EOL
|
|
48
|
+
This is a [reference link][1] and [second link][2].
|
|
49
|
+
It should be displayed very nice!
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
[1] https://wordpress.org/
|
|
53
|
+
[2] http://wp-cli.org/
|
|
54
|
+
EOL;
|
|
55
|
+
|
|
56
|
+
$this->assertSame( $expected, $result );
|
|
57
|
+
|
|
58
|
+
$desc = <<<EOL
|
|
59
|
+
This is a [reference link](https://wordpress.org/) and [second link](http://wp-cli.org/).
|
|
60
|
+
It should be displayed very nice!
|
|
61
|
+
|
|
62
|
+
## Example
|
|
63
|
+
|
|
64
|
+
It doesn't expect to be link here like [reference link](https://wordpress.org/).
|
|
65
|
+
EOL;
|
|
66
|
+
$result = $method->invokeArgs( null, [ $desc ] );
|
|
67
|
+
|
|
68
|
+
$expected = <<<EOL
|
|
69
|
+
This is a [reference link][1] and [second link][2].
|
|
70
|
+
It should be displayed very nice!
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
[1] https://wordpress.org/
|
|
74
|
+
[2] http://wp-cli.org/
|
|
75
|
+
|
|
76
|
+
## Example
|
|
77
|
+
|
|
78
|
+
It doesn't expect to be link here like [reference link](https://wordpress.org/).
|
|
79
|
+
EOL;
|
|
80
|
+
|
|
81
|
+
$this->assertSame( $expected, $result );
|
|
82
|
+
|
|
83
|
+
$desc = <<<EOL
|
|
84
|
+
## Example
|
|
85
|
+
|
|
86
|
+
It doesn't expect to be link here like [reference link](https://wordpress.org/).
|
|
87
|
+
EOL;
|
|
88
|
+
$result = $method->invokeArgs( null, [ $desc ] );
|
|
89
|
+
|
|
90
|
+
$expected = <<<EOL
|
|
91
|
+
## Example
|
|
92
|
+
|
|
93
|
+
It doesn't expect to be link here like [reference link](https://wordpress.org/).
|
|
94
|
+
EOL;
|
|
95
|
+
|
|
96
|
+
$this->assertSame( $expected, $result );
|
|
97
|
+
|
|
98
|
+
$desc = <<<EOL
|
|
99
|
+
This is a long description.
|
|
100
|
+
It doesn't have any link.
|
|
101
|
+
|
|
102
|
+
## Example
|
|
103
|
+
|
|
104
|
+
It doesn't expect to be link here like [reference link](https://wordpress.org/).
|
|
105
|
+
EOL;
|
|
106
|
+
$result = $method->invokeArgs( null, [ $desc ] );
|
|
107
|
+
|
|
108
|
+
$expected = <<<EOL
|
|
109
|
+
This is a long description.
|
|
110
|
+
It doesn't have any link.
|
|
111
|
+
|
|
112
|
+
## Example
|
|
113
|
+
|
|
114
|
+
It doesn't expect to be link here like [reference link](https://wordpress.org/).
|
|
115
|
+
EOL;
|
|
116
|
+
|
|
117
|
+
$this->assertSame( $expected, $result );
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
use WP_CLI\Inflector;
|
|
4
|
+
use WP_CLI\Tests\TestCase;
|
|
5
|
+
|
|
6
|
+
class InflectorTest extends TestCase {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @dataProvider dataProviderPluralize
|
|
10
|
+
*/
|
|
11
|
+
public function testPluralize( $singular, $expected ) {
|
|
12
|
+
$this->assertEquals( $expected, Inflector::pluralize( $singular ) );
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
public static function dataProviderPluralize() {
|
|
16
|
+
return [
|
|
17
|
+
[ 'string', 'strings' ], // Regular.
|
|
18
|
+
[ 'person', 'people' ], // Irregular.
|
|
19
|
+
[ 'scissors', 'scissors' ], // Uncountable.
|
|
20
|
+
];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @dataProvider dataProviderSingularize
|
|
25
|
+
*/
|
|
26
|
+
public function testSingularize( $singular, $expected ) {
|
|
27
|
+
$this->assertEquals( $expected, Inflector::singularize( $singular ) );
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public static function dataProviderSingularize() {
|
|
31
|
+
return [
|
|
32
|
+
[ 'strings', 'string' ], // Regular.
|
|
33
|
+
[ 'people', 'person' ], // Irregular.
|
|
34
|
+
[ 'scissors', 'scissors' ], // Uncountable.
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
// phpcs:disable Generic.Files.OneObjectStructurePerFile.MultipleFound -- Ignoring test doubles.
|
|
3
|
+
// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound -- Ignoring test doubles.
|
|
4
|
+
|
|
5
|
+
use WP_CLI\Tests\TestCase;
|
|
6
|
+
|
|
7
|
+
class MockRegularLogger extends WP_CLI\Loggers\Regular {
|
|
8
|
+
|
|
9
|
+
protected function get_runner() {
|
|
10
|
+
return (object) [
|
|
11
|
+
'config' => [
|
|
12
|
+
'debug' => true,
|
|
13
|
+
],
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
protected function write( $handle, $str ) {
|
|
18
|
+
echo $str;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
class MockQuietLogger extends WP_CLI\Loggers\Quiet {
|
|
23
|
+
|
|
24
|
+
protected function get_runner() {
|
|
25
|
+
return (object) [
|
|
26
|
+
'config' => [
|
|
27
|
+
'debug' => true,
|
|
28
|
+
],
|
|
29
|
+
];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
class LoggingTest extends TestCase {
|
|
34
|
+
|
|
35
|
+
public function testLogDebug() {
|
|
36
|
+
$message = 'This is a test message.';
|
|
37
|
+
|
|
38
|
+
$regular_logger = new MockRegularLogger( false );
|
|
39
|
+
$this->expectOutputRegex( "/Debug: {$message} \(\d+\.*\d*s\)/" );
|
|
40
|
+
$regular_logger->debug( $message );
|
|
41
|
+
|
|
42
|
+
$quiet_logger = new MockQuietLogger();
|
|
43
|
+
$this->expectOutputRegex( "/Debug: {$message} \(\d+\.*\d*s\)/" );
|
|
44
|
+
$quiet_logger->debug( $message );
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public function testLogEscaping() {
|
|
48
|
+
$logger = new MockRegularLogger( false );
|
|
49
|
+
|
|
50
|
+
$message = 'foo%20bar';
|
|
51
|
+
|
|
52
|
+
$this->expectOutputString( "Success: $message\n" );
|
|
53
|
+
$logger->success( $message );
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public function testExecutionLogger() {
|
|
57
|
+
// Save Runner config.
|
|
58
|
+
$runner = WP_CLI::get_runner();
|
|
59
|
+
$runner_config = new \ReflectionProperty( $runner, 'config' );
|
|
60
|
+
$runner_config->setAccessible( true );
|
|
61
|
+
|
|
62
|
+
$prev_config = $runner_config->getValue( $runner );
|
|
63
|
+
|
|
64
|
+
// Set debug.
|
|
65
|
+
$runner_config->setValue( $runner, [ 'debug' => true ] );
|
|
66
|
+
|
|
67
|
+
$logger = new WP_CLI\Loggers\Execution();
|
|
68
|
+
|
|
69
|
+
// Standard use.
|
|
70
|
+
|
|
71
|
+
$logger->info( 'info' );
|
|
72
|
+
$logger->info( 'info2' );
|
|
73
|
+
$logger->success( 'success' );
|
|
74
|
+
$logger->warning( 'warning' );
|
|
75
|
+
$logger->error( 'error' );
|
|
76
|
+
$logger->success( 'success2' );
|
|
77
|
+
$logger->warning( 'warning2' );
|
|
78
|
+
$logger->debug( 'debug', 'group' );
|
|
79
|
+
$logger->error_multi_line( [ 'line11', 'line12', 'line13' ] );
|
|
80
|
+
$logger->error( 'error2' );
|
|
81
|
+
$logger->error_multi_line( [ 'line21' ] );
|
|
82
|
+
$logger->debug( 'debug2', 'group2' );
|
|
83
|
+
|
|
84
|
+
$this->assertSame( "info\ninfo2\nSuccess: success\nSuccess: success2\n", $logger->stdout );
|
|
85
|
+
|
|
86
|
+
$match_count = preg_match(
|
|
87
|
+
'/^'
|
|
88
|
+
. 'Warning: warning\nError: error\n'
|
|
89
|
+
. 'Warning: warning2\nDebug \(group\): debug \([0-9.]+s\)\n'
|
|
90
|
+
. 'Error:\nline11\nline12\nline13\n---------\n\nError: error2\n'
|
|
91
|
+
. 'Error:\nline21\n---------\n\nDebug \(group2\): debug2 \([0-9.]+s\)$/',
|
|
92
|
+
$logger->stderr
|
|
93
|
+
);
|
|
94
|
+
$this->assertSame( 1, $match_count );
|
|
95
|
+
|
|
96
|
+
$logger->stdout = '';
|
|
97
|
+
$logger->stderr = '';
|
|
98
|
+
|
|
99
|
+
// With output buffering.
|
|
100
|
+
|
|
101
|
+
$logger->ob_start();
|
|
102
|
+
|
|
103
|
+
echo 'echo';
|
|
104
|
+
$logger->info( 'info' );
|
|
105
|
+
print "print\n";
|
|
106
|
+
$logger->success( 'success' );
|
|
107
|
+
echo "echo2\n";
|
|
108
|
+
$logger->error( 'error' );
|
|
109
|
+
echo "echo3\n";
|
|
110
|
+
$logger->success( 'success2' );
|
|
111
|
+
echo 'echo4';
|
|
112
|
+
|
|
113
|
+
$logger->ob_end();
|
|
114
|
+
|
|
115
|
+
$this->assertSame( "echoinfo\nprint\nSuccess: success\necho2\necho3\nSuccess: success2\necho4", $logger->stdout );
|
|
116
|
+
$this->assertSame( "Error: error\n", $logger->stderr );
|
|
117
|
+
|
|
118
|
+
$logger->stdout = '';
|
|
119
|
+
$logger->stderr = '';
|
|
120
|
+
|
|
121
|
+
// Restore.
|
|
122
|
+
$runner_config->setValue( $runner, $prev_config );
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
use WP_CLI\Process;
|
|
4
|
+
use WP_CLI\Tests\TestCase;
|
|
5
|
+
use WP_CLI\Utils;
|
|
6
|
+
|
|
7
|
+
class ProcessTest extends TestCase {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @dataProvider data_process_env
|
|
11
|
+
*/
|
|
12
|
+
public function test_process_env( $cmd_prefix, $env, $expected_env_vars, $expected_out ) {
|
|
13
|
+
$code = vsprintf( str_repeat( 'echo getenv( \'%s\' );', count( $expected_env_vars ) ), $expected_env_vars );
|
|
14
|
+
|
|
15
|
+
$cmd = $cmd_prefix . ' ' . escapeshellarg( Utils\get_php_binary() ) . ' -r ' . escapeshellarg( $code );
|
|
16
|
+
$process_run = Process::create( $cmd, null /*cwd*/, $env )->run();
|
|
17
|
+
|
|
18
|
+
$this->assertSame( $process_run->stdout, $expected_out );
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public static function data_process_env() {
|
|
22
|
+
return [
|
|
23
|
+
[ '', [], [], '' ],
|
|
24
|
+
[ 'ENV=blah', [], [ 'ENV' ], 'blah' ],
|
|
25
|
+
[ 'ENV="blah blah"', [], [ 'ENV' ], 'blah blah' ],
|
|
26
|
+
[ 'ENV_1="blah1 blah1" ENV_2="blah2" ENV_3=blah3', [ 'ENV' => 'in' ], [ 'ENV', 'ENV_1', 'ENV_2', 'ENV_3' ], 'inblah1 blah1blah2blah3' ],
|
|
27
|
+
[ 'ENV=blah', [ 'ENV_1' => 'in1', 'ENV_2' => 'in2' ], [ 'ENV_1', 'ENV_2', 'ENV' ], 'in1in2blah' ],
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
use WP_CLI\SynopsisParser;
|
|
4
|
+
use WP_CLI\Tests\TestCase;
|
|
5
|
+
|
|
6
|
+
class SynopsisParserTest extends TestCase {
|
|
7
|
+
|
|
8
|
+
public function testEmpty() {
|
|
9
|
+
$r = SynopsisParser::parse( ' ' );
|
|
10
|
+
|
|
11
|
+
$this->assertEmpty( $r );
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
public function testPositional() {
|
|
15
|
+
$r = SynopsisParser::parse( '<plugin|zip> [<bar>]' );
|
|
16
|
+
|
|
17
|
+
$this->assertCount( 2, $r );
|
|
18
|
+
|
|
19
|
+
$param = $r[0];
|
|
20
|
+
$this->assertEquals( 'positional', $param['type'] );
|
|
21
|
+
$this->assertFalse( $param['optional'] );
|
|
22
|
+
|
|
23
|
+
$param = $r[1];
|
|
24
|
+
$this->assertEquals( 'positional', $param['type'] );
|
|
25
|
+
$this->assertTrue( $param['optional'] );
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public function testFlag() {
|
|
29
|
+
$r = SynopsisParser::parse( '[--foo]' );
|
|
30
|
+
|
|
31
|
+
$this->assertCount( 1, $r );
|
|
32
|
+
|
|
33
|
+
$param = $r[0];
|
|
34
|
+
$this->assertEquals( 'flag', $param['type'] );
|
|
35
|
+
$this->assertTrue( $param['optional'] );
|
|
36
|
+
|
|
37
|
+
// Flags can't be mandatory.
|
|
38
|
+
$r = SynopsisParser::parse( '--foo' );
|
|
39
|
+
|
|
40
|
+
$this->assertCount( 1, $r );
|
|
41
|
+
|
|
42
|
+
$param = $r[0];
|
|
43
|
+
$this->assertEquals( 'unknown', $param['type'] );
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public function testGeneric() {
|
|
47
|
+
$r = SynopsisParser::parse( '--<field>=<value> [--<field>=<value>] --<field>[=<value>] [--<field>[=<value>]]' );
|
|
48
|
+
|
|
49
|
+
$this->assertCount( 4, $r );
|
|
50
|
+
|
|
51
|
+
$param = $r[0];
|
|
52
|
+
$this->assertEquals( 'generic', $param['type'] );
|
|
53
|
+
$this->assertFalse( $param['optional'] );
|
|
54
|
+
|
|
55
|
+
$param = $r[1];
|
|
56
|
+
$this->assertEquals( 'generic', $param['type'] );
|
|
57
|
+
$this->assertTrue( $param['optional'] );
|
|
58
|
+
|
|
59
|
+
$param = $r[2];
|
|
60
|
+
$this->assertEquals( 'unknown', $param['type'] );
|
|
61
|
+
|
|
62
|
+
$param = $r[3];
|
|
63
|
+
$this->assertEquals( 'unknown', $param['type'] );
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
public function testAssoc() {
|
|
67
|
+
$r = SynopsisParser::parse( '--foo=<value> [--bar=<value>] [--bar[=<value>]]' );
|
|
68
|
+
|
|
69
|
+
$this->assertCount( 3, $r );
|
|
70
|
+
|
|
71
|
+
$param = $r[0];
|
|
72
|
+
$this->assertEquals( 'assoc', $param['type'] );
|
|
73
|
+
$this->assertFalse( $param['optional'] );
|
|
74
|
+
|
|
75
|
+
$param = $r[1];
|
|
76
|
+
$this->assertEquals( 'assoc', $param['type'] );
|
|
77
|
+
$this->assertTrue( $param['optional'] );
|
|
78
|
+
|
|
79
|
+
$param = $r[2];
|
|
80
|
+
$this->assertEquals( 'assoc', $param['type'] );
|
|
81
|
+
$this->assertTrue( $param['optional'] );
|
|
82
|
+
$this->assertTrue( $param['value']['optional'] );
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public function testInvalidAssoc() {
|
|
86
|
+
$r = SynopsisParser::parse( '--bar[=<value>] --bar=[<value>] --count=100' );
|
|
87
|
+
|
|
88
|
+
$this->assertCount( 3, $r );
|
|
89
|
+
|
|
90
|
+
$this->assertEquals( 'unknown', $r[0]['type'] );
|
|
91
|
+
$this->assertEquals( 'unknown', $r[1]['type'] );
|
|
92
|
+
$this->assertEquals( 'unknown', $r[2]['type'] );
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
public function testRepeating() {
|
|
96
|
+
$r = SynopsisParser::parse( '<positional>... [--<field>=<value>...]' );
|
|
97
|
+
|
|
98
|
+
$this->assertCount( 2, $r );
|
|
99
|
+
|
|
100
|
+
$param = $r[0];
|
|
101
|
+
$this->assertEquals( 'positional', $param['type'] );
|
|
102
|
+
$this->assertTrue( $param['repeating'] );
|
|
103
|
+
|
|
104
|
+
$param = $r[1];
|
|
105
|
+
$this->assertEquals( 'generic', $param['type'] );
|
|
106
|
+
$this->assertTrue( $param['repeating'] );
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
public function testCombined() {
|
|
110
|
+
$r = SynopsisParser::parse( '<positional> --assoc=<someval> --<field>=<value> [--flag]' );
|
|
111
|
+
|
|
112
|
+
$this->assertCount( 4, $r );
|
|
113
|
+
|
|
114
|
+
$this->assertEquals( 'positional', $r[0]['type'] );
|
|
115
|
+
$this->assertEquals( 'assoc', $r[1]['type'] );
|
|
116
|
+
$this->assertEquals( 'generic', $r[2]['type'] );
|
|
117
|
+
$this->assertEquals( 'flag', $r[3]['type'] );
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
public function testAllowedValueCharacters() {
|
|
121
|
+
$r = SynopsisParser::parse( '--capitals=<VALUE> --hyphen=<val-ue> --combined=<VAL-ue> --disallowed=<wrong:char>' );
|
|
122
|
+
|
|
123
|
+
$this->assertCount( 4, $r );
|
|
124
|
+
|
|
125
|
+
$param = $r[0];
|
|
126
|
+
$this->assertEquals( 'assoc', $param['type'] );
|
|
127
|
+
$this->assertFalse( $param['optional'] );
|
|
128
|
+
|
|
129
|
+
$param = $r[1];
|
|
130
|
+
$this->assertEquals( 'assoc', $param['type'] );
|
|
131
|
+
$this->assertFalse( $param['optional'] );
|
|
132
|
+
|
|
133
|
+
$param = $r[2];
|
|
134
|
+
$this->assertEquals( 'assoc', $param['type'] );
|
|
135
|
+
$this->assertFalse( $param['optional'] );
|
|
136
|
+
|
|
137
|
+
$this->assertEquals( 'unknown', $r[3]['type'] );
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
public function testRender() {
|
|
141
|
+
$a = [
|
|
142
|
+
[
|
|
143
|
+
'name' => 'message',
|
|
144
|
+
'type' => 'positional',
|
|
145
|
+
'description' => 'A short message to display to the user.',
|
|
146
|
+
],
|
|
147
|
+
[
|
|
148
|
+
'name' => 'secrets',
|
|
149
|
+
'type' => 'positional',
|
|
150
|
+
'description' => 'You may tell secrets, or you may not',
|
|
151
|
+
'optional' => true,
|
|
152
|
+
'repeating' => true,
|
|
153
|
+
],
|
|
154
|
+
[
|
|
155
|
+
'name' => 'meal',
|
|
156
|
+
'type' => 'assoc',
|
|
157
|
+
'description' => 'A meal during the day or night.',
|
|
158
|
+
],
|
|
159
|
+
[
|
|
160
|
+
'name' => 'snack',
|
|
161
|
+
'type' => 'assoc',
|
|
162
|
+
'description' => 'If you are hungry between meals, you should snack.',
|
|
163
|
+
'optional' => true,
|
|
164
|
+
],
|
|
165
|
+
[
|
|
166
|
+
'name' => 'skip',
|
|
167
|
+
'type' => 'assoc',
|
|
168
|
+
'description' => 'Skip all meals, or skip a single meal by name.',
|
|
169
|
+
'optional' => true,
|
|
170
|
+
'value' => [
|
|
171
|
+
'optional' => true,
|
|
172
|
+
],
|
|
173
|
+
],
|
|
174
|
+
];
|
|
175
|
+
$this->assertEquals( '<message> [<secrets>...] --meal=<meal> [--snack=<snack>] [--skip[=<skip>]]', SynopsisParser::render( $a ) );
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
public function testParseThenRender() {
|
|
179
|
+
$o = '<positional> --assoc=<assoc> [--double[=<optional>]] --<field>=<value> [--flag]';
|
|
180
|
+
$a = SynopsisParser::parse( $o );
|
|
181
|
+
$r = SynopsisParser::render( $a );
|
|
182
|
+
$this->assertEquals( $o, $r );
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
public function testParseThenRenderNumeric() {
|
|
186
|
+
$o = '<p1ositional> --a2ssoc=<assoc> --<field>=<value> [--f3lag]';
|
|
187
|
+
$a = SynopsisParser::parse( $o );
|
|
188
|
+
$this->assertEquals( 'p1ositional', $a[0]['name'] );
|
|
189
|
+
$this->assertEquals( 'a2ssoc', $a[1]['name'] );
|
|
190
|
+
$this->assertEquals( 'f3lag', $a[3]['name'] );
|
|
191
|
+
$r = SynopsisParser::render( $a );
|
|
192
|
+
$this->assertEquals( $o, $r );
|
|
193
|
+
}
|
|
194
|
+
}
|