dependabot-composer 0.111.25 → 0.111.26

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.
Files changed (901) hide show
  1. checksums.yaml +4 -4
  2. metadata +3 -902
  3. data/helpers/vendor/autoload.php +0 -7
  4. data/helpers/vendor/bin/composer +0 -1
  5. data/helpers/vendor/bin/jsonlint +0 -1
  6. data/helpers/vendor/bin/validate-json +0 -1
  7. data/helpers/vendor/composer/ClassLoader.php +0 -445
  8. data/helpers/vendor/composer/LICENSE +0 -21
  9. data/helpers/vendor/composer/autoload_classmap.php +0 -9
  10. data/helpers/vendor/composer/autoload_files.php +0 -11
  11. data/helpers/vendor/composer/autoload_namespaces.php +0 -9
  12. data/helpers/vendor/composer/autoload_psr4.php +0 -26
  13. data/helpers/vendor/composer/autoload_real.php +0 -70
  14. data/helpers/vendor/composer/autoload_static.php +0 -128
  15. data/helpers/vendor/composer/ca-bundle/LICENSE +0 -19
  16. data/helpers/vendor/composer/ca-bundle/README.md +0 -85
  17. data/helpers/vendor/composer/ca-bundle/composer.json +0 -54
  18. data/helpers/vendor/composer/ca-bundle/res/cacert.pem +0 -3401
  19. data/helpers/vendor/composer/ca-bundle/src/CaBundle.php +0 -308
  20. data/helpers/vendor/composer/composer/.gitattributes +0 -12
  21. data/helpers/vendor/composer/composer/.github/CONTRIBUTING.md +0 -59
  22. data/helpers/vendor/composer/composer/.github/ISSUE_TEMPLATE.md +0 -25
  23. data/helpers/vendor/composer/composer/.gitignore +0 -11
  24. data/helpers/vendor/composer/composer/.php_cs +0 -58
  25. data/helpers/vendor/composer/composer/.travis.yml +0 -76
  26. data/helpers/vendor/composer/composer/CHANGELOG.md +0 -808
  27. data/helpers/vendor/composer/composer/LICENSE +0 -19
  28. data/helpers/vendor/composer/composer/PORTING_INFO +0 -39
  29. data/helpers/vendor/composer/composer/README.md +0 -62
  30. data/helpers/vendor/composer/composer/appveyor.yml +0 -33
  31. data/helpers/vendor/composer/composer/bin/compile +0 -31
  32. data/helpers/vendor/composer/composer/bin/composer +0 -62
  33. data/helpers/vendor/composer/composer/composer.json +0 -81
  34. data/helpers/vendor/composer/composer/composer.lock +0 -1800
  35. data/helpers/vendor/composer/composer/doc/00-intro.md +0 -156
  36. data/helpers/vendor/composer/composer/doc/01-basic-usage.md +0 -266
  37. data/helpers/vendor/composer/composer/doc/02-libraries.md +0 -153
  38. data/helpers/vendor/composer/composer/doc/03-cli.md +0 -931
  39. data/helpers/vendor/composer/composer/doc/04-schema.md +0 -924
  40. data/helpers/vendor/composer/composer/doc/05-repositories.md +0 -713
  41. data/helpers/vendor/composer/composer/doc/06-config.md +0 -277
  42. data/helpers/vendor/composer/composer/doc/07-community.md +0 -35
  43. data/helpers/vendor/composer/composer/doc/articles/aliases.md +0 -105
  44. data/helpers/vendor/composer/composer/doc/articles/autoloader-optimization.md +0 -111
  45. data/helpers/vendor/composer/composer/doc/articles/custom-installers.md +0 -204
  46. data/helpers/vendor/composer/composer/doc/articles/handling-private-packages-with-satis.md +0 -343
  47. data/helpers/vendor/composer/composer/doc/articles/http-basic-authentication.md +0 -59
  48. data/helpers/vendor/composer/composer/doc/articles/plugins.md +0 -285
  49. data/helpers/vendor/composer/composer/doc/articles/scripts.md +0 -304
  50. data/helpers/vendor/composer/composer/doc/articles/troubleshooting.md +0 -309
  51. data/helpers/vendor/composer/composer/doc/articles/vendor-binaries.md +0 -110
  52. data/helpers/vendor/composer/composer/doc/articles/versions.md +0 -230
  53. data/helpers/vendor/composer/composer/doc/dev/DefaultPolicy.md +0 -55
  54. data/helpers/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md +0 -50
  55. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md +0 -42
  56. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md +0 -19
  57. data/helpers/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md +0 -32
  58. data/helpers/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md +0 -4
  59. data/helpers/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md +0 -21
  60. data/helpers/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md +0 -21
  61. data/helpers/vendor/composer/composer/doc/faqs/why-can't-composer-load-repositories-recursively.md +0 -35
  62. data/helpers/vendor/composer/composer/doc/fixtures/fixtures.md +0 -22
  63. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json +0 -158
  64. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json +0 -50
  65. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json +0 -77
  66. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json +0 -50
  67. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json +0 -16
  68. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json +0 -22
  69. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json +0 -9
  70. data/helpers/vendor/composer/composer/phpunit.xml.dist +0 -35
  71. data/helpers/vendor/composer/composer/res/composer-repository-schema.json +0 -110
  72. data/helpers/vendor/composer/composer/res/composer-schema.json +0 -843
  73. data/helpers/vendor/composer/composer/src/Composer/Autoload/AutoloadGenerator.php +0 -1061
  74. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassLoader.php +0 -445
  75. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassMapGenerator.php +0 -222
  76. data/helpers/vendor/composer/composer/src/Composer/Cache.php +0 -251
  77. data/helpers/vendor/composer/composer/src/Composer/Command/AboutCommand.php +0 -46
  78. data/helpers/vendor/composer/composer/src/Composer/Command/ArchiveCommand.php +0 -166
  79. data/helpers/vendor/composer/composer/src/Composer/Command/BaseCommand.php +0 -181
  80. data/helpers/vendor/composer/composer/src/Composer/Command/BaseDependencyCommand.php +0 -255
  81. data/helpers/vendor/composer/composer/src/Composer/Command/CheckPlatformReqsCommand.php +0 -156
  82. data/helpers/vendor/composer/composer/src/Composer/Command/ClearCacheCommand.php +0 -74
  83. data/helpers/vendor/composer/composer/src/Composer/Command/ConfigCommand.php +0 -707
  84. data/helpers/vendor/composer/composer/src/Composer/Command/CreateProjectCommand.php +0 -385
  85. data/helpers/vendor/composer/composer/src/Composer/Command/DependsCommand.php +0 -57
  86. data/helpers/vendor/composer/composer/src/Composer/Command/DiagnoseCommand.php +0 -729
  87. data/helpers/vendor/composer/composer/src/Composer/Command/DumpAutoloadCommand.php +0 -88
  88. data/helpers/vendor/composer/composer/src/Composer/Command/ExecCommand.php +0 -97
  89. data/helpers/vendor/composer/composer/src/Composer/Command/GlobalCommand.php +0 -111
  90. data/helpers/vendor/composer/composer/src/Composer/Command/HomeCommand.php +0 -168
  91. data/helpers/vendor/composer/composer/src/Composer/Command/InitCommand.php +0 -808
  92. data/helpers/vendor/composer/composer/src/Composer/Command/InstallCommand.php +0 -124
  93. data/helpers/vendor/composer/composer/src/Composer/Command/LicensesCommand.php +0 -159
  94. data/helpers/vendor/composer/composer/src/Composer/Command/OutdatedCommand.php +0 -95
  95. data/helpers/vendor/composer/composer/src/Composer/Command/ProhibitsCommand.php +0 -57
  96. data/helpers/vendor/composer/composer/src/Composer/Command/RemoveCommand.php +0 -163
  97. data/helpers/vendor/composer/composer/src/Composer/Command/RequireCommand.php +0 -258
  98. data/helpers/vendor/composer/composer/src/Composer/Command/RunScriptCommand.php +0 -141
  99. data/helpers/vendor/composer/composer/src/Composer/Command/ScriptAliasCommand.php +0 -66
  100. data/helpers/vendor/composer/composer/src/Composer/Command/SearchCommand.php +0 -83
  101. data/helpers/vendor/composer/composer/src/Composer/Command/SelfUpdateCommand.php +0 -405
  102. data/helpers/vendor/composer/composer/src/Composer/Command/ShowCommand.php +0 -1015
  103. data/helpers/vendor/composer/composer/src/Composer/Command/StatusCommand.php +0 -214
  104. data/helpers/vendor/composer/composer/src/Composer/Command/SuggestsCommand.php +0 -152
  105. data/helpers/vendor/composer/composer/src/Composer/Command/UpdateCommand.php +0 -228
  106. data/helpers/vendor/composer/composer/src/Composer/Command/ValidateCommand.php +0 -172
  107. data/helpers/vendor/composer/composer/src/Composer/Compiler.php +0 -284
  108. data/helpers/vendor/composer/composer/src/Composer/Composer.php +0 -283
  109. data/helpers/vendor/composer/composer/src/Composer/Config.php +0 -461
  110. data/helpers/vendor/composer/composer/src/Composer/Config/ConfigSourceInterface.php +0 -91
  111. data/helpers/vendor/composer/composer/src/Composer/Config/JsonConfigSource.php +0 -267
  112. data/helpers/vendor/composer/composer/src/Composer/Console/Application.php +0 -481
  113. data/helpers/vendor/composer/composer/src/Composer/Console/HtmlOutputFormatter.php +0 -90
  114. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Decisions.php +0 -211
  115. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/DefaultPolicy.php +0 -285
  116. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php +0 -91
  117. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/InstallOperation.php +0 -66
  118. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php +0 -67
  119. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php +0 -67
  120. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/OperationInterface.php +0 -42
  121. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/SolverOperation.php +0 -50
  122. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UninstallOperation.php +0 -66
  123. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UpdateOperation.php +0 -80
  124. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/PolicyInterface.php +0 -27
  125. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php +0 -378
  126. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Problem.php +0 -253
  127. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Request.php +0 -78
  128. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule.php +0 -268
  129. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule2Literals.php +0 -113
  130. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php +0 -176
  131. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php +0 -372
  132. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetIterator.php +0 -94
  133. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchChain.php +0 -52
  134. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchGraph.php +0 -144
  135. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchNode.php +0 -113
  136. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php +0 -874
  137. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverBugException.php +0 -27
  138. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverProblemsException.php +0 -88
  139. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Transaction.php +0 -244
  140. data/helpers/vendor/composer/composer/src/Composer/Downloader/ArchiveDownloader.php +0 -135
  141. data/helpers/vendor/composer/composer/src/Composer/Downloader/ChangeReportInterface.php +0 -32
  142. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloadManager.php +0 -325
  143. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloaderInterface.php +0 -64
  144. data/helpers/vendor/composer/composer/src/Composer/Downloader/DvcsDownloaderInterface.php +0 -32
  145. data/helpers/vendor/composer/composer/src/Composer/Downloader/FileDownloader.php +0 -322
  146. data/helpers/vendor/composer/composer/src/Composer/Downloader/FilesystemException.php +0 -26
  147. data/helpers/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php +0 -116
  148. data/helpers/vendor/composer/composer/src/Composer/Downloader/GitDownloader.php +0 -516
  149. data/helpers/vendor/composer/composer/src/Composer/Downloader/GzipDownloader.php +0 -84
  150. data/helpers/vendor/composer/composer/src/Composer/Downloader/HgDownloader.php +0 -100
  151. data/helpers/vendor/composer/composer/src/Composer/Downloader/PathDownloader.php +0 -202
  152. data/helpers/vendor/composer/composer/src/Composer/Downloader/PearPackageExtractor.php +0 -266
  153. data/helpers/vendor/composer/composer/src/Composer/Downloader/PerforceDownloader.php +0 -114
  154. data/helpers/vendor/composer/composer/src/Composer/Downloader/PharDownloader.php +0 -36
  155. data/helpers/vendor/composer/composer/src/Composer/Downloader/RarDownloader.php +0 -91
  156. data/helpers/vendor/composer/composer/src/Composer/Downloader/SvnDownloader.php +0 -225
  157. data/helpers/vendor/composer/composer/src/Composer/Downloader/TarDownloader.php +0 -31
  158. data/helpers/vendor/composer/composer/src/Composer/Downloader/TransportException.php +0 -53
  159. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsCapableDownloaderInterface.php +0 -32
  160. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsDownloader.php +0 -293
  161. data/helpers/vendor/composer/composer/src/Composer/Downloader/XzDownloader.php +0 -60
  162. data/helpers/vendor/composer/composer/src/Composer/Downloader/ZipDownloader.php +0 -230
  163. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/Event.php +0 -103
  164. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php +0 -536
  165. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventSubscriberInterface.php +0 -48
  166. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/ScriptExecutionException.php +0 -20
  167. data/helpers/vendor/composer/composer/src/Composer/Exception/NoSslException.php +0 -20
  168. data/helpers/vendor/composer/composer/src/Composer/Factory.php +0 -653
  169. data/helpers/vendor/composer/composer/src/Composer/IO/BaseIO.php +0 -255
  170. data/helpers/vendor/composer/composer/src/Composer/IO/BufferIO.php +0 -59
  171. data/helpers/vendor/composer/composer/src/Composer/IO/ConsoleIO.php +0 -322
  172. data/helpers/vendor/composer/composer/src/Composer/IO/IOInterface.php +0 -207
  173. data/helpers/vendor/composer/composer/src/Composer/IO/NullIO.php +0 -129
  174. data/helpers/vendor/composer/composer/src/Composer/Installer.php +0 -1798
  175. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryInstaller.php +0 -214
  176. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryPresenceInterface.php +0 -30
  177. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallationManager.php +0 -326
  178. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvent.php +0 -161
  179. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvents.php +0 -43
  180. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerInterface.php +0 -79
  181. data/helpers/vendor/composer/composer/src/Composer/Installer/LibraryInstaller.php +0 -232
  182. data/helpers/vendor/composer/composer/src/Composer/Installer/MetapackageInstaller.php +0 -100
  183. data/helpers/vendor/composer/composer/src/Composer/Installer/NoopInstaller.php +0 -88
  184. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvent.php +0 -65
  185. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvents.php +0 -75
  186. data/helpers/vendor/composer/composer/src/Composer/Installer/PearBinaryInstaller.php +0 -144
  187. data/helpers/vendor/composer/composer/src/Composer/Installer/PearInstaller.php +0 -84
  188. data/helpers/vendor/composer/composer/src/Composer/Installer/PluginInstaller.php +0 -84
  189. data/helpers/vendor/composer/composer/src/Composer/Installer/ProjectInstaller.php +0 -99
  190. data/helpers/vendor/composer/composer/src/Composer/Installer/SuggestedPackagesReporter.php +0 -151
  191. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFile.php +0 -301
  192. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFormatter.php +0 -134
  193. data/helpers/vendor/composer/composer/src/Composer/Json/JsonManipulator.php +0 -521
  194. data/helpers/vendor/composer/composer/src/Composer/Json/JsonValidationException.php +0 -34
  195. data/helpers/vendor/composer/composer/src/Composer/Package/AliasPackage.php +0 -404
  196. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFilter.php +0 -44
  197. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFinder.php +0 -105
  198. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiveManager.php +0 -183
  199. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiverInterface.php +0 -43
  200. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/BaseExcludeFilter.php +0 -148
  201. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ComposerExcludeFilter.php +0 -31
  202. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/GitExcludeFilter.php +0 -79
  203. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/HgExcludeFilter.php +0 -107
  204. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/PharArchiver.php +0 -97
  205. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ZipArchiver.php +0 -74
  206. data/helpers/vendor/composer/composer/src/Composer/Package/BasePackage.php +0 -251
  207. data/helpers/vendor/composer/composer/src/Composer/Package/Comparer/Comparer.php +0 -129
  208. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackage.php +0 -199
  209. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackageInterface.php +0 -95
  210. data/helpers/vendor/composer/composer/src/Composer/Package/Dumper/ArrayDumper.php +0 -151
  211. data/helpers/vendor/composer/composer/src/Composer/Package/Link.php +0 -128
  212. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/EmptyConstraint.php +0 -24
  213. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php +0 -24
  214. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/MultiConstraint.php +0 -24
  215. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/SpecificConstraint.php +0 -24
  216. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/VersionConstraint.php +0 -24
  217. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php +0 -290
  218. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/InvalidPackageException.php +0 -46
  219. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/JsonLoader.php +0 -45
  220. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/LoaderInterface.php +0 -30
  221. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php +0 -264
  222. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ValidatingArrayLoader.php +0 -493
  223. data/helpers/vendor/composer/composer/src/Composer/Package/Locker.php +0 -438
  224. data/helpers/vendor/composer/composer/src/Composer/Package/Package.php +0 -612
  225. data/helpers/vendor/composer/composer/src/Composer/Package/PackageInterface.php +0 -361
  226. data/helpers/vendor/composer/composer/src/Composer/Package/RootAliasPackage.php +0 -173
  227. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackage.php +0 -136
  228. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackageInterface.php +0 -142
  229. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionGuesser.php +0 -302
  230. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php +0 -81
  231. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionSelector.php +0 -176
  232. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/Capability.php +0 -23
  233. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/CommandProvider.php +0 -33
  234. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capable.php +0 -43
  235. data/helpers/vendor/composer/composer/src/Composer/Plugin/CommandEvent.php +0 -88
  236. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginEvents.php +0 -61
  237. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginInterface.php +0 -39
  238. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginManager.php +0 -403
  239. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreCommandRunEvent.php +0 -68
  240. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreFileDownloadEvent.php +0 -78
  241. data/helpers/vendor/composer/composer/src/Composer/Question/StrictConfirmationQuestion.php +0 -94
  242. data/helpers/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php +0 -208
  243. data/helpers/vendor/composer/composer/src/Composer/Repository/ArtifactRepository.php +0 -167
  244. data/helpers/vendor/composer/composer/src/Composer/Repository/BaseRepository.php +0 -157
  245. data/helpers/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php +0 -829
  246. data/helpers/vendor/composer/composer/src/Composer/Repository/CompositeRepository.php +0 -164
  247. data/helpers/vendor/composer/composer/src/Composer/Repository/ConfigurableRepositoryInterface.php +0 -23
  248. data/helpers/vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php +0 -97
  249. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledArrayRepository.php +0 -24
  250. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledFilesystemRepository.php +0 -22
  251. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledRepositoryInterface.php +0 -24
  252. data/helpers/vendor/composer/composer/src/Composer/Repository/InvalidRepositoryException.php +0 -22
  253. data/helpers/vendor/composer/composer/src/Composer/Repository/PackageRepository.php +0 -61
  254. data/helpers/vendor/composer/composer/src/Composer/Repository/PathRepository.php +0 -190
  255. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/BaseChannelReader.php +0 -82
  256. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelInfo.php +0 -67
  257. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelReader.php +0 -101
  258. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest10Reader.php +0 -164
  259. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest11Reader.php +0 -139
  260. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyConstraint.php +0 -60
  261. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyInfo.php +0 -50
  262. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageDependencyParser.php +0 -317
  263. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageInfo.php +0 -94
  264. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ReleaseInfo.php +0 -50
  265. data/helpers/vendor/composer/composer/src/Composer/Repository/PearRepository.php +0 -198
  266. data/helpers/vendor/composer/composer/src/Composer/Repository/PlatformRepository.php +0 -342
  267. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryFactory.php +0 -169
  268. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryInterface.php +0 -74
  269. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryManager.php +0 -177
  270. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositorySecurityException.php +0 -22
  271. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/BitbucketDriver.php +0 -445
  272. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php +0 -238
  273. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitBitbucketDriver.php +0 -91
  274. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php +0 -222
  275. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitHubDriver.php +0 -472
  276. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitLabDriver.php +0 -511
  277. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgBitbucketDriver.php +0 -91
  278. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php +0 -230
  279. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/PerforceDriver.php +0 -181
  280. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/SvnDriver.php +0 -397
  281. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriver.php +0 -175
  282. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriverInterface.php +0 -117
  283. data/helpers/vendor/composer/composer/src/Composer/Repository/VcsRepository.php +0 -407
  284. data/helpers/vendor/composer/composer/src/Composer/Repository/VersionCacheInterface.php +0 -23
  285. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableArrayRepository.php +0 -66
  286. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableRepositoryInterface.php +0 -54
  287. data/helpers/vendor/composer/composer/src/Composer/Script/CommandEvent.php +0 -22
  288. data/helpers/vendor/composer/composer/src/Composer/Script/Event.php +0 -89
  289. data/helpers/vendor/composer/composer/src/Composer/Script/PackageEvent.php +0 -24
  290. data/helpers/vendor/composer/composer/src/Composer/Script/ScriptEvents.php +0 -193
  291. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Keys.php +0 -36
  292. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Versions.php +0 -75
  293. data/helpers/vendor/composer/composer/src/Composer/Util/AuthHelper.php +0 -63
  294. data/helpers/vendor/composer/composer/src/Composer/Util/Bitbucket.php +0 -245
  295. data/helpers/vendor/composer/composer/src/Composer/Util/ComposerMirror.php +0 -57
  296. data/helpers/vendor/composer/composer/src/Composer/Util/ConfigValidator.php +0 -191
  297. data/helpers/vendor/composer/composer/src/Composer/Util/ErrorHandler.php +0 -79
  298. data/helpers/vendor/composer/composer/src/Composer/Util/Filesystem.php +0 -715
  299. data/helpers/vendor/composer/composer/src/Composer/Util/Git.php +0 -374
  300. data/helpers/vendor/composer/composer/src/Composer/Util/GitHub.php +0 -180
  301. data/helpers/vendor/composer/composer/src/Composer/Util/GitLab.php +0 -163
  302. data/helpers/vendor/composer/composer/src/Composer/Util/Hg.php +0 -94
  303. data/helpers/vendor/composer/composer/src/Composer/Util/IniHelper.php +0 -64
  304. data/helpers/vendor/composer/composer/src/Composer/Util/NoProxyPattern.php +0 -147
  305. data/helpers/vendor/composer/composer/src/Composer/Util/Perforce.php +0 -581
  306. data/helpers/vendor/composer/composer/src/Composer/Util/Platform.php +0 -92
  307. data/helpers/vendor/composer/composer/src/Composer/Util/ProcessExecutor.php +0 -192
  308. data/helpers/vendor/composer/composer/src/Composer/Util/RemoteFilesystem.php +0 -1109
  309. data/helpers/vendor/composer/composer/src/Composer/Util/Silencer.php +0 -78
  310. data/helpers/vendor/composer/composer/src/Composer/Util/SpdxLicense.php +0 -24
  311. data/helpers/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php +0 -177
  312. data/helpers/vendor/composer/composer/src/Composer/Util/Svn.php +0 -381
  313. data/helpers/vendor/composer/composer/src/Composer/Util/TlsHelper.php +0 -204
  314. data/helpers/vendor/composer/composer/src/Composer/Util/Url.php +0 -55
  315. data/helpers/vendor/composer/composer/src/Composer/XdebugHandler.php +0 -31
  316. data/helpers/vendor/composer/composer/src/bootstrap.php +0 -24
  317. data/helpers/vendor/composer/installed.json +0 -947
  318. data/helpers/vendor/composer/semver/CHANGELOG.md +0 -72
  319. data/helpers/vendor/composer/semver/LICENSE +0 -19
  320. data/helpers/vendor/composer/semver/README.md +0 -70
  321. data/helpers/vendor/composer/semver/composer.json +0 -58
  322. data/helpers/vendor/composer/semver/src/Comparator.php +0 -111
  323. data/helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php +0 -63
  324. data/helpers/vendor/composer/semver/src/Constraint/Constraint.php +0 -219
  325. data/helpers/vendor/composer/semver/src/Constraint/ConstraintInterface.php +0 -32
  326. data/helpers/vendor/composer/semver/src/Constraint/EmptyConstraint.php +0 -59
  327. data/helpers/vendor/composer/semver/src/Constraint/MultiConstraint.php +0 -120
  328. data/helpers/vendor/composer/semver/src/Semver.php +0 -127
  329. data/helpers/vendor/composer/semver/src/VersionParser.php +0 -540
  330. data/helpers/vendor/composer/spdx-licenses/.php_cs.dist +0 -59
  331. data/helpers/vendor/composer/spdx-licenses/CHANGELOG.md +0 -89
  332. data/helpers/vendor/composer/spdx-licenses/LICENSE +0 -19
  333. data/helpers/vendor/composer/spdx-licenses/README.md +0 -69
  334. data/helpers/vendor/composer/spdx-licenses/composer.json +0 -56
  335. data/helpers/vendor/composer/spdx-licenses/res/spdx-exceptions.json +0 -101
  336. data/helpers/vendor/composer/spdx-licenses/res/spdx-licenses.json +0 -1932
  337. data/helpers/vendor/composer/spdx-licenses/src/SpdxLicenses.php +0 -343
  338. data/helpers/vendor/composer/xdebug-handler/CHANGELOG.md +0 -55
  339. data/helpers/vendor/composer/xdebug-handler/LICENSE +0 -21
  340. data/helpers/vendor/composer/xdebug-handler/README.md +0 -288
  341. data/helpers/vendor/composer/xdebug-handler/composer.json +0 -40
  342. data/helpers/vendor/composer/xdebug-handler/src/PhpConfig.php +0 -73
  343. data/helpers/vendor/composer/xdebug-handler/src/Process.php +0 -160
  344. data/helpers/vendor/composer/xdebug-handler/src/Status.php +0 -163
  345. data/helpers/vendor/composer/xdebug-handler/src/XdebugHandler.php +0 -565
  346. data/helpers/vendor/justinrainbow/json-schema/.gitattributes +0 -5
  347. data/helpers/vendor/justinrainbow/json-schema/.php_cs.dist +0 -30
  348. data/helpers/vendor/justinrainbow/json-schema/LICENSE +0 -21
  349. data/helpers/vendor/justinrainbow/json-schema/README.md +0 -206
  350. data/helpers/vendor/justinrainbow/json-schema/bin/validate-json +0 -251
  351. data/helpers/vendor/justinrainbow/json-schema/composer.json +0 -76
  352. data/helpers/vendor/justinrainbow/json-schema/demo/README.md +0 -14
  353. data/helpers/vendor/justinrainbow/json-schema/demo/data.json +0 -3
  354. data/helpers/vendor/justinrainbow/json-schema/demo/demo.php +0 -18
  355. data/helpers/vendor/justinrainbow/json-schema/demo/schema.json +0 -3
  356. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-03.json +0 -174
  357. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-04.json +0 -150
  358. data/helpers/vendor/justinrainbow/json-schema/phpunit.xml.dist +0 -26
  359. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php +0 -148
  360. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php +0 -121
  361. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php +0 -213
  362. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php +0 -65
  363. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php +0 -54
  364. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php +0 -220
  365. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php +0 -214
  366. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php +0 -81
  367. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php +0 -192
  368. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php +0 -94
  369. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php +0 -60
  370. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.php +0 -68
  371. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.php +0 -40
  372. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php +0 -18
  373. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php +0 -261
  374. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php +0 -413
  375. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.php +0 -161
  376. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.php +0 -7
  377. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php +0 -17
  378. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.php +0 -17
  379. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaException.php +0 -17
  380. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.php +0 -17
  381. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.php +0 -17
  382. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.php +0 -40
  383. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.php +0 -17
  384. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php +0 -17
  385. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php +0 -19
  386. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.php +0 -17
  387. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.php +0 -14
  388. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.php +0 -149
  389. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.php +0 -30
  390. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php +0 -169
  391. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.php +0 -41
  392. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php +0 -34
  393. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php +0 -83
  394. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php +0 -93
  395. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php +0 -56
  396. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php +0 -36
  397. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php +0 -175
  398. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php +0 -349
  399. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.php +0 -26
  400. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php +0 -26
  401. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php +0 -90
  402. data/helpers/vendor/psr/log/.gitignore +0 -1
  403. data/helpers/vendor/psr/log/LICENSE +0 -19
  404. data/helpers/vendor/psr/log/Psr/Log/AbstractLogger.php +0 -128
  405. data/helpers/vendor/psr/log/Psr/Log/InvalidArgumentException.php +0 -7
  406. data/helpers/vendor/psr/log/Psr/Log/LogLevel.php +0 -18
  407. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareInterface.php +0 -18
  408. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareTrait.php +0 -26
  409. data/helpers/vendor/psr/log/Psr/Log/LoggerInterface.php +0 -123
  410. data/helpers/vendor/psr/log/Psr/Log/LoggerTrait.php +0 -140
  411. data/helpers/vendor/psr/log/Psr/Log/NullLogger.php +0 -28
  412. data/helpers/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +0 -144
  413. data/helpers/vendor/psr/log/Psr/Log/Test/TestLogger.php +0 -146
  414. data/helpers/vendor/psr/log/README.md +0 -52
  415. data/helpers/vendor/psr/log/composer.json +0 -26
  416. data/helpers/vendor/seld/jsonlint/.gitignore +0 -3
  417. data/helpers/vendor/seld/jsonlint/.travis.yml +0 -25
  418. data/helpers/vendor/seld/jsonlint/CHANGELOG.md +0 -66
  419. data/helpers/vendor/seld/jsonlint/LICENSE +0 -19
  420. data/helpers/vendor/seld/jsonlint/README.md +0 -89
  421. data/helpers/vendor/seld/jsonlint/bin/jsonlint +0 -117
  422. data/helpers/vendor/seld/jsonlint/composer.json +0 -24
  423. data/helpers/vendor/seld/jsonlint/phpunit.xml.dist +0 -25
  424. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php +0 -26
  425. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php +0 -502
  426. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php +0 -217
  427. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php +0 -28
  428. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php +0 -16
  429. data/helpers/vendor/seld/jsonlint/tests/JsonParserTest.php +0 -230
  430. data/helpers/vendor/seld/jsonlint/tests/bom.json +0 -6
  431. data/helpers/vendor/seld/jsonlint/tests/bootstrap.php +0 -13
  432. data/helpers/vendor/seld/phar-utils/.gitignore +0 -1
  433. data/helpers/vendor/seld/phar-utils/LICENSE +0 -19
  434. data/helpers/vendor/seld/phar-utils/README.md +0 -39
  435. data/helpers/vendor/seld/phar-utils/composer.json +0 -26
  436. data/helpers/vendor/seld/phar-utils/composer.lock +0 -19
  437. data/helpers/vendor/seld/phar-utils/src/Timestamps.php +0 -192
  438. data/helpers/vendor/symfony/console/.gitignore +0 -3
  439. data/helpers/vendor/symfony/console/Application.php +0 -1181
  440. data/helpers/vendor/symfony/console/CHANGELOG.md +0 -140
  441. data/helpers/vendor/symfony/console/Command/Command.php +0 -654
  442. data/helpers/vendor/symfony/console/Command/HelpCommand.php +0 -81
  443. data/helpers/vendor/symfony/console/Command/ListCommand.php +0 -90
  444. data/helpers/vendor/symfony/console/Command/LockableTrait.php +0 -71
  445. data/helpers/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +0 -37
  446. data/helpers/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +0 -55
  447. data/helpers/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +0 -62
  448. data/helpers/vendor/symfony/console/ConsoleEvents.php +0 -47
  449. data/helpers/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +0 -98
  450. data/helpers/vendor/symfony/console/Descriptor/ApplicationDescription.php +0 -144
  451. data/helpers/vendor/symfony/console/Descriptor/Descriptor.php +0 -107
  452. data/helpers/vendor/symfony/console/Descriptor/DescriptorInterface.php +0 -31
  453. data/helpers/vendor/symfony/console/Descriptor/JsonDescriptor.php +0 -168
  454. data/helpers/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +0 -182
  455. data/helpers/vendor/symfony/console/Descriptor/TextDescriptor.php +0 -342
  456. data/helpers/vendor/symfony/console/Descriptor/XmlDescriptor.php +0 -245
  457. data/helpers/vendor/symfony/console/Event/ConsoleCommandEvent.php +0 -60
  458. data/helpers/vendor/symfony/console/Event/ConsoleErrorEvent.php +0 -58
  459. data/helpers/vendor/symfony/console/Event/ConsoleEvent.php +0 -67
  460. data/helpers/vendor/symfony/console/Event/ConsoleTerminateEvent.php +0 -53
  461. data/helpers/vendor/symfony/console/EventListener/ErrorListener.php +0 -91
  462. data/helpers/vendor/symfony/console/Exception/CommandNotFoundException.php +0 -43
  463. data/helpers/vendor/symfony/console/Exception/ExceptionInterface.php +0 -21
  464. data/helpers/vendor/symfony/console/Exception/InvalidArgumentException.php +0 -19
  465. data/helpers/vendor/symfony/console/Exception/InvalidOptionException.php +0 -21
  466. data/helpers/vendor/symfony/console/Exception/LogicException.php +0 -19
  467. data/helpers/vendor/symfony/console/Exception/NamespaceNotFoundException.php +0 -21
  468. data/helpers/vendor/symfony/console/Exception/RuntimeException.php +0 -19
  469. data/helpers/vendor/symfony/console/Formatter/OutputFormatter.php +0 -282
  470. data/helpers/vendor/symfony/console/Formatter/OutputFormatterInterface.php +0 -71
  471. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyle.php +0 -203
  472. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +0 -62
  473. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +0 -110
  474. data/helpers/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php +0 -25
  475. data/helpers/vendor/symfony/console/Helper/DebugFormatterHelper.php +0 -127
  476. data/helpers/vendor/symfony/console/Helper/DescriptorHelper.php +0 -94
  477. data/helpers/vendor/symfony/console/Helper/FormatterHelper.php +0 -106
  478. data/helpers/vendor/symfony/console/Helper/Helper.php +0 -138
  479. data/helpers/vendor/symfony/console/Helper/HelperInterface.php +0 -39
  480. data/helpers/vendor/symfony/console/Helper/HelperSet.php +0 -108
  481. data/helpers/vendor/symfony/console/Helper/InputAwareHelper.php +0 -33
  482. data/helpers/vendor/symfony/console/Helper/ProcessHelper.php +0 -156
  483. data/helpers/vendor/symfony/console/Helper/ProgressBar.php +0 -527
  484. data/helpers/vendor/symfony/console/Helper/ProgressIndicator.php +0 -269
  485. data/helpers/vendor/symfony/console/Helper/QuestionHelper.php +0 -447
  486. data/helpers/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +0 -96
  487. data/helpers/vendor/symfony/console/Helper/Table.php +0 -813
  488. data/helpers/vendor/symfony/console/Helper/TableCell.php +0 -68
  489. data/helpers/vendor/symfony/console/Helper/TableRows.php +0 -32
  490. data/helpers/vendor/symfony/console/Helper/TableSeparator.php +0 -25
  491. data/helpers/vendor/symfony/console/Helper/TableStyle.php +0 -458
  492. data/helpers/vendor/symfony/console/Input/ArgvInput.php +0 -365
  493. data/helpers/vendor/symfony/console/Input/ArrayInput.php +0 -206
  494. data/helpers/vendor/symfony/console/Input/Input.php +0 -203
  495. data/helpers/vendor/symfony/console/Input/InputArgument.php +0 -129
  496. data/helpers/vendor/symfony/console/Input/InputAwareInterface.php +0 -26
  497. data/helpers/vendor/symfony/console/Input/InputDefinition.php +0 -404
  498. data/helpers/vendor/symfony/console/Input/InputInterface.php +0 -163
  499. data/helpers/vendor/symfony/console/Input/InputOption.php +0 -208
  500. data/helpers/vendor/symfony/console/Input/StreamableInputInterface.php +0 -37
  501. data/helpers/vendor/symfony/console/Input/StringInput.php +0 -72
  502. data/helpers/vendor/symfony/console/LICENSE +0 -19
  503. data/helpers/vendor/symfony/console/Logger/ConsoleLogger.php +0 -124
  504. data/helpers/vendor/symfony/console/Output/BufferedOutput.php +0 -45
  505. data/helpers/vendor/symfony/console/Output/ConsoleOutput.php +0 -161
  506. data/helpers/vendor/symfony/console/Output/ConsoleOutputInterface.php +0 -32
  507. data/helpers/vendor/symfony/console/Output/ConsoleSectionOutput.php +0 -141
  508. data/helpers/vendor/symfony/console/Output/NullOutput.php +0 -123
  509. data/helpers/vendor/symfony/console/Output/Output.php +0 -177
  510. data/helpers/vendor/symfony/console/Output/OutputInterface.php +0 -114
  511. data/helpers/vendor/symfony/console/Output/StreamOutput.php +0 -124
  512. data/helpers/vendor/symfony/console/Question/ChoiceQuestion.php +0 -184
  513. data/helpers/vendor/symfony/console/Question/ConfirmationQuestion.php +0 -59
  514. data/helpers/vendor/symfony/console/Question/Question.php +0 -246
  515. data/helpers/vendor/symfony/console/README.md +0 -20
  516. data/helpers/vendor/symfony/console/Resources/bin/hiddeninput.exe +0 -0
  517. data/helpers/vendor/symfony/console/Style/OutputStyle.php +0 -155
  518. data/helpers/vendor/symfony/console/Style/StyleInterface.php +0 -154
  519. data/helpers/vendor/symfony/console/Style/SymfonyStyle.php +0 -438
  520. data/helpers/vendor/symfony/console/Terminal.php +0 -137
  521. data/helpers/vendor/symfony/console/Tester/ApplicationTester.php +0 -77
  522. data/helpers/vendor/symfony/console/Tester/CommandTester.php +0 -78
  523. data/helpers/vendor/symfony/console/Tester/TesterTrait.php +0 -177
  524. data/helpers/vendor/symfony/console/Tests/ApplicationTest.php +0 -1814
  525. data/helpers/vendor/symfony/console/Tests/Command/CommandTest.php +0 -436
  526. data/helpers/vendor/symfony/console/Tests/Command/HelpCommandTest.php +0 -71
  527. data/helpers/vendor/symfony/console/Tests/Command/ListCommandTest.php +0 -113
  528. data/helpers/vendor/symfony/console/Tests/Command/LockableTraitTest.php +0 -67
  529. data/helpers/vendor/symfony/console/Tests/CommandLoader/ContainerCommandLoaderTest.php +0 -61
  530. data/helpers/vendor/symfony/console/Tests/CommandLoader/FactoryCommandLoaderTest.php +0 -60
  531. data/helpers/vendor/symfony/console/Tests/DependencyInjection/AddConsoleCommandPassTest.php +0 -258
  532. data/helpers/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php +0 -107
  533. data/helpers/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php +0 -35
  534. data/helpers/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php +0 -45
  535. data/helpers/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php +0 -82
  536. data/helpers/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php +0 -53
  537. data/helpers/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php +0 -27
  538. data/helpers/vendor/symfony/console/Tests/EventListener/ErrorListenerTest.php +0 -156
  539. data/helpers/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php +0 -11
  540. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php +0 -18
  541. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php +0 -26
  542. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php +0 -24
  543. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php +0 -27
  544. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php +0 -32
  545. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php +0 -27
  546. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand4.php +0 -25
  547. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php +0 -32
  548. data/helpers/vendor/symfony/console/Tests/Fixtures/DummyOutput.php +0 -36
  549. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo1Command.php +0 -26
  550. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo2Command.php +0 -21
  551. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo3Command.php +0 -29
  552. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo4Command.php +0 -11
  553. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo5Command.php +0 -10
  554. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo6Command.php +0 -11
  555. data/helpers/vendor/symfony/console/Tests/Fixtures/FooCommand.php +0 -33
  556. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php +0 -28
  557. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php +0 -27
  558. data/helpers/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php +0 -36
  559. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseLowercaseCommand.php +0 -11
  560. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseUppercaseCommand.php +0 -11
  561. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php +0 -26
  562. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php +0 -26
  563. data/helpers/vendor/symfony/console/Tests/Fixtures/FooWithoutAliasCommand.php +0 -21
  564. data/helpers/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php +0 -25
  565. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php +0 -11
  566. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php +0 -13
  567. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php +0 -17
  568. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php +0 -12
  569. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php +0 -13
  570. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php +0 -14
  571. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php +0 -17
  572. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php +0 -14
  573. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php +0 -15
  574. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php +0 -13
  575. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php +0 -16
  576. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php +0 -12
  577. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php +0 -34
  578. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4_with_iterators.php +0 -34
  579. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php +0 -37
  580. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php +0 -16
  581. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php +0 -15
  582. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php +0 -26
  583. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php +0 -11
  584. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php +0 -19
  585. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt +0 -7
  586. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt +0 -3
  587. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt +0 -9
  588. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt +0 -7
  589. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt +0 -4
  590. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt +0 -6
  591. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt +0 -7
  592. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt +0 -6
  593. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt +0 -7
  594. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt +0 -8
  595. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt +0 -7
  596. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt +0 -13
  597. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt +0 -7
  598. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt +0 -32
  599. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4_with_iterators.txt +0 -32
  600. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt +0 -18
  601. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt +0 -6
  602. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt +0 -5
  603. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt +0 -9
  604. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt +0 -5
  605. data/helpers/vendor/symfony/console/Tests/Fixtures/TestCommand.php +0 -28
  606. data/helpers/vendor/symfony/console/Tests/Fixtures/TestTiti.php +0 -21
  607. data/helpers/vendor/symfony/console/Tests/Fixtures/TestToto.php +0 -22
  608. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.json +0 -156
  609. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.md +0 -172
  610. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.txt +0 -17
  611. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.xml +0 -104
  612. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.json +0 -509
  613. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.md +0 -431
  614. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.txt +0 -21
  615. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.xml +0 -254
  616. data/helpers/vendor/symfony/console/Tests/Fixtures/application_filtered_namespace.txt +0 -16
  617. data/helpers/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt +0 -1
  618. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.md +0 -269
  619. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt +0 -19
  620. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt +0 -5
  621. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt +0 -7
  622. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt +0 -18
  623. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt +0 -18
  624. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt +0 -6
  625. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt +0 -8
  626. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt +0 -8
  627. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt +0 -9
  628. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt +0 -9
  629. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt +0 -11
  630. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run1.txt +0 -17
  631. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run2.txt +0 -29
  632. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run3.txt +0 -29
  633. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run4.txt +0 -1
  634. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.json +0 -15
  635. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.md +0 -12
  636. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.txt +0 -10
  637. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.xml +0 -12
  638. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.json +0 -33
  639. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.md +0 -29
  640. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.txt +0 -16
  641. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.xml +0 -21
  642. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.md +0 -29
  643. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt +0 -16
  644. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.json +0 -7
  645. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.md +0 -5
  646. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt +0 -1
  647. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml +0 -5
  648. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.json +0 -7
  649. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.md +0 -7
  650. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt +0 -1
  651. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml +0 -5
  652. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.json +0 -7
  653. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.md +0 -7
  654. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt +0 -1
  655. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml +0 -7
  656. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.json +0 -7
  657. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.md +0 -8
  658. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt +0 -2
  659. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml +0 -6
  660. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json +0 -7
  661. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md +0 -7
  662. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt +0 -1
  663. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml +0 -7
  664. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json +0 -7
  665. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md +0 -7
  666. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt +0 -1
  667. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml +0 -7
  668. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.json +0 -4
  669. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.md +0 -0
  670. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt +0 -0
  671. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml +0 -5
  672. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.json +0 -12
  673. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.md +0 -7
  674. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt +0 -2
  675. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml +0 -10
  676. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.json +0 -14
  677. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.md +0 -8
  678. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt +0 -2
  679. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml +0 -9
  680. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.json +0 -22
  681. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.md +0 -16
  682. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt +0 -5
  683. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml +0 -14
  684. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.json +0 -9
  685. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.md +0 -6
  686. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.txt +0 -1
  687. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.xml +0 -4
  688. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.json +0 -9
  689. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.md +0 -8
  690. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.txt +0 -1
  691. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.xml +0 -7
  692. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.json +0 -9
  693. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.md +0 -8
  694. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.txt +0 -1
  695. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.xml +0 -5
  696. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.json +0 -9
  697. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.md +0 -8
  698. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.txt +0 -1
  699. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.xml +0 -5
  700. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.json +0 -9
  701. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.md +0 -9
  702. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.txt +0 -2
  703. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.xml +0 -6
  704. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.json +0 -9
  705. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.md +0 -8
  706. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.txt +0 -1
  707. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.xml +0 -5
  708. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json +0 -9
  709. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md +0 -8
  710. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt +0 -1
  711. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml +0 -7
  712. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json +0 -9
  713. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md +0 -8
  714. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt +0 -1
  715. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml +0 -7
  716. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json +0 -12
  717. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md +0 -8
  718. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt +0 -1
  719. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml +0 -8
  720. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php +0 -71
  721. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php +0 -100
  722. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php +0 -355
  723. data/helpers/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php +0 -34
  724. data/helpers/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php +0 -129
  725. data/helpers/vendor/symfony/console/Tests/Helper/HelperSetTest.php +0 -127
  726. data/helpers/vendor/symfony/console/Tests/Helper/HelperTest.php +0 -55
  727. data/helpers/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php +0 -133
  728. data/helpers/vendor/symfony/console/Tests/Helper/ProgressBarTest.php +0 -912
  729. data/helpers/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php +0 -183
  730. data/helpers/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php +0 -715
  731. data/helpers/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php +0 -168
  732. data/helpers/vendor/symfony/console/Tests/Helper/TableStyleTest.php +0 -28
  733. data/helpers/vendor/symfony/console/Tests/Helper/TableTest.php +0 -1199
  734. data/helpers/vendor/symfony/console/Tests/Input/ArgvInputTest.php +0 -466
  735. data/helpers/vendor/symfony/console/Tests/Input/ArrayInputTest.php +0 -177
  736. data/helpers/vendor/symfony/console/Tests/Input/InputArgumentTest.php +0 -103
  737. data/helpers/vendor/symfony/console/Tests/Input/InputDefinitionTest.php +0 -407
  738. data/helpers/vendor/symfony/console/Tests/Input/InputOptionTest.php +0 -196
  739. data/helpers/vendor/symfony/console/Tests/Input/InputTest.php +0 -149
  740. data/helpers/vendor/symfony/console/Tests/Input/StringInputTest.php +0 -87
  741. data/helpers/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php +0 -215
  742. data/helpers/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php +0 -42
  743. data/helpers/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php +0 -163
  744. data/helpers/vendor/symfony/console/Tests/Output/NullOutputTest.php +0 -88
  745. data/helpers/vendor/symfony/console/Tests/Output/OutputTest.php +0 -189
  746. data/helpers/vendor/symfony/console/Tests/Output/StreamOutputTest.php +0 -61
  747. data/helpers/vendor/symfony/console/Tests/Question/ConfirmationQuestionTest.php +0 -62
  748. data/helpers/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php +0 -118
  749. data/helpers/vendor/symfony/console/Tests/TerminalTest.php +0 -59
  750. data/helpers/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php +0 -113
  751. data/helpers/vendor/symfony/console/Tests/Tester/CommandTesterTest.php +0 -235
  752. data/helpers/vendor/symfony/console/composer.json +0 -56
  753. data/helpers/vendor/symfony/console/phpunit.xml.dist +0 -41
  754. data/helpers/vendor/symfony/contracts/.gitignore +0 -3
  755. data/helpers/vendor/symfony/contracts/CHANGELOG.md +0 -12
  756. data/helpers/vendor/symfony/contracts/Cache/CacheInterface.php +0 -57
  757. data/helpers/vendor/symfony/contracts/Cache/CacheTrait.php +0 -71
  758. data/helpers/vendor/symfony/contracts/Cache/CallbackInterface.php +0 -30
  759. data/helpers/vendor/symfony/contracts/Cache/ItemInterface.php +0 -60
  760. data/helpers/vendor/symfony/contracts/Cache/TagAwareCacheInterface.php +0 -38
  761. data/helpers/vendor/symfony/contracts/LICENSE +0 -19
  762. data/helpers/vendor/symfony/contracts/README.md +0 -70
  763. data/helpers/vendor/symfony/contracts/Service/ResetInterface.php +0 -30
  764. data/helpers/vendor/symfony/contracts/Service/ServiceLocatorTrait.php +0 -97
  765. data/helpers/vendor/symfony/contracts/Service/ServiceSubscriberInterface.php +0 -53
  766. data/helpers/vendor/symfony/contracts/Service/ServiceSubscriberTrait.php +0 -61
  767. data/helpers/vendor/symfony/contracts/Tests/Cache/CacheTraitTest.php +0 -165
  768. data/helpers/vendor/symfony/contracts/Tests/Service/ServiceLocatorTest.php +0 -94
  769. data/helpers/vendor/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php +0 -65
  770. data/helpers/vendor/symfony/contracts/Tests/Translation/TranslatorTest.php +0 -353
  771. data/helpers/vendor/symfony/contracts/Translation/LocaleAwareInterface.php +0 -31
  772. data/helpers/vendor/symfony/contracts/Translation/TranslatorInterface.php +0 -65
  773. data/helpers/vendor/symfony/contracts/Translation/TranslatorTrait.php +0 -255
  774. data/helpers/vendor/symfony/contracts/composer.json +0 -44
  775. data/helpers/vendor/symfony/contracts/phpunit.xml.dist +0 -31
  776. data/helpers/vendor/symfony/filesystem/.gitignore +0 -3
  777. data/helpers/vendor/symfony/filesystem/CHANGELOG.md +0 -59
  778. data/helpers/vendor/symfony/filesystem/Exception/ExceptionInterface.php +0 -21
  779. data/helpers/vendor/symfony/filesystem/Exception/FileNotFoundException.php +0 -34
  780. data/helpers/vendor/symfony/filesystem/Exception/IOException.php +0 -39
  781. data/helpers/vendor/symfony/filesystem/Exception/IOExceptionInterface.php +0 -27
  782. data/helpers/vendor/symfony/filesystem/Exception/InvalidArgumentException.php +0 -19
  783. data/helpers/vendor/symfony/filesystem/Filesystem.php +0 -767
  784. data/helpers/vendor/symfony/filesystem/LICENSE +0 -19
  785. data/helpers/vendor/symfony/filesystem/README.md +0 -13
  786. data/helpers/vendor/symfony/filesystem/Tests/ExceptionTest.php +0 -47
  787. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTest.php +0 -1686
  788. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTestCase.php +0 -166
  789. data/helpers/vendor/symfony/filesystem/Tests/Fixtures/MockStream/MockStream.php +0 -46
  790. data/helpers/vendor/symfony/filesystem/composer.json +0 -34
  791. data/helpers/vendor/symfony/filesystem/phpunit.xml.dist +0 -30
  792. data/helpers/vendor/symfony/finder/.gitignore +0 -3
  793. data/helpers/vendor/symfony/finder/CHANGELOG.md +0 -69
  794. data/helpers/vendor/symfony/finder/Comparator/Comparator.php +0 -98
  795. data/helpers/vendor/symfony/finder/Comparator/DateComparator.php +0 -51
  796. data/helpers/vendor/symfony/finder/Comparator/NumberComparator.php +0 -79
  797. data/helpers/vendor/symfony/finder/Exception/AccessDeniedException.php +0 -19
  798. data/helpers/vendor/symfony/finder/Finder.php +0 -783
  799. data/helpers/vendor/symfony/finder/Glob.php +0 -116
  800. data/helpers/vendor/symfony/finder/Iterator/CustomFilterIterator.php +0 -61
  801. data/helpers/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +0 -58
  802. data/helpers/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +0 -45
  803. data/helpers/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +0 -84
  804. data/helpers/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +0 -53
  805. data/helpers/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +0 -58
  806. data/helpers/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +0 -47
  807. data/helpers/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +0 -112
  808. data/helpers/vendor/symfony/finder/Iterator/PathFilterIterator.php +0 -56
  809. data/helpers/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +0 -140
  810. data/helpers/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +0 -57
  811. data/helpers/vendor/symfony/finder/Iterator/SortableIterator.php +0 -99
  812. data/helpers/vendor/symfony/finder/LICENSE +0 -19
  813. data/helpers/vendor/symfony/finder/README.md +0 -14
  814. data/helpers/vendor/symfony/finder/SplFileInfo.php +0 -78
  815. data/helpers/vendor/symfony/finder/Tests/Comparator/ComparatorTest.php +0 -65
  816. data/helpers/vendor/symfony/finder/Tests/Comparator/DateComparatorTest.php +0 -64
  817. data/helpers/vendor/symfony/finder/Tests/Comparator/NumberComparatorTest.php +0 -108
  818. data/helpers/vendor/symfony/finder/Tests/FinderTest.php +0 -1384
  819. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/a +0 -0
  820. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/c.neon +0 -0
  821. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/d.neon +0 -0
  822. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/C/abc.dat +0 -0
  823. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/ab.dat +0 -0
  824. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/a.dat +0 -0
  825. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy +0 -0
  826. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/ab.dat.copy +0 -0
  827. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/a.dat.copy +0 -0
  828. data/helpers/vendor/symfony/finder/Tests/Fixtures/dolor.txt +0 -2
  829. data/helpers/vendor/symfony/finder/Tests/Fixtures/ipsum.txt +0 -2
  830. data/helpers/vendor/symfony/finder/Tests/Fixtures/lorem.txt +0 -2
  831. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/.dot +0 -1
  832. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/a +0 -0
  833. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/c.neon +0 -0
  834. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/d.neon +0 -0
  835. data/helpers/vendor/symfony/finder/Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat +0 -0
  836. data/helpers/vendor/symfony/finder/Tests/Fixtures/with space/foo.txt b/data/helpers/vendor/symfony/finder/Tests/Fixtures/with → space/foo.txt +0 -0
  837. data/helpers/vendor/symfony/finder/Tests/GlobTest.php +0 -95
  838. data/helpers/vendor/symfony/finder/Tests/Iterator/CustomFilterIteratorTest.php +0 -46
  839. data/helpers/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php +0 -92
  840. data/helpers/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php +0 -103
  841. data/helpers/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php +0 -107
  842. data/helpers/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php +0 -82
  843. data/helpers/vendor/symfony/finder/Tests/Iterator/FilecontentFilterIteratorTest.php +0 -86
  844. data/helpers/vendor/symfony/finder/Tests/Iterator/FilenameFilterIteratorTest.php +0 -54
  845. data/helpers/vendor/symfony/finder/Tests/Iterator/Iterator.php +0 -55
  846. data/helpers/vendor/symfony/finder/Tests/Iterator/IteratorTestCase.php +0 -100
  847. data/helpers/vendor/symfony/finder/Tests/Iterator/MockFileListIterator.php +0 -21
  848. data/helpers/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php +0 -132
  849. data/helpers/vendor/symfony/finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php +0 -71
  850. data/helpers/vendor/symfony/finder/Tests/Iterator/PathFilterIteratorTest.php +0 -82
  851. data/helpers/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php +0 -128
  852. data/helpers/vendor/symfony/finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php +0 -59
  853. data/helpers/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php +0 -70
  854. data/helpers/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php +0 -262
  855. data/helpers/vendor/symfony/finder/composer.json +0 -33
  856. data/helpers/vendor/symfony/finder/phpunit.xml.dist +0 -30
  857. data/helpers/vendor/symfony/polyfill-ctype/Ctype.php +0 -227
  858. data/helpers/vendor/symfony/polyfill-ctype/LICENSE +0 -19
  859. data/helpers/vendor/symfony/polyfill-ctype/README.md +0 -12
  860. data/helpers/vendor/symfony/polyfill-ctype/bootstrap.php +0 -26
  861. data/helpers/vendor/symfony/polyfill-ctype/composer.json +0 -34
  862. data/helpers/vendor/symfony/polyfill-mbstring/LICENSE +0 -19
  863. data/helpers/vendor/symfony/polyfill-mbstring/Mbstring.php +0 -800
  864. data/helpers/vendor/symfony/polyfill-mbstring/README.md +0 -13
  865. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +0 -1096
  866. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +0 -5
  867. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +0 -1104
  868. data/helpers/vendor/symfony/polyfill-mbstring/bootstrap.php +0 -58
  869. data/helpers/vendor/symfony/polyfill-mbstring/composer.json +0 -34
  870. data/helpers/vendor/symfony/process/.gitignore +0 -3
  871. data/helpers/vendor/symfony/process/CHANGELOG.md +0 -90
  872. data/helpers/vendor/symfony/process/Exception/ExceptionInterface.php +0 -21
  873. data/helpers/vendor/symfony/process/Exception/InvalidArgumentException.php +0 -21
  874. data/helpers/vendor/symfony/process/Exception/LogicException.php +0 -21
  875. data/helpers/vendor/symfony/process/Exception/ProcessFailedException.php +0 -54
  876. data/helpers/vendor/symfony/process/Exception/ProcessSignaledException.php +0 -41
  877. data/helpers/vendor/symfony/process/Exception/ProcessTimedOutException.php +0 -69
  878. data/helpers/vendor/symfony/process/Exception/RuntimeException.php +0 -21
  879. data/helpers/vendor/symfony/process/ExecutableFinder.php +0 -88
  880. data/helpers/vendor/symfony/process/InputStream.php +0 -90
  881. data/helpers/vendor/symfony/process/LICENSE +0 -19
  882. data/helpers/vendor/symfony/process/PhpExecutableFinder.php +0 -101
  883. data/helpers/vendor/symfony/process/PhpProcess.php +0 -75
  884. data/helpers/vendor/symfony/process/Pipes/AbstractPipes.php +0 -178
  885. data/helpers/vendor/symfony/process/Pipes/PipesInterface.php +0 -67
  886. data/helpers/vendor/symfony/process/Pipes/UnixPipes.php +0 -153
  887. data/helpers/vendor/symfony/process/Pipes/WindowsPipes.php +0 -191
  888. data/helpers/vendor/symfony/process/Process.php +0 -1652
  889. data/helpers/vendor/symfony/process/ProcessUtils.php +0 -69
  890. data/helpers/vendor/symfony/process/README.md +0 -13
  891. data/helpers/vendor/symfony/process/Tests/ExecutableFinderTest.php +0 -178
  892. data/helpers/vendor/symfony/process/Tests/KillableProcessWithOutput.php +0 -25
  893. data/helpers/vendor/symfony/process/Tests/NonStopableProcess.php +0 -47
  894. data/helpers/vendor/symfony/process/Tests/PhpExecutableFinderTest.php +0 -49
  895. data/helpers/vendor/symfony/process/Tests/PhpProcessTest.php +0 -63
  896. data/helpers/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php +0 -72
  897. data/helpers/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php +0 -137
  898. data/helpers/vendor/symfony/process/Tests/ProcessTest.php +0 -1537
  899. data/helpers/vendor/symfony/process/Tests/SignalListener.php +0 -21
  900. data/helpers/vendor/symfony/process/composer.json +0 -33
  901. data/helpers/vendor/symfony/process/phpunit.xml.dist +0 -30
@@ -1,1814 +0,0 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- namespace Symfony\Component\Console\Tests;
13
-
14
- use PHPUnit\Framework\TestCase;
15
- use Symfony\Component\Console\Application;
16
- use Symfony\Component\Console\Command\Command;
17
- use Symfony\Component\Console\CommandLoader\FactoryCommandLoader;
18
- use Symfony\Component\Console\DependencyInjection\AddConsoleCommandPass;
19
- use Symfony\Component\Console\Event\ConsoleCommandEvent;
20
- use Symfony\Component\Console\Event\ConsoleErrorEvent;
21
- use Symfony\Component\Console\Event\ConsoleTerminateEvent;
22
- use Symfony\Component\Console\Exception\CommandNotFoundException;
23
- use Symfony\Component\Console\Exception\NamespaceNotFoundException;
24
- use Symfony\Component\Console\Helper\FormatterHelper;
25
- use Symfony\Component\Console\Helper\HelperSet;
26
- use Symfony\Component\Console\Input\ArgvInput;
27
- use Symfony\Component\Console\Input\ArrayInput;
28
- use Symfony\Component\Console\Input\InputArgument;
29
- use Symfony\Component\Console\Input\InputDefinition;
30
- use Symfony\Component\Console\Input\InputInterface;
31
- use Symfony\Component\Console\Input\InputOption;
32
- use Symfony\Component\Console\Output\NullOutput;
33
- use Symfony\Component\Console\Output\Output;
34
- use Symfony\Component\Console\Output\OutputInterface;
35
- use Symfony\Component\Console\Output\StreamOutput;
36
- use Symfony\Component\Console\Tester\ApplicationTester;
37
- use Symfony\Component\DependencyInjection\ContainerBuilder;
38
- use Symfony\Component\EventDispatcher\EventDispatcher;
39
-
40
- class ApplicationTest extends TestCase
41
- {
42
- protected static $fixturesPath;
43
-
44
- private $colSize;
45
-
46
- protected function setUp()
47
- {
48
- $this->colSize = getenv('COLUMNS');
49
- }
50
-
51
- protected function tearDown()
52
- {
53
- putenv($this->colSize ? 'COLUMNS='.$this->colSize : 'COLUMNS');
54
- putenv('SHELL_VERBOSITY');
55
- unset($_ENV['SHELL_VERBOSITY']);
56
- unset($_SERVER['SHELL_VERBOSITY']);
57
- }
58
-
59
- public static function setUpBeforeClass()
60
- {
61
- self::$fixturesPath = realpath(__DIR__.'/Fixtures/');
62
- require_once self::$fixturesPath.'/FooCommand.php';
63
- require_once self::$fixturesPath.'/FooOptCommand.php';
64
- require_once self::$fixturesPath.'/Foo1Command.php';
65
- require_once self::$fixturesPath.'/Foo2Command.php';
66
- require_once self::$fixturesPath.'/Foo3Command.php';
67
- require_once self::$fixturesPath.'/Foo4Command.php';
68
- require_once self::$fixturesPath.'/Foo5Command.php';
69
- require_once self::$fixturesPath.'/FooSameCaseUppercaseCommand.php';
70
- require_once self::$fixturesPath.'/FooSameCaseLowercaseCommand.php';
71
- require_once self::$fixturesPath.'/FoobarCommand.php';
72
- require_once self::$fixturesPath.'/BarBucCommand.php';
73
- require_once self::$fixturesPath.'/FooSubnamespaced1Command.php';
74
- require_once self::$fixturesPath.'/FooSubnamespaced2Command.php';
75
- require_once self::$fixturesPath.'/FooWithoutAliasCommand.php';
76
- require_once self::$fixturesPath.'/TestTiti.php';
77
- require_once self::$fixturesPath.'/TestToto.php';
78
- }
79
-
80
- protected function normalizeLineBreaks($text)
81
- {
82
- return str_replace(PHP_EOL, "\n", $text);
83
- }
84
-
85
- /**
86
- * Replaces the dynamic placeholders of the command help text with a static version.
87
- * The placeholder %command.full_name% includes the script path that is not predictable
88
- * and can not be tested against.
89
- */
90
- protected function ensureStaticCommandHelp(Application $application)
91
- {
92
- foreach ($application->all() as $command) {
93
- $command->setHelp(str_replace('%command.full_name%', 'app/console %command.name%', $command->getHelp()));
94
- }
95
- }
96
-
97
- public function testConstructor()
98
- {
99
- $application = new Application('foo', 'bar');
100
- $this->assertEquals('foo', $application->getName(), '__construct() takes the application name as its first argument');
101
- $this->assertEquals('bar', $application->getVersion(), '__construct() takes the application version as its second argument');
102
- $this->assertEquals(['help', 'list'], array_keys($application->all()), '__construct() registered the help and list commands by default');
103
- }
104
-
105
- public function testSetGetName()
106
- {
107
- $application = new Application();
108
- $application->setName('foo');
109
- $this->assertEquals('foo', $application->getName(), '->setName() sets the name of the application');
110
- }
111
-
112
- public function testSetGetVersion()
113
- {
114
- $application = new Application();
115
- $application->setVersion('bar');
116
- $this->assertEquals('bar', $application->getVersion(), '->setVersion() sets the version of the application');
117
- }
118
-
119
- public function testGetLongVersion()
120
- {
121
- $application = new Application('foo', 'bar');
122
- $this->assertEquals('foo <info>bar</info>', $application->getLongVersion(), '->getLongVersion() returns the long version of the application');
123
- }
124
-
125
- public function testHelp()
126
- {
127
- $application = new Application();
128
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_gethelp.txt', $this->normalizeLineBreaks($application->getHelp()), '->getHelp() returns a help message');
129
- }
130
-
131
- public function testAll()
132
- {
133
- $application = new Application();
134
- $commands = $application->all();
135
- $this->assertInstanceOf('Symfony\\Component\\Console\\Command\\HelpCommand', $commands['help'], '->all() returns the registered commands');
136
-
137
- $application->add(new \FooCommand());
138
- $commands = $application->all('foo');
139
- $this->assertCount(1, $commands, '->all() takes a namespace as its first argument');
140
- }
141
-
142
- public function testAllWithCommandLoader()
143
- {
144
- $application = new Application();
145
- $commands = $application->all();
146
- $this->assertInstanceOf('Symfony\\Component\\Console\\Command\\HelpCommand', $commands['help'], '->all() returns the registered commands');
147
-
148
- $application->add(new \FooCommand());
149
- $commands = $application->all('foo');
150
- $this->assertCount(1, $commands, '->all() takes a namespace as its first argument');
151
-
152
- $application->setCommandLoader(new FactoryCommandLoader([
153
- 'foo:bar1' => function () { return new \Foo1Command(); },
154
- ]));
155
- $commands = $application->all('foo');
156
- $this->assertCount(2, $commands, '->all() takes a namespace as its first argument');
157
- $this->assertInstanceOf(\FooCommand::class, $commands['foo:bar'], '->all() returns the registered commands');
158
- $this->assertInstanceOf(\Foo1Command::class, $commands['foo:bar1'], '->all() returns the registered commands');
159
- }
160
-
161
- public function testRegister()
162
- {
163
- $application = new Application();
164
- $command = $application->register('foo');
165
- $this->assertEquals('foo', $command->getName(), '->register() registers a new command');
166
- }
167
-
168
- public function testAdd()
169
- {
170
- $application = new Application();
171
- $application->add($foo = new \FooCommand());
172
- $commands = $application->all();
173
- $this->assertEquals($foo, $commands['foo:bar'], '->add() registers a command');
174
-
175
- $application = new Application();
176
- $application->addCommands([$foo = new \FooCommand(), $foo1 = new \Foo1Command()]);
177
- $commands = $application->all();
178
- $this->assertEquals([$foo, $foo1], [$commands['foo:bar'], $commands['foo:bar1']], '->addCommands() registers an array of commands');
179
- }
180
-
181
- /**
182
- * @expectedException \LogicException
183
- * @expectedExceptionMessage Command class "Foo5Command" is not correctly initialized. You probably forgot to call the parent constructor.
184
- */
185
- public function testAddCommandWithEmptyConstructor()
186
- {
187
- $application = new Application();
188
- $application->add(new \Foo5Command());
189
- }
190
-
191
- public function testHasGet()
192
- {
193
- $application = new Application();
194
- $this->assertTrue($application->has('list'), '->has() returns true if a named command is registered');
195
- $this->assertFalse($application->has('afoobar'), '->has() returns false if a named command is not registered');
196
-
197
- $application->add($foo = new \FooCommand());
198
- $this->assertTrue($application->has('afoobar'), '->has() returns true if an alias is registered');
199
- $this->assertEquals($foo, $application->get('foo:bar'), '->get() returns a command by name');
200
- $this->assertEquals($foo, $application->get('afoobar'), '->get() returns a command by alias');
201
-
202
- $application = new Application();
203
- $application->add($foo = new \FooCommand());
204
- // simulate --help
205
- $r = new \ReflectionObject($application);
206
- $p = $r->getProperty('wantHelps');
207
- $p->setAccessible(true);
208
- $p->setValue($application, true);
209
- $command = $application->get('foo:bar');
210
- $this->assertInstanceOf('Symfony\Component\Console\Command\HelpCommand', $command, '->get() returns the help command if --help is provided as the input');
211
- }
212
-
213
- public function testHasGetWithCommandLoader()
214
- {
215
- $application = new Application();
216
- $this->assertTrue($application->has('list'), '->has() returns true if a named command is registered');
217
- $this->assertFalse($application->has('afoobar'), '->has() returns false if a named command is not registered');
218
-
219
- $application->add($foo = new \FooCommand());
220
- $this->assertTrue($application->has('afoobar'), '->has() returns true if an alias is registered');
221
- $this->assertEquals($foo, $application->get('foo:bar'), '->get() returns a command by name');
222
- $this->assertEquals($foo, $application->get('afoobar'), '->get() returns a command by alias');
223
-
224
- $application->setCommandLoader(new FactoryCommandLoader([
225
- 'foo:bar1' => function () { return new \Foo1Command(); },
226
- ]));
227
-
228
- $this->assertTrue($application->has('afoobar'), '->has() returns true if an instance is registered for an alias even with command loader');
229
- $this->assertEquals($foo, $application->get('foo:bar'), '->get() returns an instance by name even with command loader');
230
- $this->assertEquals($foo, $application->get('afoobar'), '->get() returns an instance by alias even with command loader');
231
- $this->assertTrue($application->has('foo:bar1'), '->has() returns true for commands registered in the loader');
232
- $this->assertInstanceOf(\Foo1Command::class, $foo1 = $application->get('foo:bar1'), '->get() returns a command by name from the command loader');
233
- $this->assertTrue($application->has('afoobar1'), '->has() returns true for commands registered in the loader');
234
- $this->assertEquals($foo1, $application->get('afoobar1'), '->get() returns a command by name from the command loader');
235
- }
236
-
237
- public function testSilentHelp()
238
- {
239
- $application = new Application();
240
- $application->setAutoExit(false);
241
- $application->setCatchExceptions(false);
242
-
243
- $tester = new ApplicationTester($application);
244
- $tester->run(['-h' => true, '-q' => true], ['decorated' => false]);
245
-
246
- $this->assertEmpty($tester->getDisplay(true));
247
- }
248
-
249
- /**
250
- * @expectedException \Symfony\Component\Console\Exception\CommandNotFoundException
251
- * @expectedExceptionMessage The command "foofoo" does not exist.
252
- */
253
- public function testGetInvalidCommand()
254
- {
255
- $application = new Application();
256
- $application->get('foofoo');
257
- }
258
-
259
- public function testGetNamespaces()
260
- {
261
- $application = new Application();
262
- $application->add(new \FooCommand());
263
- $application->add(new \Foo1Command());
264
- $this->assertEquals(['foo'], $application->getNamespaces(), '->getNamespaces() returns an array of unique used namespaces');
265
- }
266
-
267
- public function testFindNamespace()
268
- {
269
- $application = new Application();
270
- $application->add(new \FooCommand());
271
- $this->assertEquals('foo', $application->findNamespace('foo'), '->findNamespace() returns the given namespace if it exists');
272
- $this->assertEquals('foo', $application->findNamespace('f'), '->findNamespace() finds a namespace given an abbreviation');
273
- $application->add(new \Foo2Command());
274
- $this->assertEquals('foo', $application->findNamespace('foo'), '->findNamespace() returns the given namespace if it exists');
275
- }
276
-
277
- public function testFindNamespaceWithSubnamespaces()
278
- {
279
- $application = new Application();
280
- $application->add(new \FooSubnamespaced1Command());
281
- $application->add(new \FooSubnamespaced2Command());
282
- $this->assertEquals('foo', $application->findNamespace('foo'), '->findNamespace() returns commands even if the commands are only contained in subnamespaces');
283
- }
284
-
285
- public function testFindAmbiguousNamespace()
286
- {
287
- $application = new Application();
288
- $application->add(new \BarBucCommand());
289
- $application->add(new \FooCommand());
290
- $application->add(new \Foo2Command());
291
-
292
- $expectedMsg = "The namespace \"f\" is ambiguous.\nDid you mean one of these?\n foo\n foo1";
293
-
294
- if (method_exists($this, 'expectException')) {
295
- $this->expectException(NamespaceNotFoundException::class);
296
- $this->expectExceptionMessage($expectedMsg);
297
- } else {
298
- $this->setExpectedException(NamespaceNotFoundException::class, $expectedMsg);
299
- }
300
-
301
- $application->findNamespace('f');
302
- }
303
-
304
- public function testFindNonAmbiguous()
305
- {
306
- $application = new Application();
307
- $application->add(new \TestTiti());
308
- $application->add(new \TestToto());
309
- $this->assertEquals('test-toto', $application->find('test')->getName());
310
- }
311
-
312
- /**
313
- * @expectedException \Symfony\Component\Console\Exception\NamespaceNotFoundException
314
- * @expectedExceptionMessage There are no commands defined in the "bar" namespace.
315
- */
316
- public function testFindInvalidNamespace()
317
- {
318
- $application = new Application();
319
- $application->findNamespace('bar');
320
- }
321
-
322
- /**
323
- * @expectedException \Symfony\Component\Console\Exception\CommandNotFoundException
324
- * @expectedExceptionMessage Command "foo1" is not defined
325
- */
326
- public function testFindUniqueNameButNamespaceName()
327
- {
328
- $application = new Application();
329
- $application->add(new \FooCommand());
330
- $application->add(new \Foo1Command());
331
- $application->add(new \Foo2Command());
332
-
333
- $application->find($commandName = 'foo1');
334
- }
335
-
336
- public function testFind()
337
- {
338
- $application = new Application();
339
- $application->add(new \FooCommand());
340
-
341
- $this->assertInstanceOf('FooCommand', $application->find('foo:bar'), '->find() returns a command if its name exists');
342
- $this->assertInstanceOf('Symfony\Component\Console\Command\HelpCommand', $application->find('h'), '->find() returns a command if its name exists');
343
- $this->assertInstanceOf('FooCommand', $application->find('f:bar'), '->find() returns a command if the abbreviation for the namespace exists');
344
- $this->assertInstanceOf('FooCommand', $application->find('f:b'), '->find() returns a command if the abbreviation for the namespace and the command name exist');
345
- $this->assertInstanceOf('FooCommand', $application->find('a'), '->find() returns a command if the abbreviation exists for an alias');
346
- }
347
-
348
- public function testFindCaseSensitiveFirst()
349
- {
350
- $application = new Application();
351
- $application->add(new \FooSameCaseUppercaseCommand());
352
- $application->add(new \FooSameCaseLowercaseCommand());
353
-
354
- $this->assertInstanceOf('FooSameCaseUppercaseCommand', $application->find('f:B'), '->find() returns a command if the abbreviation is the correct case');
355
- $this->assertInstanceOf('FooSameCaseUppercaseCommand', $application->find('f:BAR'), '->find() returns a command if the abbreviation is the correct case');
356
- $this->assertInstanceOf('FooSameCaseLowercaseCommand', $application->find('f:b'), '->find() returns a command if the abbreviation is the correct case');
357
- $this->assertInstanceOf('FooSameCaseLowercaseCommand', $application->find('f:bar'), '->find() returns a command if the abbreviation is the correct case');
358
- }
359
-
360
- public function testFindCaseInsensitiveAsFallback()
361
- {
362
- $application = new Application();
363
- $application->add(new \FooSameCaseLowercaseCommand());
364
-
365
- $this->assertInstanceOf('FooSameCaseLowercaseCommand', $application->find('f:b'), '->find() returns a command if the abbreviation is the correct case');
366
- $this->assertInstanceOf('FooSameCaseLowercaseCommand', $application->find('f:B'), '->find() will fallback to case insensitivity');
367
- $this->assertInstanceOf('FooSameCaseLowercaseCommand', $application->find('FoO:BaR'), '->find() will fallback to case insensitivity');
368
- }
369
-
370
- /**
371
- * @expectedException \Symfony\Component\Console\Exception\CommandNotFoundException
372
- * @expectedExceptionMessage Command "FoO:BaR" is ambiguous
373
- */
374
- public function testFindCaseInsensitiveSuggestions()
375
- {
376
- $application = new Application();
377
- $application->add(new \FooSameCaseLowercaseCommand());
378
- $application->add(new \FooSameCaseUppercaseCommand());
379
-
380
- $this->assertInstanceOf('FooSameCaseLowercaseCommand', $application->find('FoO:BaR'), '->find() will find two suggestions with case insensitivity');
381
- }
382
-
383
- public function testFindWithCommandLoader()
384
- {
385
- $application = new Application();
386
- $application->setCommandLoader(new FactoryCommandLoader([
387
- 'foo:bar' => $f = function () { return new \FooCommand(); },
388
- ]));
389
-
390
- $this->assertInstanceOf('FooCommand', $application->find('foo:bar'), '->find() returns a command if its name exists');
391
- $this->assertInstanceOf('Symfony\Component\Console\Command\HelpCommand', $application->find('h'), '->find() returns a command if its name exists');
392
- $this->assertInstanceOf('FooCommand', $application->find('f:bar'), '->find() returns a command if the abbreviation for the namespace exists');
393
- $this->assertInstanceOf('FooCommand', $application->find('f:b'), '->find() returns a command if the abbreviation for the namespace and the command name exist');
394
- $this->assertInstanceOf('FooCommand', $application->find('a'), '->find() returns a command if the abbreviation exists for an alias');
395
- }
396
-
397
- /**
398
- * @dataProvider provideAmbiguousAbbreviations
399
- */
400
- public function testFindWithAmbiguousAbbreviations($abbreviation, $expectedExceptionMessage)
401
- {
402
- putenv('COLUMNS=120');
403
- if (method_exists($this, 'expectException')) {
404
- $this->expectException('Symfony\Component\Console\Exception\CommandNotFoundException');
405
- $this->expectExceptionMessage($expectedExceptionMessage);
406
- } else {
407
- $this->setExpectedException('Symfony\Component\Console\Exception\CommandNotFoundException', $expectedExceptionMessage);
408
- }
409
-
410
- $application = new Application();
411
- $application->add(new \FooCommand());
412
- $application->add(new \Foo1Command());
413
- $application->add(new \Foo2Command());
414
-
415
- $application->find($abbreviation);
416
- }
417
-
418
- public function provideAmbiguousAbbreviations()
419
- {
420
- return [
421
- ['f', 'Command "f" is not defined.'],
422
- [
423
- 'a',
424
- "Command \"a\" is ambiguous.\nDid you mean one of these?\n".
425
- " afoobar The foo:bar command\n".
426
- " afoobar1 The foo:bar1 command\n".
427
- ' afoobar2 The foo1:bar command',
428
- ],
429
- [
430
- 'foo:b',
431
- "Command \"foo:b\" is ambiguous.\nDid you mean one of these?\n".
432
- " foo:bar The foo:bar command\n".
433
- " foo:bar1 The foo:bar1 command\n".
434
- ' foo1:bar The foo1:bar command',
435
- ],
436
- ];
437
- }
438
-
439
- public function testFindCommandEqualNamespace()
440
- {
441
- $application = new Application();
442
- $application->add(new \Foo3Command());
443
- $application->add(new \Foo4Command());
444
-
445
- $this->assertInstanceOf('Foo3Command', $application->find('foo3:bar'), '->find() returns the good command even if a namespace has same name');
446
- $this->assertInstanceOf('Foo4Command', $application->find('foo3:bar:toh'), '->find() returns a command even if its namespace equals another command name');
447
- }
448
-
449
- public function testFindCommandWithAmbiguousNamespacesButUniqueName()
450
- {
451
- $application = new Application();
452
- $application->add(new \FooCommand());
453
- $application->add(new \FoobarCommand());
454
-
455
- $this->assertInstanceOf('FoobarCommand', $application->find('f:f'));
456
- }
457
-
458
- public function testFindCommandWithMissingNamespace()
459
- {
460
- $application = new Application();
461
- $application->add(new \Foo4Command());
462
-
463
- $this->assertInstanceOf('Foo4Command', $application->find('f::t'));
464
- }
465
-
466
- /**
467
- * @dataProvider provideInvalidCommandNamesSingle
468
- * @expectedException \Symfony\Component\Console\Exception\CommandNotFoundException
469
- * @expectedExceptionMessage Did you mean this
470
- */
471
- public function testFindAlternativeExceptionMessageSingle($name)
472
- {
473
- $application = new Application();
474
- $application->add(new \Foo3Command());
475
- $application->find($name);
476
- }
477
-
478
- public function testDontRunAlternativeNamespaceName()
479
- {
480
- $application = new Application();
481
- $application->add(new \Foo1Command());
482
- $application->setAutoExit(false);
483
- $tester = new ApplicationTester($application);
484
- $tester->run(['command' => 'foos:bar1'], ['decorated' => false]);
485
- $this->assertSame('
486
-
487
- There are no commands defined in the "foos" namespace.
488
-
489
- Did you mean this?
490
- foo
491
-
492
-
493
- ', $tester->getDisplay(true));
494
- }
495
-
496
- public function testCanRunAlternativeCommandName()
497
- {
498
- $application = new Application();
499
- $application->add(new \FooWithoutAliasCommand());
500
- $application->setAutoExit(false);
501
- $tester = new ApplicationTester($application);
502
- $tester->setInputs(['y']);
503
- $tester->run(['command' => 'foos'], ['decorated' => false]);
504
- $display = trim($tester->getDisplay(true));
505
- $this->assertContains('Command "foos" is not defined', $display);
506
- $this->assertContains('Do you want to run "foo" instead? (yes/no) [no]:', $display);
507
- $this->assertContains('called', $display);
508
- }
509
-
510
- public function testDontRunAlternativeCommandName()
511
- {
512
- $application = new Application();
513
- $application->add(new \FooWithoutAliasCommand());
514
- $application->setAutoExit(false);
515
- $tester = new ApplicationTester($application);
516
- $tester->setInputs(['n']);
517
- $exitCode = $tester->run(['command' => 'foos'], ['decorated' => false]);
518
- $this->assertSame(1, $exitCode);
519
- $display = trim($tester->getDisplay(true));
520
- $this->assertContains('Command "foos" is not defined', $display);
521
- $this->assertContains('Do you want to run "foo" instead? (yes/no) [no]:', $display);
522
- }
523
-
524
- public function provideInvalidCommandNamesSingle()
525
- {
526
- return [
527
- ['foo3:barr'],
528
- ['fooo3:bar'],
529
- ];
530
- }
531
-
532
- public function testFindAlternativeExceptionMessageMultiple()
533
- {
534
- putenv('COLUMNS=120');
535
- $application = new Application();
536
- $application->add(new \FooCommand());
537
- $application->add(new \Foo1Command());
538
- $application->add(new \Foo2Command());
539
-
540
- // Command + plural
541
- try {
542
- $application->find('foo:baR');
543
- $this->fail('->find() throws a CommandNotFoundException if command does not exist, with alternatives');
544
- } catch (\Exception $e) {
545
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e, '->find() throws a CommandNotFoundException if command does not exist, with alternatives');
546
- $this->assertRegExp('/Did you mean one of these/', $e->getMessage(), '->find() throws a CommandNotFoundException if command does not exist, with alternatives');
547
- $this->assertRegExp('/foo1:bar/', $e->getMessage());
548
- $this->assertRegExp('/foo:bar/', $e->getMessage());
549
- }
550
-
551
- // Namespace + plural
552
- try {
553
- $application->find('foo2:bar');
554
- $this->fail('->find() throws a CommandNotFoundException if command does not exist, with alternatives');
555
- } catch (\Exception $e) {
556
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e, '->find() throws a CommandNotFoundException if command does not exist, with alternatives');
557
- $this->assertRegExp('/Did you mean one of these/', $e->getMessage(), '->find() throws a CommandNotFoundException if command does not exist, with alternatives');
558
- $this->assertRegExp('/foo1/', $e->getMessage());
559
- }
560
-
561
- $application->add(new \Foo3Command());
562
- $application->add(new \Foo4Command());
563
-
564
- // Subnamespace + plural
565
- try {
566
- $a = $application->find('foo3:');
567
- $this->fail('->find() should throw an Symfony\Component\Console\Exception\CommandNotFoundException if a command is ambiguous because of a subnamespace, with alternatives');
568
- } catch (\Exception $e) {
569
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e);
570
- $this->assertRegExp('/foo3:bar/', $e->getMessage());
571
- $this->assertRegExp('/foo3:bar:toh/', $e->getMessage());
572
- }
573
- }
574
-
575
- public function testFindAlternativeCommands()
576
- {
577
- $application = new Application();
578
-
579
- $application->add(new \FooCommand());
580
- $application->add(new \Foo1Command());
581
- $application->add(new \Foo2Command());
582
-
583
- try {
584
- $application->find($commandName = 'Unknown command');
585
- $this->fail('->find() throws a CommandNotFoundException if command does not exist');
586
- } catch (\Exception $e) {
587
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e, '->find() throws a CommandNotFoundException if command does not exist');
588
- $this->assertSame([], $e->getAlternatives());
589
- $this->assertEquals(sprintf('Command "%s" is not defined.', $commandName), $e->getMessage(), '->find() throws a CommandNotFoundException if command does not exist, without alternatives');
590
- }
591
-
592
- // Test if "bar1" command throw a "CommandNotFoundException" and does not contain
593
- // "foo:bar" as alternative because "bar1" is too far from "foo:bar"
594
- try {
595
- $application->find($commandName = 'bar1');
596
- $this->fail('->find() throws a CommandNotFoundException if command does not exist');
597
- } catch (\Exception $e) {
598
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e, '->find() throws a CommandNotFoundException if command does not exist');
599
- $this->assertSame(['afoobar1', 'foo:bar1'], $e->getAlternatives());
600
- $this->assertRegExp(sprintf('/Command "%s" is not defined./', $commandName), $e->getMessage(), '->find() throws a CommandNotFoundException if command does not exist, with alternatives');
601
- $this->assertRegExp('/afoobar1/', $e->getMessage(), '->find() throws a CommandNotFoundException if command does not exist, with alternative : "afoobar1"');
602
- $this->assertRegExp('/foo:bar1/', $e->getMessage(), '->find() throws a CommandNotFoundException if command does not exist, with alternative : "foo:bar1"');
603
- $this->assertNotRegExp('/foo:bar(?>!1)/', $e->getMessage(), '->find() throws a CommandNotFoundException if command does not exist, without "foo:bar" alternative');
604
- }
605
- }
606
-
607
- public function testFindAlternativeCommandsWithAnAlias()
608
- {
609
- $fooCommand = new \FooCommand();
610
- $fooCommand->setAliases(['foo2']);
611
-
612
- $application = new Application();
613
- $application->add($fooCommand);
614
-
615
- $result = $application->find('foo');
616
-
617
- $this->assertSame($fooCommand, $result);
618
- }
619
-
620
- public function testFindAlternativeNamespace()
621
- {
622
- $application = new Application();
623
-
624
- $application->add(new \FooCommand());
625
- $application->add(new \Foo1Command());
626
- $application->add(new \Foo2Command());
627
- $application->add(new \Foo3Command());
628
-
629
- try {
630
- $application->find('Unknown-namespace:Unknown-command');
631
- $this->fail('->find() throws a CommandNotFoundException if namespace does not exist');
632
- } catch (\Exception $e) {
633
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e, '->find() throws a CommandNotFoundException if namespace does not exist');
634
- $this->assertSame([], $e->getAlternatives());
635
- $this->assertEquals('There are no commands defined in the "Unknown-namespace" namespace.', $e->getMessage(), '->find() throws a CommandNotFoundException if namespace does not exist, without alternatives');
636
- }
637
-
638
- try {
639
- $application->find('foo2:command');
640
- $this->fail('->find() throws a CommandNotFoundException if namespace does not exist');
641
- } catch (\Exception $e) {
642
- $this->assertInstanceOf('Symfony\Component\Console\Exception\NamespaceNotFoundException', $e, '->find() throws a NamespaceNotFoundException if namespace does not exist');
643
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e, 'NamespaceNotFoundException extends from CommandNotFoundException');
644
- $this->assertCount(3, $e->getAlternatives());
645
- $this->assertContains('foo', $e->getAlternatives());
646
- $this->assertContains('foo1', $e->getAlternatives());
647
- $this->assertContains('foo3', $e->getAlternatives());
648
- $this->assertRegExp('/There are no commands defined in the "foo2" namespace./', $e->getMessage(), '->find() throws a CommandNotFoundException if namespace does not exist, with alternative');
649
- $this->assertRegExp('/foo/', $e->getMessage(), '->find() throws a CommandNotFoundException if namespace does not exist, with alternative : "foo"');
650
- $this->assertRegExp('/foo1/', $e->getMessage(), '->find() throws a CommandNotFoundException if namespace does not exist, with alternative : "foo1"');
651
- $this->assertRegExp('/foo3/', $e->getMessage(), '->find() throws a CommandNotFoundException if namespace does not exist, with alternative : "foo3"');
652
- }
653
- }
654
-
655
- public function testFindAlternativesOutput()
656
- {
657
- $application = new Application();
658
-
659
- $application->add(new \FooCommand());
660
- $application->add(new \Foo1Command());
661
- $application->add(new \Foo2Command());
662
- $application->add(new \Foo3Command());
663
-
664
- $expectedAlternatives = [
665
- 'afoobar',
666
- 'afoobar1',
667
- 'afoobar2',
668
- 'foo1:bar',
669
- 'foo3:bar',
670
- 'foo:bar',
671
- 'foo:bar1',
672
- ];
673
-
674
- try {
675
- $application->find('foo');
676
- $this->fail('->find() throws a CommandNotFoundException if command is not defined');
677
- } catch (\Exception $e) {
678
- $this->assertInstanceOf('Symfony\Component\Console\Exception\CommandNotFoundException', $e, '->find() throws a CommandNotFoundException if command is not defined');
679
- $this->assertSame($expectedAlternatives, $e->getAlternatives());
680
-
681
- $this->assertRegExp('/Command "foo" is not defined\..*Did you mean one of these\?.*/Ums', $e->getMessage());
682
- }
683
- }
684
-
685
- public function testFindNamespaceDoesNotFailOnDeepSimilarNamespaces()
686
- {
687
- $application = $this->getMockBuilder('Symfony\Component\Console\Application')->setMethods(['getNamespaces'])->getMock();
688
- $application->expects($this->once())
689
- ->method('getNamespaces')
690
- ->will($this->returnValue(['foo:sublong', 'bar:sub']));
691
-
692
- $this->assertEquals('foo:sublong', $application->findNamespace('f:sub'));
693
- }
694
-
695
- /**
696
- * @expectedException \Symfony\Component\Console\Exception\CommandNotFoundException
697
- * @expectedExceptionMessage Command "foo::bar" is not defined.
698
- */
699
- public function testFindWithDoubleColonInNameThrowsException()
700
- {
701
- $application = new Application();
702
- $application->add(new \FooCommand());
703
- $application->add(new \Foo4Command());
704
- $application->find('foo::bar');
705
- }
706
-
707
- public function testSetCatchExceptions()
708
- {
709
- $application = new Application();
710
- $application->setAutoExit(false);
711
- putenv('COLUMNS=120');
712
- $tester = new ApplicationTester($application);
713
-
714
- $application->setCatchExceptions(true);
715
- $this->assertTrue($application->areExceptionsCaught());
716
-
717
- $tester->run(['command' => 'foo'], ['decorated' => false]);
718
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception1.txt', $tester->getDisplay(true), '->setCatchExceptions() sets the catch exception flag');
719
-
720
- $tester->run(['command' => 'foo'], ['decorated' => false, 'capture_stderr_separately' => true]);
721
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception1.txt', $tester->getErrorOutput(true), '->setCatchExceptions() sets the catch exception flag');
722
- $this->assertSame('', $tester->getDisplay(true));
723
-
724
- $application->setCatchExceptions(false);
725
- try {
726
- $tester->run(['command' => 'foo'], ['decorated' => false]);
727
- $this->fail('->setCatchExceptions() sets the catch exception flag');
728
- } catch (\Exception $e) {
729
- $this->assertInstanceOf('\Exception', $e, '->setCatchExceptions() sets the catch exception flag');
730
- $this->assertEquals('Command "foo" is not defined.', $e->getMessage(), '->setCatchExceptions() sets the catch exception flag');
731
- }
732
- }
733
-
734
- public function testAutoExitSetting()
735
- {
736
- $application = new Application();
737
- $this->assertTrue($application->isAutoExitEnabled());
738
-
739
- $application->setAutoExit(false);
740
- $this->assertFalse($application->isAutoExitEnabled());
741
- }
742
-
743
- public function testRenderException()
744
- {
745
- $application = new Application();
746
- $application->setAutoExit(false);
747
- putenv('COLUMNS=120');
748
- $tester = new ApplicationTester($application);
749
-
750
- $tester->run(['command' => 'foo'], ['decorated' => false, 'capture_stderr_separately' => true]);
751
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception1.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exception');
752
-
753
- $tester->run(['command' => 'foo'], ['decorated' => false, 'verbosity' => Output::VERBOSITY_VERBOSE, 'capture_stderr_separately' => true]);
754
- $this->assertContains('Exception trace', $tester->getErrorOutput(), '->renderException() renders a pretty exception with a stack trace when verbosity is verbose');
755
-
756
- $tester->run(['command' => 'list', '--foo' => true], ['decorated' => false, 'capture_stderr_separately' => true]);
757
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception2.txt', $tester->getErrorOutput(true), '->renderException() renders the command synopsis when an exception occurs in the context of a command');
758
-
759
- $application->add(new \Foo3Command());
760
- $tester = new ApplicationTester($application);
761
- $tester->run(['command' => 'foo3:bar'], ['decorated' => false, 'capture_stderr_separately' => true]);
762
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception3.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
763
-
764
- $tester->run(['command' => 'foo3:bar'], ['decorated' => false, 'verbosity' => Output::VERBOSITY_VERBOSE]);
765
- $this->assertRegExp('/\[Exception\]\s*First exception/', $tester->getDisplay(), '->renderException() renders a pretty exception without code exception when code exception is default and verbosity is verbose');
766
- $this->assertRegExp('/\[Exception\]\s*Second exception/', $tester->getDisplay(), '->renderException() renders a pretty exception without code exception when code exception is 0 and verbosity is verbose');
767
- $this->assertRegExp('/\[Exception \(404\)\]\s*Third exception/', $tester->getDisplay(), '->renderException() renders a pretty exception with code exception when code exception is 404 and verbosity is verbose');
768
-
769
- $tester->run(['command' => 'foo3:bar'], ['decorated' => true]);
770
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception3decorated.txt', $tester->getDisplay(true), '->renderException() renders a pretty exceptions with previous exceptions');
771
-
772
- $tester->run(['command' => 'foo3:bar'], ['decorated' => true, 'capture_stderr_separately' => true]);
773
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception3decorated.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
774
-
775
- $application = new Application();
776
- $application->setAutoExit(false);
777
- putenv('COLUMNS=32');
778
- $tester = new ApplicationTester($application);
779
-
780
- $tester->run(['command' => 'foo'], ['decorated' => false, 'capture_stderr_separately' => true]);
781
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_renderexception4.txt', $tester->getErrorOutput(true), '->renderException() wraps messages when they are bigger than the terminal');
782
- putenv('COLUMNS=120');
783
- }
784
-
785
- public function testRenderExceptionWithDoubleWidthCharacters()
786
- {
787
- $application = new Application();
788
- $application->setAutoExit(false);
789
- putenv('COLUMNS=120');
790
- $application->register('foo')->setCode(function () {
791
- throw new \Exception('エラーメッセージ');
792
- });
793
- $tester = new ApplicationTester($application);
794
-
795
- $tester->run(['command' => 'foo'], ['decorated' => false, 'capture_stderr_separately' => true]);
796
- $this->assertStringMatchesFormatFile(self::$fixturesPath.'/application_renderexception_doublewidth1.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
797
-
798
- $tester->run(['command' => 'foo'], ['decorated' => true, 'capture_stderr_separately' => true]);
799
- $this->assertStringMatchesFormatFile(self::$fixturesPath.'/application_renderexception_doublewidth1decorated.txt', $tester->getErrorOutput(true), '->renderException() renders a pretty exceptions with previous exceptions');
800
-
801
- $application = new Application();
802
- $application->setAutoExit(false);
803
- putenv('COLUMNS=32');
804
- $application->register('foo')->setCode(function () {
805
- throw new \Exception('コマンドの実行中にエラーが発生しました。');
806
- });
807
- $tester = new ApplicationTester($application);
808
- $tester->run(['command' => 'foo'], ['decorated' => false, 'capture_stderr_separately' => true]);
809
- $this->assertStringMatchesFormatFile(self::$fixturesPath.'/application_renderexception_doublewidth2.txt', $tester->getErrorOutput(true), '->renderException() wraps messages when they are bigger than the terminal');
810
- putenv('COLUMNS=120');
811
- }
812
-
813
- public function testRenderExceptionEscapesLines()
814
- {
815
- $application = new Application();
816
- $application->setAutoExit(false);
817
- putenv('COLUMNS=22');
818
- $application->register('foo')->setCode(function () {
819
- throw new \Exception('dont break here <info>!</info>');
820
- });
821
- $tester = new ApplicationTester($application);
822
-
823
- $tester->run(['command' => 'foo'], ['decorated' => false]);
824
- $this->assertStringMatchesFormatFile(self::$fixturesPath.'/application_renderexception_escapeslines.txt', $tester->getDisplay(true), '->renderException() escapes lines containing formatting');
825
- putenv('COLUMNS=120');
826
- }
827
-
828
- public function testRenderExceptionLineBreaks()
829
- {
830
- $application = $this->getMockBuilder('Symfony\Component\Console\Application')->setMethods(['getTerminalWidth'])->getMock();
831
- $application->setAutoExit(false);
832
- $application->expects($this->any())
833
- ->method('getTerminalWidth')
834
- ->will($this->returnValue(120));
835
- $application->register('foo')->setCode(function () {
836
- throw new \InvalidArgumentException("\n\nline 1 with extra spaces \nline 2\n\nline 4\n");
837
- });
838
- $tester = new ApplicationTester($application);
839
-
840
- $tester->run(['command' => 'foo'], ['decorated' => false]);
841
- $this->assertStringMatchesFormatFile(self::$fixturesPath.'/application_renderexception_linebreaks.txt', $tester->getDisplay(true), '->renderException() keep multiple line breaks');
842
- }
843
-
844
- public function testRenderAnonymousException()
845
- {
846
- $application = new Application();
847
- $application->setAutoExit(false);
848
- $application->register('foo')->setCode(function () {
849
- throw new class('') extends \InvalidArgumentException {
850
- };
851
- });
852
- $tester = new ApplicationTester($application);
853
-
854
- $tester->run(['command' => 'foo'], ['decorated' => false]);
855
- $this->assertContains('[InvalidArgumentException@anonymous]', $tester->getDisplay(true));
856
-
857
- $application = new Application();
858
- $application->setAutoExit(false);
859
- $application->register('foo')->setCode(function () {
860
- throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() {
861
- })));
862
- });
863
- $tester = new ApplicationTester($application);
864
-
865
- $tester->run(['command' => 'foo'], ['decorated' => false]);
866
- $this->assertContains('Dummy type "@anonymous" is invalid.', $tester->getDisplay(true));
867
- }
868
-
869
- public function testRenderExceptionStackTraceContainsRootException()
870
- {
871
- $application = new Application();
872
- $application->setAutoExit(false);
873
- $application->register('foo')->setCode(function () {
874
- throw new class('') extends \InvalidArgumentException {
875
- };
876
- });
877
- $tester = new ApplicationTester($application);
878
-
879
- $tester->run(['command' => 'foo'], ['decorated' => false]);
880
- $this->assertContains('[InvalidArgumentException@anonymous]', $tester->getDisplay(true));
881
-
882
- $application = new Application();
883
- $application->setAutoExit(false);
884
- $application->register('foo')->setCode(function () {
885
- throw new \InvalidArgumentException(sprintf('Dummy type "%s" is invalid.', \get_class(new class() {
886
- })));
887
- });
888
- $tester = new ApplicationTester($application);
889
-
890
- $tester->run(['command' => 'foo'], ['decorated' => false]);
891
- $this->assertContains('Dummy type "@anonymous" is invalid.', $tester->getDisplay(true));
892
- }
893
-
894
- public function testRun()
895
- {
896
- $application = new Application();
897
- $application->setAutoExit(false);
898
- $application->setCatchExceptions(false);
899
- $application->add($command = new \Foo1Command());
900
- $_SERVER['argv'] = ['cli.php', 'foo:bar1'];
901
-
902
- ob_start();
903
- $application->run();
904
- ob_end_clean();
905
-
906
- $this->assertInstanceOf('Symfony\Component\Console\Input\ArgvInput', $command->input, '->run() creates an ArgvInput by default if none is given');
907
- $this->assertInstanceOf('Symfony\Component\Console\Output\ConsoleOutput', $command->output, '->run() creates a ConsoleOutput by default if none is given');
908
-
909
- $application = new Application();
910
- $application->setAutoExit(false);
911
- $application->setCatchExceptions(false);
912
-
913
- $this->ensureStaticCommandHelp($application);
914
- $tester = new ApplicationTester($application);
915
-
916
- $tester->run([], ['decorated' => false]);
917
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_run1.txt', $tester->getDisplay(true), '->run() runs the list command if no argument is passed');
918
-
919
- $tester->run(['--help' => true], ['decorated' => false]);
920
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_run2.txt', $tester->getDisplay(true), '->run() runs the help command if --help is passed');
921
-
922
- $tester->run(['-h' => true], ['decorated' => false]);
923
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_run2.txt', $tester->getDisplay(true), '->run() runs the help command if -h is passed');
924
-
925
- $tester->run(['command' => 'list', '--help' => true], ['decorated' => false]);
926
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_run3.txt', $tester->getDisplay(true), '->run() displays the help if --help is passed');
927
-
928
- $tester->run(['command' => 'list', '-h' => true], ['decorated' => false]);
929
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_run3.txt', $tester->getDisplay(true), '->run() displays the help if -h is passed');
930
-
931
- $tester->run(['--ansi' => true]);
932
- $this->assertTrue($tester->getOutput()->isDecorated(), '->run() forces color output if --ansi is passed');
933
-
934
- $tester->run(['--no-ansi' => true]);
935
- $this->assertFalse($tester->getOutput()->isDecorated(), '->run() forces color output to be disabled if --no-ansi is passed');
936
-
937
- $tester->run(['--version' => true], ['decorated' => false]);
938
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_run4.txt', $tester->getDisplay(true), '->run() displays the program version if --version is passed');
939
-
940
- $tester->run(['-V' => true], ['decorated' => false]);
941
- $this->assertStringEqualsFile(self::$fixturesPath.'/application_run4.txt', $tester->getDisplay(true), '->run() displays the program version if -v is passed');
942
-
943
- $tester->run(['command' => 'list', '--quiet' => true]);
944
- $this->assertSame('', $tester->getDisplay(), '->run() removes all output if --quiet is passed');
945
- $this->assertFalse($tester->getInput()->isInteractive(), '->run() sets off the interactive mode if --quiet is passed');
946
-
947
- $tester->run(['command' => 'list', '-q' => true]);
948
- $this->assertSame('', $tester->getDisplay(), '->run() removes all output if -q is passed');
949
- $this->assertFalse($tester->getInput()->isInteractive(), '->run() sets off the interactive mode if -q is passed');
950
-
951
- $tester->run(['command' => 'list', '--verbose' => true]);
952
- $this->assertSame(Output::VERBOSITY_VERBOSE, $tester->getOutput()->getVerbosity(), '->run() sets the output to verbose if --verbose is passed');
953
-
954
- $tester->run(['command' => 'list', '--verbose' => 1]);
955
- $this->assertSame(Output::VERBOSITY_VERBOSE, $tester->getOutput()->getVerbosity(), '->run() sets the output to verbose if --verbose=1 is passed');
956
-
957
- $tester->run(['command' => 'list', '--verbose' => 2]);
958
- $this->assertSame(Output::VERBOSITY_VERY_VERBOSE, $tester->getOutput()->getVerbosity(), '->run() sets the output to very verbose if --verbose=2 is passed');
959
-
960
- $tester->run(['command' => 'list', '--verbose' => 3]);
961
- $this->assertSame(Output::VERBOSITY_DEBUG, $tester->getOutput()->getVerbosity(), '->run() sets the output to debug if --verbose=3 is passed');
962
-
963
- $tester->run(['command' => 'list', '--verbose' => 4]);
964
- $this->assertSame(Output::VERBOSITY_VERBOSE, $tester->getOutput()->getVerbosity(), '->run() sets the output to verbose if unknown --verbose level is passed');
965
-
966
- $tester->run(['command' => 'list', '-v' => true]);
967
- $this->assertSame(Output::VERBOSITY_VERBOSE, $tester->getOutput()->getVerbosity(), '->run() sets the output to verbose if -v is passed');
968
-
969
- $tester->run(['command' => 'list', '-vv' => true]);
970
- $this->assertSame(Output::VERBOSITY_VERY_VERBOSE, $tester->getOutput()->getVerbosity(), '->run() sets the output to verbose if -v is passed');
971
-
972
- $tester->run(['command' => 'list', '-vvv' => true]);
973
- $this->assertSame(Output::VERBOSITY_DEBUG, $tester->getOutput()->getVerbosity(), '->run() sets the output to verbose if -v is passed');
974
-
975
- $application = new Application();
976
- $application->setAutoExit(false);
977
- $application->setCatchExceptions(false);
978
- $application->add(new \FooCommand());
979
- $tester = new ApplicationTester($application);
980
-
981
- $tester->run(['command' => 'foo:bar', '--no-interaction' => true], ['decorated' => false]);
982
- $this->assertSame('called'.PHP_EOL, $tester->getDisplay(), '->run() does not call interact() if --no-interaction is passed');
983
-
984
- $tester->run(['command' => 'foo:bar', '-n' => true], ['decorated' => false]);
985
- $this->assertSame('called'.PHP_EOL, $tester->getDisplay(), '->run() does not call interact() if -n is passed');
986
- }
987
-
988
- public function testRunWithGlobalOptionAndNoCommand()
989
- {
990
- $application = new Application();
991
- $application->setAutoExit(false);
992
- $application->setCatchExceptions(false);
993
- $application->getDefinition()->addOption(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL));
994
-
995
- $output = new StreamOutput(fopen('php://memory', 'w', false));
996
- $input = new ArgvInput(['cli.php', '--foo', 'bar']);
997
-
998
- $this->assertSame(0, $application->run($input, $output));
999
- }
1000
-
1001
- /**
1002
- * Issue #9285.
1003
- *
1004
- * If the "verbose" option is just before an argument in ArgvInput,
1005
- * an argument value should not be treated as verbosity value.
1006
- * This test will fail with "Not enough arguments." if broken
1007
- */
1008
- public function testVerboseValueNotBreakArguments()
1009
- {
1010
- $application = new Application();
1011
- $application->setAutoExit(false);
1012
- $application->setCatchExceptions(false);
1013
- $application->add(new \FooCommand());
1014
-
1015
- $output = new StreamOutput(fopen('php://memory', 'w', false));
1016
-
1017
- $input = new ArgvInput(['cli.php', '-v', 'foo:bar']);
1018
- $application->run($input, $output);
1019
-
1020
- $this->addToAssertionCount(1);
1021
-
1022
- $input = new ArgvInput(['cli.php', '--verbose', 'foo:bar']);
1023
- $application->run($input, $output);
1024
-
1025
- $this->addToAssertionCount(1);
1026
- }
1027
-
1028
- public function testRunReturnsIntegerExitCode()
1029
- {
1030
- $exception = new \Exception('', 4);
1031
-
1032
- $application = $this->getMockBuilder('Symfony\Component\Console\Application')->setMethods(['doRun'])->getMock();
1033
- $application->setAutoExit(false);
1034
- $application->expects($this->once())
1035
- ->method('doRun')
1036
- ->willThrowException($exception);
1037
-
1038
- $exitCode = $application->run(new ArrayInput([]), new NullOutput());
1039
-
1040
- $this->assertSame(4, $exitCode, '->run() returns integer exit code extracted from raised exception');
1041
- }
1042
-
1043
- public function testRunDispatchesIntegerExitCode()
1044
- {
1045
- $passedRightValue = false;
1046
-
1047
- // We can assume here that some other test asserts that the event is dispatched at all
1048
- $dispatcher = new EventDispatcher();
1049
- $dispatcher->addListener('console.terminate', function (ConsoleTerminateEvent $event) use (&$passedRightValue) {
1050
- $passedRightValue = (4 === $event->getExitCode());
1051
- });
1052
-
1053
- $application = new Application();
1054
- $application->setDispatcher($dispatcher);
1055
- $application->setAutoExit(false);
1056
-
1057
- $application->register('test')->setCode(function (InputInterface $input, OutputInterface $output) {
1058
- throw new \Exception('', 4);
1059
- });
1060
-
1061
- $tester = new ApplicationTester($application);
1062
- $tester->run(['command' => 'test']);
1063
-
1064
- $this->assertTrue($passedRightValue, '-> exit code 4 was passed in the console.terminate event');
1065
- }
1066
-
1067
- public function testRunReturnsExitCodeOneForExceptionCodeZero()
1068
- {
1069
- $exception = new \Exception('', 0);
1070
-
1071
- $application = $this->getMockBuilder('Symfony\Component\Console\Application')->setMethods(['doRun'])->getMock();
1072
- $application->setAutoExit(false);
1073
- $application->expects($this->once())
1074
- ->method('doRun')
1075
- ->willThrowException($exception);
1076
-
1077
- $exitCode = $application->run(new ArrayInput([]), new NullOutput());
1078
-
1079
- $this->assertSame(1, $exitCode, '->run() returns exit code 1 when exception code is 0');
1080
- }
1081
-
1082
- public function testRunDispatchesExitCodeOneForExceptionCodeZero()
1083
- {
1084
- $passedRightValue = false;
1085
-
1086
- // We can assume here that some other test asserts that the event is dispatched at all
1087
- $dispatcher = new EventDispatcher();
1088
- $dispatcher->addListener('console.terminate', function (ConsoleTerminateEvent $event) use (&$passedRightValue) {
1089
- $passedRightValue = (1 === $event->getExitCode());
1090
- });
1091
-
1092
- $application = new Application();
1093
- $application->setDispatcher($dispatcher);
1094
- $application->setAutoExit(false);
1095
-
1096
- $application->register('test')->setCode(function (InputInterface $input, OutputInterface $output) {
1097
- throw new \Exception();
1098
- });
1099
-
1100
- $tester = new ApplicationTester($application);
1101
- $tester->run(['command' => 'test']);
1102
-
1103
- $this->assertTrue($passedRightValue, '-> exit code 1 was passed in the console.terminate event');
1104
- }
1105
-
1106
- /**
1107
- * @expectedException \LogicException
1108
- * @expectedExceptionMessage An option with shortcut "e" already exists.
1109
- */
1110
- public function testAddingOptionWithDuplicateShortcut()
1111
- {
1112
- $dispatcher = new EventDispatcher();
1113
- $application = new Application();
1114
- $application->setAutoExit(false);
1115
- $application->setCatchExceptions(false);
1116
- $application->setDispatcher($dispatcher);
1117
-
1118
- $application->getDefinition()->addOption(new InputOption('--env', '-e', InputOption::VALUE_REQUIRED, 'Environment'));
1119
-
1120
- $application
1121
- ->register('foo')
1122
- ->setAliases(['f'])
1123
- ->setDefinition([new InputOption('survey', 'e', InputOption::VALUE_REQUIRED, 'My option with a shortcut.')])
1124
- ->setCode(function (InputInterface $input, OutputInterface $output) {})
1125
- ;
1126
-
1127
- $input = new ArrayInput(['command' => 'foo']);
1128
- $output = new NullOutput();
1129
-
1130
- $application->run($input, $output);
1131
- }
1132
-
1133
- /**
1134
- * @expectedException \LogicException
1135
- * @dataProvider getAddingAlreadySetDefinitionElementData
1136
- */
1137
- public function testAddingAlreadySetDefinitionElementData($def)
1138
- {
1139
- $application = new Application();
1140
- $application->setAutoExit(false);
1141
- $application->setCatchExceptions(false);
1142
- $application
1143
- ->register('foo')
1144
- ->setDefinition([$def])
1145
- ->setCode(function (InputInterface $input, OutputInterface $output) {})
1146
- ;
1147
-
1148
- $input = new ArrayInput(['command' => 'foo']);
1149
- $output = new NullOutput();
1150
- $application->run($input, $output);
1151
- }
1152
-
1153
- public function getAddingAlreadySetDefinitionElementData()
1154
- {
1155
- return [
1156
- [new InputArgument('command', InputArgument::REQUIRED)],
1157
- [new InputOption('quiet', '', InputOption::VALUE_NONE)],
1158
- [new InputOption('query', 'q', InputOption::VALUE_NONE)],
1159
- ];
1160
- }
1161
-
1162
- public function testGetDefaultHelperSetReturnsDefaultValues()
1163
- {
1164
- $application = new Application();
1165
- $application->setAutoExit(false);
1166
- $application->setCatchExceptions(false);
1167
-
1168
- $helperSet = $application->getHelperSet();
1169
-
1170
- $this->assertTrue($helperSet->has('formatter'));
1171
- }
1172
-
1173
- public function testAddingSingleHelperSetOverwritesDefaultValues()
1174
- {
1175
- $application = new Application();
1176
- $application->setAutoExit(false);
1177
- $application->setCatchExceptions(false);
1178
-
1179
- $application->setHelperSet(new HelperSet([new FormatterHelper()]));
1180
-
1181
- $helperSet = $application->getHelperSet();
1182
-
1183
- $this->assertTrue($helperSet->has('formatter'));
1184
-
1185
- // no other default helper set should be returned
1186
- $this->assertFalse($helperSet->has('dialog'));
1187
- $this->assertFalse($helperSet->has('progress'));
1188
- }
1189
-
1190
- public function testOverwritingDefaultHelperSetOverwritesDefaultValues()
1191
- {
1192
- $application = new CustomApplication();
1193
- $application->setAutoExit(false);
1194
- $application->setCatchExceptions(false);
1195
-
1196
- $application->setHelperSet(new HelperSet([new FormatterHelper()]));
1197
-
1198
- $helperSet = $application->getHelperSet();
1199
-
1200
- $this->assertTrue($helperSet->has('formatter'));
1201
-
1202
- // no other default helper set should be returned
1203
- $this->assertFalse($helperSet->has('dialog'));
1204
- $this->assertFalse($helperSet->has('progress'));
1205
- }
1206
-
1207
- public function testGetDefaultInputDefinitionReturnsDefaultValues()
1208
- {
1209
- $application = new Application();
1210
- $application->setAutoExit(false);
1211
- $application->setCatchExceptions(false);
1212
-
1213
- $inputDefinition = $application->getDefinition();
1214
-
1215
- $this->assertTrue($inputDefinition->hasArgument('command'));
1216
-
1217
- $this->assertTrue($inputDefinition->hasOption('help'));
1218
- $this->assertTrue($inputDefinition->hasOption('quiet'));
1219
- $this->assertTrue($inputDefinition->hasOption('verbose'));
1220
- $this->assertTrue($inputDefinition->hasOption('version'));
1221
- $this->assertTrue($inputDefinition->hasOption('ansi'));
1222
- $this->assertTrue($inputDefinition->hasOption('no-ansi'));
1223
- $this->assertTrue($inputDefinition->hasOption('no-interaction'));
1224
- }
1225
-
1226
- public function testOverwritingDefaultInputDefinitionOverwritesDefaultValues()
1227
- {
1228
- $application = new CustomApplication();
1229
- $application->setAutoExit(false);
1230
- $application->setCatchExceptions(false);
1231
-
1232
- $inputDefinition = $application->getDefinition();
1233
-
1234
- // check whether the default arguments and options are not returned any more
1235
- $this->assertFalse($inputDefinition->hasArgument('command'));
1236
-
1237
- $this->assertFalse($inputDefinition->hasOption('help'));
1238
- $this->assertFalse($inputDefinition->hasOption('quiet'));
1239
- $this->assertFalse($inputDefinition->hasOption('verbose'));
1240
- $this->assertFalse($inputDefinition->hasOption('version'));
1241
- $this->assertFalse($inputDefinition->hasOption('ansi'));
1242
- $this->assertFalse($inputDefinition->hasOption('no-ansi'));
1243
- $this->assertFalse($inputDefinition->hasOption('no-interaction'));
1244
-
1245
- $this->assertTrue($inputDefinition->hasOption('custom'));
1246
- }
1247
-
1248
- public function testSettingCustomInputDefinitionOverwritesDefaultValues()
1249
- {
1250
- $application = new Application();
1251
- $application->setAutoExit(false);
1252
- $application->setCatchExceptions(false);
1253
-
1254
- $application->setDefinition(new InputDefinition([new InputOption('--custom', '-c', InputOption::VALUE_NONE, 'Set the custom input definition.')]));
1255
-
1256
- $inputDefinition = $application->getDefinition();
1257
-
1258
- // check whether the default arguments and options are not returned any more
1259
- $this->assertFalse($inputDefinition->hasArgument('command'));
1260
-
1261
- $this->assertFalse($inputDefinition->hasOption('help'));
1262
- $this->assertFalse($inputDefinition->hasOption('quiet'));
1263
- $this->assertFalse($inputDefinition->hasOption('verbose'));
1264
- $this->assertFalse($inputDefinition->hasOption('version'));
1265
- $this->assertFalse($inputDefinition->hasOption('ansi'));
1266
- $this->assertFalse($inputDefinition->hasOption('no-ansi'));
1267
- $this->assertFalse($inputDefinition->hasOption('no-interaction'));
1268
-
1269
- $this->assertTrue($inputDefinition->hasOption('custom'));
1270
- }
1271
-
1272
- public function testRunWithDispatcher()
1273
- {
1274
- $application = new Application();
1275
- $application->setAutoExit(false);
1276
- $application->setDispatcher($this->getDispatcher());
1277
-
1278
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1279
- $output->write('foo.');
1280
- });
1281
-
1282
- $tester = new ApplicationTester($application);
1283
- $tester->run(['command' => 'foo']);
1284
- $this->assertEquals('before.foo.after.'.PHP_EOL, $tester->getDisplay());
1285
- }
1286
-
1287
- /**
1288
- * @expectedException \LogicException
1289
- * @expectedExceptionMessage error
1290
- */
1291
- public function testRunWithExceptionAndDispatcher()
1292
- {
1293
- $application = new Application();
1294
- $application->setDispatcher($this->getDispatcher());
1295
- $application->setAutoExit(false);
1296
- $application->setCatchExceptions(false);
1297
-
1298
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1299
- throw new \RuntimeException('foo');
1300
- });
1301
-
1302
- $tester = new ApplicationTester($application);
1303
- $tester->run(['command' => 'foo']);
1304
- }
1305
-
1306
- public function testRunDispatchesAllEventsWithException()
1307
- {
1308
- $application = new Application();
1309
- $application->setDispatcher($this->getDispatcher());
1310
- $application->setAutoExit(false);
1311
-
1312
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1313
- $output->write('foo.');
1314
-
1315
- throw new \RuntimeException('foo');
1316
- });
1317
-
1318
- $tester = new ApplicationTester($application);
1319
- $tester->run(['command' => 'foo']);
1320
- $this->assertContains('before.foo.error.after.', $tester->getDisplay());
1321
- }
1322
-
1323
- public function testRunDispatchesAllEventsWithExceptionInListener()
1324
- {
1325
- $dispatcher = $this->getDispatcher();
1326
- $dispatcher->addListener('console.command', function () {
1327
- throw new \RuntimeException('foo');
1328
- });
1329
-
1330
- $application = new Application();
1331
- $application->setDispatcher($dispatcher);
1332
- $application->setAutoExit(false);
1333
-
1334
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1335
- $output->write('foo.');
1336
- });
1337
-
1338
- $tester = new ApplicationTester($application);
1339
- $tester->run(['command' => 'foo']);
1340
- $this->assertContains('before.error.after.', $tester->getDisplay());
1341
- }
1342
-
1343
- public function testRunWithError()
1344
- {
1345
- $application = new Application();
1346
- $application->setAutoExit(false);
1347
- $application->setCatchExceptions(false);
1348
-
1349
- $application->register('dym')->setCode(function (InputInterface $input, OutputInterface $output) {
1350
- $output->write('dym.');
1351
-
1352
- throw new \Error('dymerr');
1353
- });
1354
-
1355
- $tester = new ApplicationTester($application);
1356
-
1357
- try {
1358
- $tester->run(['command' => 'dym']);
1359
- $this->fail('Error expected.');
1360
- } catch (\Error $e) {
1361
- $this->assertSame('dymerr', $e->getMessage());
1362
- }
1363
- }
1364
-
1365
- public function testRunAllowsErrorListenersToSilenceTheException()
1366
- {
1367
- $dispatcher = $this->getDispatcher();
1368
- $dispatcher->addListener('console.error', function (ConsoleErrorEvent $event) {
1369
- $event->getOutput()->write('silenced.');
1370
-
1371
- $event->setExitCode(0);
1372
- });
1373
-
1374
- $dispatcher->addListener('console.command', function () {
1375
- throw new \RuntimeException('foo');
1376
- });
1377
-
1378
- $application = new Application();
1379
- $application->setDispatcher($dispatcher);
1380
- $application->setAutoExit(false);
1381
-
1382
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1383
- $output->write('foo.');
1384
- });
1385
-
1386
- $tester = new ApplicationTester($application);
1387
- $tester->run(['command' => 'foo']);
1388
- $this->assertContains('before.error.silenced.after.', $tester->getDisplay());
1389
- $this->assertEquals(ConsoleCommandEvent::RETURN_CODE_DISABLED, $tester->getStatusCode());
1390
- }
1391
-
1392
- public function testConsoleErrorEventIsTriggeredOnCommandNotFound()
1393
- {
1394
- $dispatcher = new EventDispatcher();
1395
- $dispatcher->addListener('console.error', function (ConsoleErrorEvent $event) {
1396
- $this->assertNull($event->getCommand());
1397
- $this->assertInstanceOf(CommandNotFoundException::class, $event->getError());
1398
- $event->getOutput()->write('silenced command not found');
1399
- });
1400
-
1401
- $application = new Application();
1402
- $application->setDispatcher($dispatcher);
1403
- $application->setAutoExit(false);
1404
-
1405
- $tester = new ApplicationTester($application);
1406
- $tester->run(['command' => 'unknown']);
1407
- $this->assertContains('silenced command not found', $tester->getDisplay());
1408
- $this->assertEquals(1, $tester->getStatusCode());
1409
- }
1410
-
1411
- public function testErrorIsRethrownIfNotHandledByConsoleErrorEvent()
1412
- {
1413
- $application = new Application();
1414
- $application->setAutoExit(false);
1415
- $application->setCatchExceptions(false);
1416
- $application->setDispatcher(new EventDispatcher());
1417
-
1418
- $application->register('dym')->setCode(function (InputInterface $input, OutputInterface $output) {
1419
- new \UnknownClass();
1420
- });
1421
-
1422
- $tester = new ApplicationTester($application);
1423
-
1424
- try {
1425
- $tester->run(['command' => 'dym']);
1426
- $this->fail('->run() should rethrow PHP errors if not handled via ConsoleErrorEvent.');
1427
- } catch (\Error $e) {
1428
- $this->assertSame($e->getMessage(), 'Class \'UnknownClass\' not found');
1429
- }
1430
- }
1431
-
1432
- /**
1433
- * @expectedException \LogicException
1434
- * @expectedExceptionMessage error
1435
- */
1436
- public function testRunWithErrorAndDispatcher()
1437
- {
1438
- $application = new Application();
1439
- $application->setDispatcher($this->getDispatcher());
1440
- $application->setAutoExit(false);
1441
- $application->setCatchExceptions(false);
1442
-
1443
- $application->register('dym')->setCode(function (InputInterface $input, OutputInterface $output) {
1444
- $output->write('dym.');
1445
-
1446
- throw new \Error('dymerr');
1447
- });
1448
-
1449
- $tester = new ApplicationTester($application);
1450
- $tester->run(['command' => 'dym']);
1451
- $this->assertContains('before.dym.error.after.', $tester->getDisplay(), 'The PHP Error did not dispached events');
1452
- }
1453
-
1454
- public function testRunDispatchesAllEventsWithError()
1455
- {
1456
- $application = new Application();
1457
- $application->setDispatcher($this->getDispatcher());
1458
- $application->setAutoExit(false);
1459
-
1460
- $application->register('dym')->setCode(function (InputInterface $input, OutputInterface $output) {
1461
- $output->write('dym.');
1462
-
1463
- throw new \Error('dymerr');
1464
- });
1465
-
1466
- $tester = new ApplicationTester($application);
1467
- $tester->run(['command' => 'dym']);
1468
- $this->assertContains('before.dym.error.after.', $tester->getDisplay(), 'The PHP Error did not dispached events');
1469
- }
1470
-
1471
- public function testRunWithErrorFailingStatusCode()
1472
- {
1473
- $application = new Application();
1474
- $application->setDispatcher($this->getDispatcher());
1475
- $application->setAutoExit(false);
1476
-
1477
- $application->register('dus')->setCode(function (InputInterface $input, OutputInterface $output) {
1478
- $output->write('dus.');
1479
-
1480
- throw new \Error('duserr');
1481
- });
1482
-
1483
- $tester = new ApplicationTester($application);
1484
- $tester->run(['command' => 'dus']);
1485
- $this->assertSame(1, $tester->getStatusCode(), 'Status code should be 1');
1486
- }
1487
-
1488
- public function testRunWithDispatcherSkippingCommand()
1489
- {
1490
- $application = new Application();
1491
- $application->setDispatcher($this->getDispatcher(true));
1492
- $application->setAutoExit(false);
1493
-
1494
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1495
- $output->write('foo.');
1496
- });
1497
-
1498
- $tester = new ApplicationTester($application);
1499
- $exitCode = $tester->run(['command' => 'foo']);
1500
- $this->assertContains('before.after.', $tester->getDisplay());
1501
- $this->assertEquals(ConsoleCommandEvent::RETURN_CODE_DISABLED, $exitCode);
1502
- }
1503
-
1504
- public function testRunWithDispatcherAccessingInputOptions()
1505
- {
1506
- $noInteractionValue = null;
1507
- $quietValue = null;
1508
-
1509
- $dispatcher = $this->getDispatcher();
1510
- $dispatcher->addListener('console.command', function (ConsoleCommandEvent $event) use (&$noInteractionValue, &$quietValue) {
1511
- $input = $event->getInput();
1512
-
1513
- $noInteractionValue = $input->getOption('no-interaction');
1514
- $quietValue = $input->getOption('quiet');
1515
- });
1516
-
1517
- $application = new Application();
1518
- $application->setDispatcher($dispatcher);
1519
- $application->setAutoExit(false);
1520
-
1521
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1522
- $output->write('foo.');
1523
- });
1524
-
1525
- $tester = new ApplicationTester($application);
1526
- $tester->run(['command' => 'foo', '--no-interaction' => true]);
1527
-
1528
- $this->assertTrue($noInteractionValue);
1529
- $this->assertFalse($quietValue);
1530
- }
1531
-
1532
- public function testRunWithDispatcherAddingInputOptions()
1533
- {
1534
- $extraValue = null;
1535
-
1536
- $dispatcher = $this->getDispatcher();
1537
- $dispatcher->addListener('console.command', function (ConsoleCommandEvent $event) use (&$extraValue) {
1538
- $definition = $event->getCommand()->getDefinition();
1539
- $input = $event->getInput();
1540
-
1541
- $definition->addOption(new InputOption('extra', null, InputOption::VALUE_REQUIRED));
1542
- $input->bind($definition);
1543
-
1544
- $extraValue = $input->getOption('extra');
1545
- });
1546
-
1547
- $application = new Application();
1548
- $application->setDispatcher($dispatcher);
1549
- $application->setAutoExit(false);
1550
-
1551
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1552
- $output->write('foo.');
1553
- });
1554
-
1555
- $tester = new ApplicationTester($application);
1556
- $tester->run(['command' => 'foo', '--extra' => 'some test value']);
1557
-
1558
- $this->assertEquals('some test value', $extraValue);
1559
- }
1560
-
1561
- public function testSetRunCustomDefaultCommand()
1562
- {
1563
- $command = new \FooCommand();
1564
-
1565
- $application = new Application();
1566
- $application->setAutoExit(false);
1567
- $application->add($command);
1568
- $application->setDefaultCommand($command->getName());
1569
-
1570
- $tester = new ApplicationTester($application);
1571
- $tester->run([], ['interactive' => false]);
1572
- $this->assertEquals('called'.PHP_EOL, $tester->getDisplay(), 'Application runs the default set command if different from \'list\' command');
1573
-
1574
- $application = new CustomDefaultCommandApplication();
1575
- $application->setAutoExit(false);
1576
-
1577
- $tester = new ApplicationTester($application);
1578
- $tester->run([], ['interactive' => false]);
1579
-
1580
- $this->assertEquals('called'.PHP_EOL, $tester->getDisplay(), 'Application runs the default set command if different from \'list\' command');
1581
- }
1582
-
1583
- public function testSetRunCustomDefaultCommandWithOption()
1584
- {
1585
- $command = new \FooOptCommand();
1586
-
1587
- $application = new Application();
1588
- $application->setAutoExit(false);
1589
- $application->add($command);
1590
- $application->setDefaultCommand($command->getName());
1591
-
1592
- $tester = new ApplicationTester($application);
1593
- $tester->run(['--fooopt' => 'opt'], ['interactive' => false]);
1594
-
1595
- $this->assertEquals('called'.PHP_EOL.'opt'.PHP_EOL, $tester->getDisplay(), 'Application runs the default set command if different from \'list\' command');
1596
- }
1597
-
1598
- public function testSetRunCustomSingleCommand()
1599
- {
1600
- $command = new \FooCommand();
1601
-
1602
- $application = new Application();
1603
- $application->setAutoExit(false);
1604
- $application->add($command);
1605
- $application->setDefaultCommand($command->getName(), true);
1606
-
1607
- $tester = new ApplicationTester($application);
1608
-
1609
- $tester->run([]);
1610
- $this->assertContains('called', $tester->getDisplay());
1611
-
1612
- $tester->run(['--help' => true]);
1613
- $this->assertContains('The foo:bar command', $tester->getDisplay());
1614
- }
1615
-
1616
- /**
1617
- * @requires function posix_isatty
1618
- */
1619
- public function testCanCheckIfTerminalIsInteractive()
1620
- {
1621
- $application = new CustomDefaultCommandApplication();
1622
- $application->setAutoExit(false);
1623
-
1624
- $tester = new ApplicationTester($application);
1625
- $tester->run(['command' => 'help']);
1626
-
1627
- $this->assertFalse($tester->getInput()->hasParameterOption(['--no-interaction', '-n']));
1628
-
1629
- $inputStream = $tester->getInput()->getStream();
1630
- $this->assertEquals($tester->getInput()->isInteractive(), @posix_isatty($inputStream));
1631
- }
1632
-
1633
- public function testRunLazyCommandService()
1634
- {
1635
- $container = new ContainerBuilder();
1636
- $container->addCompilerPass(new AddConsoleCommandPass());
1637
- $container
1638
- ->register('lazy-command', LazyCommand::class)
1639
- ->addTag('console.command', ['command' => 'lazy:command'])
1640
- ->addTag('console.command', ['command' => 'lazy:alias'])
1641
- ->addTag('console.command', ['command' => 'lazy:alias2']);
1642
- $container->compile();
1643
-
1644
- $application = new Application();
1645
- $application->setCommandLoader($container->get('console.command_loader'));
1646
- $application->setAutoExit(false);
1647
-
1648
- $tester = new ApplicationTester($application);
1649
-
1650
- $tester->run(['command' => 'lazy:command']);
1651
- $this->assertSame("lazy-command called\n", $tester->getDisplay(true));
1652
-
1653
- $tester->run(['command' => 'lazy:alias']);
1654
- $this->assertSame("lazy-command called\n", $tester->getDisplay(true));
1655
-
1656
- $tester->run(['command' => 'lazy:alias2']);
1657
- $this->assertSame("lazy-command called\n", $tester->getDisplay(true));
1658
-
1659
- $command = $application->get('lazy:command');
1660
- $this->assertSame(['lazy:alias', 'lazy:alias2'], $command->getAliases());
1661
- }
1662
-
1663
- /**
1664
- * @expectedException \Symfony\Component\Console\Exception\CommandNotFoundException
1665
- */
1666
- public function testGetDisabledLazyCommand()
1667
- {
1668
- $application = new Application();
1669
- $application->setCommandLoader(new FactoryCommandLoader(['disabled' => function () { return new DisabledCommand(); }]));
1670
- $application->get('disabled');
1671
- }
1672
-
1673
- public function testHasReturnsFalseForDisabledLazyCommand()
1674
- {
1675
- $application = new Application();
1676
- $application->setCommandLoader(new FactoryCommandLoader(['disabled' => function () { return new DisabledCommand(); }]));
1677
- $this->assertFalse($application->has('disabled'));
1678
- }
1679
-
1680
- public function testAllExcludesDisabledLazyCommand()
1681
- {
1682
- $application = new Application();
1683
- $application->setCommandLoader(new FactoryCommandLoader(['disabled' => function () { return new DisabledCommand(); }]));
1684
- $this->assertArrayNotHasKey('disabled', $application->all());
1685
- }
1686
-
1687
- protected function getDispatcher($skipCommand = false)
1688
- {
1689
- $dispatcher = new EventDispatcher();
1690
- $dispatcher->addListener('console.command', function (ConsoleCommandEvent $event) use ($skipCommand) {
1691
- $event->getOutput()->write('before.');
1692
-
1693
- if ($skipCommand) {
1694
- $event->disableCommand();
1695
- }
1696
- });
1697
- $dispatcher->addListener('console.terminate', function (ConsoleTerminateEvent $event) use ($skipCommand) {
1698
- $event->getOutput()->writeln('after.');
1699
-
1700
- if (!$skipCommand) {
1701
- $event->setExitCode(ConsoleCommandEvent::RETURN_CODE_DISABLED);
1702
- }
1703
- });
1704
- $dispatcher->addListener('console.error', function (ConsoleErrorEvent $event) {
1705
- $event->getOutput()->write('error.');
1706
-
1707
- $event->setError(new \LogicException('error.', $event->getExitCode(), $event->getError()));
1708
- });
1709
-
1710
- return $dispatcher;
1711
- }
1712
-
1713
- public function testErrorIsRethrownIfNotHandledByConsoleErrorEventWithCatchingEnabled()
1714
- {
1715
- $application = new Application();
1716
- $application->setAutoExit(false);
1717
- $application->setDispatcher(new EventDispatcher());
1718
-
1719
- $application->register('dym')->setCode(function (InputInterface $input, OutputInterface $output) {
1720
- new \UnknownClass();
1721
- });
1722
-
1723
- $tester = new ApplicationTester($application);
1724
-
1725
- try {
1726
- $tester->run(['command' => 'dym']);
1727
- $this->fail('->run() should rethrow PHP errors if not handled via ConsoleErrorEvent.');
1728
- } catch (\Error $e) {
1729
- $this->assertSame($e->getMessage(), 'Class \'UnknownClass\' not found');
1730
- }
1731
- }
1732
-
1733
- /**
1734
- * @expectedException \RuntimeException
1735
- * @expectedExceptionMessage foo
1736
- */
1737
- public function testThrowingErrorListener()
1738
- {
1739
- $dispatcher = $this->getDispatcher();
1740
- $dispatcher->addListener('console.error', function (ConsoleErrorEvent $event) {
1741
- throw new \RuntimeException('foo');
1742
- });
1743
-
1744
- $dispatcher->addListener('console.command', function () {
1745
- throw new \RuntimeException('bar');
1746
- });
1747
-
1748
- $application = new Application();
1749
- $application->setDispatcher($dispatcher);
1750
- $application->setAutoExit(false);
1751
- $application->setCatchExceptions(false);
1752
-
1753
- $application->register('foo')->setCode(function (InputInterface $input, OutputInterface $output) {
1754
- $output->write('foo.');
1755
- });
1756
-
1757
- $tester = new ApplicationTester($application);
1758
- $tester->run(['command' => 'foo']);
1759
- }
1760
- }
1761
-
1762
- class CustomApplication extends Application
1763
- {
1764
- /**
1765
- * Overwrites the default input definition.
1766
- *
1767
- * @return InputDefinition An InputDefinition instance
1768
- */
1769
- protected function getDefaultInputDefinition()
1770
- {
1771
- return new InputDefinition([new InputOption('--custom', '-c', InputOption::VALUE_NONE, 'Set the custom input definition.')]);
1772
- }
1773
-
1774
- /**
1775
- * Gets the default helper set with the helpers that should always be available.
1776
- *
1777
- * @return HelperSet A HelperSet instance
1778
- */
1779
- protected function getDefaultHelperSet()
1780
- {
1781
- return new HelperSet([new FormatterHelper()]);
1782
- }
1783
- }
1784
-
1785
- class CustomDefaultCommandApplication extends Application
1786
- {
1787
- /**
1788
- * Overwrites the constructor in order to set a different default command.
1789
- */
1790
- public function __construct()
1791
- {
1792
- parent::__construct();
1793
-
1794
- $command = new \FooCommand();
1795
- $this->add($command);
1796
- $this->setDefaultCommand($command->getName());
1797
- }
1798
- }
1799
-
1800
- class LazyCommand extends Command
1801
- {
1802
- public function execute(InputInterface $input, OutputInterface $output)
1803
- {
1804
- $output->writeln('lazy-command called');
1805
- }
1806
- }
1807
-
1808
- class DisabledCommand extends Command
1809
- {
1810
- public function isEnabled()
1811
- {
1812
- return false;
1813
- }
1814
- }