dependabot-composer 0.111.50 → 0.111.51

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 (903) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dependabot/composer/file_updater/lockfile_updater.rb +6 -0
  3. data/lib/dependabot/composer/update_checker/version_resolver.rb +6 -0
  4. metadata +4 -903
  5. data/helpers/vendor/autoload.php +0 -7
  6. data/helpers/vendor/bin/composer +0 -1
  7. data/helpers/vendor/bin/jsonlint +0 -1
  8. data/helpers/vendor/bin/validate-json +0 -1
  9. data/helpers/vendor/composer/ClassLoader.php +0 -445
  10. data/helpers/vendor/composer/LICENSE +0 -21
  11. data/helpers/vendor/composer/autoload_classmap.php +0 -9
  12. data/helpers/vendor/composer/autoload_files.php +0 -11
  13. data/helpers/vendor/composer/autoload_namespaces.php +0 -9
  14. data/helpers/vendor/composer/autoload_psr4.php +0 -26
  15. data/helpers/vendor/composer/autoload_real.php +0 -70
  16. data/helpers/vendor/composer/autoload_static.php +0 -128
  17. data/helpers/vendor/composer/ca-bundle/LICENSE +0 -19
  18. data/helpers/vendor/composer/ca-bundle/README.md +0 -85
  19. data/helpers/vendor/composer/ca-bundle/composer.json +0 -54
  20. data/helpers/vendor/composer/ca-bundle/res/cacert.pem +0 -3401
  21. data/helpers/vendor/composer/ca-bundle/src/CaBundle.php +0 -308
  22. data/helpers/vendor/composer/composer/.gitattributes +0 -12
  23. data/helpers/vendor/composer/composer/.github/CONTRIBUTING.md +0 -59
  24. data/helpers/vendor/composer/composer/.github/ISSUE_TEMPLATE.md +0 -25
  25. data/helpers/vendor/composer/composer/.gitignore +0 -11
  26. data/helpers/vendor/composer/composer/.php_cs +0 -58
  27. data/helpers/vendor/composer/composer/.travis.yml +0 -76
  28. data/helpers/vendor/composer/composer/CHANGELOG.md +0 -808
  29. data/helpers/vendor/composer/composer/LICENSE +0 -19
  30. data/helpers/vendor/composer/composer/PORTING_INFO +0 -39
  31. data/helpers/vendor/composer/composer/README.md +0 -62
  32. data/helpers/vendor/composer/composer/appveyor.yml +0 -33
  33. data/helpers/vendor/composer/composer/bin/compile +0 -31
  34. data/helpers/vendor/composer/composer/bin/composer +0 -62
  35. data/helpers/vendor/composer/composer/composer.json +0 -81
  36. data/helpers/vendor/composer/composer/composer.lock +0 -1800
  37. data/helpers/vendor/composer/composer/doc/00-intro.md +0 -156
  38. data/helpers/vendor/composer/composer/doc/01-basic-usage.md +0 -266
  39. data/helpers/vendor/composer/composer/doc/02-libraries.md +0 -153
  40. data/helpers/vendor/composer/composer/doc/03-cli.md +0 -931
  41. data/helpers/vendor/composer/composer/doc/04-schema.md +0 -924
  42. data/helpers/vendor/composer/composer/doc/05-repositories.md +0 -713
  43. data/helpers/vendor/composer/composer/doc/06-config.md +0 -277
  44. data/helpers/vendor/composer/composer/doc/07-community.md +0 -35
  45. data/helpers/vendor/composer/composer/doc/articles/aliases.md +0 -105
  46. data/helpers/vendor/composer/composer/doc/articles/autoloader-optimization.md +0 -111
  47. data/helpers/vendor/composer/composer/doc/articles/custom-installers.md +0 -204
  48. data/helpers/vendor/composer/composer/doc/articles/handling-private-packages-with-satis.md +0 -343
  49. data/helpers/vendor/composer/composer/doc/articles/http-basic-authentication.md +0 -59
  50. data/helpers/vendor/composer/composer/doc/articles/plugins.md +0 -285
  51. data/helpers/vendor/composer/composer/doc/articles/scripts.md +0 -304
  52. data/helpers/vendor/composer/composer/doc/articles/troubleshooting.md +0 -309
  53. data/helpers/vendor/composer/composer/doc/articles/vendor-binaries.md +0 -110
  54. data/helpers/vendor/composer/composer/doc/articles/versions.md +0 -230
  55. data/helpers/vendor/composer/composer/doc/dev/DefaultPolicy.md +0 -55
  56. data/helpers/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md +0 -50
  57. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md +0 -42
  58. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md +0 -19
  59. data/helpers/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md +0 -32
  60. data/helpers/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md +0 -4
  61. data/helpers/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md +0 -21
  62. data/helpers/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md +0 -21
  63. data/helpers/vendor/composer/composer/doc/faqs/why-can't-composer-load-repositories-recursively.md +0 -35
  64. data/helpers/vendor/composer/composer/doc/fixtures/fixtures.md +0 -22
  65. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json +0 -158
  66. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json +0 -50
  67. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json +0 -77
  68. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json +0 -50
  69. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json +0 -16
  70. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json +0 -22
  71. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json +0 -9
  72. data/helpers/vendor/composer/composer/phpunit.xml.dist +0 -35
  73. data/helpers/vendor/composer/composer/res/composer-repository-schema.json +0 -110
  74. data/helpers/vendor/composer/composer/res/composer-schema.json +0 -843
  75. data/helpers/vendor/composer/composer/src/Composer/Autoload/AutoloadGenerator.php +0 -1061
  76. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassLoader.php +0 -445
  77. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassMapGenerator.php +0 -222
  78. data/helpers/vendor/composer/composer/src/Composer/Cache.php +0 -251
  79. data/helpers/vendor/composer/composer/src/Composer/Command/AboutCommand.php +0 -46
  80. data/helpers/vendor/composer/composer/src/Composer/Command/ArchiveCommand.php +0 -166
  81. data/helpers/vendor/composer/composer/src/Composer/Command/BaseCommand.php +0 -181
  82. data/helpers/vendor/composer/composer/src/Composer/Command/BaseDependencyCommand.php +0 -255
  83. data/helpers/vendor/composer/composer/src/Composer/Command/CheckPlatformReqsCommand.php +0 -156
  84. data/helpers/vendor/composer/composer/src/Composer/Command/ClearCacheCommand.php +0 -74
  85. data/helpers/vendor/composer/composer/src/Composer/Command/ConfigCommand.php +0 -707
  86. data/helpers/vendor/composer/composer/src/Composer/Command/CreateProjectCommand.php +0 -385
  87. data/helpers/vendor/composer/composer/src/Composer/Command/DependsCommand.php +0 -57
  88. data/helpers/vendor/composer/composer/src/Composer/Command/DiagnoseCommand.php +0 -729
  89. data/helpers/vendor/composer/composer/src/Composer/Command/DumpAutoloadCommand.php +0 -88
  90. data/helpers/vendor/composer/composer/src/Composer/Command/ExecCommand.php +0 -97
  91. data/helpers/vendor/composer/composer/src/Composer/Command/GlobalCommand.php +0 -111
  92. data/helpers/vendor/composer/composer/src/Composer/Command/HomeCommand.php +0 -168
  93. data/helpers/vendor/composer/composer/src/Composer/Command/InitCommand.php +0 -808
  94. data/helpers/vendor/composer/composer/src/Composer/Command/InstallCommand.php +0 -124
  95. data/helpers/vendor/composer/composer/src/Composer/Command/LicensesCommand.php +0 -159
  96. data/helpers/vendor/composer/composer/src/Composer/Command/OutdatedCommand.php +0 -95
  97. data/helpers/vendor/composer/composer/src/Composer/Command/ProhibitsCommand.php +0 -57
  98. data/helpers/vendor/composer/composer/src/Composer/Command/RemoveCommand.php +0 -163
  99. data/helpers/vendor/composer/composer/src/Composer/Command/RequireCommand.php +0 -258
  100. data/helpers/vendor/composer/composer/src/Composer/Command/RunScriptCommand.php +0 -141
  101. data/helpers/vendor/composer/composer/src/Composer/Command/ScriptAliasCommand.php +0 -66
  102. data/helpers/vendor/composer/composer/src/Composer/Command/SearchCommand.php +0 -83
  103. data/helpers/vendor/composer/composer/src/Composer/Command/SelfUpdateCommand.php +0 -405
  104. data/helpers/vendor/composer/composer/src/Composer/Command/ShowCommand.php +0 -1015
  105. data/helpers/vendor/composer/composer/src/Composer/Command/StatusCommand.php +0 -214
  106. data/helpers/vendor/composer/composer/src/Composer/Command/SuggestsCommand.php +0 -152
  107. data/helpers/vendor/composer/composer/src/Composer/Command/UpdateCommand.php +0 -228
  108. data/helpers/vendor/composer/composer/src/Composer/Command/ValidateCommand.php +0 -172
  109. data/helpers/vendor/composer/composer/src/Composer/Compiler.php +0 -284
  110. data/helpers/vendor/composer/composer/src/Composer/Composer.php +0 -283
  111. data/helpers/vendor/composer/composer/src/Composer/Config.php +0 -461
  112. data/helpers/vendor/composer/composer/src/Composer/Config/ConfigSourceInterface.php +0 -91
  113. data/helpers/vendor/composer/composer/src/Composer/Config/JsonConfigSource.php +0 -267
  114. data/helpers/vendor/composer/composer/src/Composer/Console/Application.php +0 -481
  115. data/helpers/vendor/composer/composer/src/Composer/Console/HtmlOutputFormatter.php +0 -90
  116. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Decisions.php +0 -211
  117. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/DefaultPolicy.php +0 -285
  118. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php +0 -91
  119. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/InstallOperation.php +0 -66
  120. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php +0 -67
  121. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php +0 -67
  122. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/OperationInterface.php +0 -42
  123. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/SolverOperation.php +0 -50
  124. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UninstallOperation.php +0 -66
  125. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UpdateOperation.php +0 -80
  126. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/PolicyInterface.php +0 -27
  127. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php +0 -378
  128. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Problem.php +0 -253
  129. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Request.php +0 -78
  130. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule.php +0 -268
  131. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule2Literals.php +0 -113
  132. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php +0 -176
  133. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php +0 -372
  134. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetIterator.php +0 -94
  135. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchChain.php +0 -52
  136. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchGraph.php +0 -144
  137. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchNode.php +0 -113
  138. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php +0 -874
  139. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverBugException.php +0 -27
  140. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverProblemsException.php +0 -88
  141. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Transaction.php +0 -244
  142. data/helpers/vendor/composer/composer/src/Composer/Downloader/ArchiveDownloader.php +0 -135
  143. data/helpers/vendor/composer/composer/src/Composer/Downloader/ChangeReportInterface.php +0 -32
  144. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloadManager.php +0 -325
  145. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloaderInterface.php +0 -64
  146. data/helpers/vendor/composer/composer/src/Composer/Downloader/DvcsDownloaderInterface.php +0 -32
  147. data/helpers/vendor/composer/composer/src/Composer/Downloader/FileDownloader.php +0 -322
  148. data/helpers/vendor/composer/composer/src/Composer/Downloader/FilesystemException.php +0 -26
  149. data/helpers/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php +0 -116
  150. data/helpers/vendor/composer/composer/src/Composer/Downloader/GitDownloader.php +0 -516
  151. data/helpers/vendor/composer/composer/src/Composer/Downloader/GzipDownloader.php +0 -84
  152. data/helpers/vendor/composer/composer/src/Composer/Downloader/HgDownloader.php +0 -100
  153. data/helpers/vendor/composer/composer/src/Composer/Downloader/PathDownloader.php +0 -202
  154. data/helpers/vendor/composer/composer/src/Composer/Downloader/PearPackageExtractor.php +0 -266
  155. data/helpers/vendor/composer/composer/src/Composer/Downloader/PerforceDownloader.php +0 -114
  156. data/helpers/vendor/composer/composer/src/Composer/Downloader/PharDownloader.php +0 -36
  157. data/helpers/vendor/composer/composer/src/Composer/Downloader/RarDownloader.php +0 -91
  158. data/helpers/vendor/composer/composer/src/Composer/Downloader/SvnDownloader.php +0 -225
  159. data/helpers/vendor/composer/composer/src/Composer/Downloader/TarDownloader.php +0 -31
  160. data/helpers/vendor/composer/composer/src/Composer/Downloader/TransportException.php +0 -53
  161. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsCapableDownloaderInterface.php +0 -32
  162. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsDownloader.php +0 -293
  163. data/helpers/vendor/composer/composer/src/Composer/Downloader/XzDownloader.php +0 -60
  164. data/helpers/vendor/composer/composer/src/Composer/Downloader/ZipDownloader.php +0 -230
  165. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/Event.php +0 -103
  166. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php +0 -536
  167. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventSubscriberInterface.php +0 -48
  168. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/ScriptExecutionException.php +0 -20
  169. data/helpers/vendor/composer/composer/src/Composer/Exception/NoSslException.php +0 -20
  170. data/helpers/vendor/composer/composer/src/Composer/Factory.php +0 -653
  171. data/helpers/vendor/composer/composer/src/Composer/IO/BaseIO.php +0 -255
  172. data/helpers/vendor/composer/composer/src/Composer/IO/BufferIO.php +0 -59
  173. data/helpers/vendor/composer/composer/src/Composer/IO/ConsoleIO.php +0 -322
  174. data/helpers/vendor/composer/composer/src/Composer/IO/IOInterface.php +0 -207
  175. data/helpers/vendor/composer/composer/src/Composer/IO/NullIO.php +0 -129
  176. data/helpers/vendor/composer/composer/src/Composer/Installer.php +0 -1798
  177. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryInstaller.php +0 -214
  178. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryPresenceInterface.php +0 -30
  179. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallationManager.php +0 -326
  180. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvent.php +0 -161
  181. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvents.php +0 -43
  182. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerInterface.php +0 -79
  183. data/helpers/vendor/composer/composer/src/Composer/Installer/LibraryInstaller.php +0 -232
  184. data/helpers/vendor/composer/composer/src/Composer/Installer/MetapackageInstaller.php +0 -100
  185. data/helpers/vendor/composer/composer/src/Composer/Installer/NoopInstaller.php +0 -88
  186. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvent.php +0 -65
  187. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvents.php +0 -75
  188. data/helpers/vendor/composer/composer/src/Composer/Installer/PearBinaryInstaller.php +0 -144
  189. data/helpers/vendor/composer/composer/src/Composer/Installer/PearInstaller.php +0 -84
  190. data/helpers/vendor/composer/composer/src/Composer/Installer/PluginInstaller.php +0 -84
  191. data/helpers/vendor/composer/composer/src/Composer/Installer/ProjectInstaller.php +0 -99
  192. data/helpers/vendor/composer/composer/src/Composer/Installer/SuggestedPackagesReporter.php +0 -151
  193. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFile.php +0 -301
  194. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFormatter.php +0 -134
  195. data/helpers/vendor/composer/composer/src/Composer/Json/JsonManipulator.php +0 -521
  196. data/helpers/vendor/composer/composer/src/Composer/Json/JsonValidationException.php +0 -34
  197. data/helpers/vendor/composer/composer/src/Composer/Package/AliasPackage.php +0 -404
  198. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFilter.php +0 -44
  199. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFinder.php +0 -105
  200. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiveManager.php +0 -183
  201. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiverInterface.php +0 -43
  202. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/BaseExcludeFilter.php +0 -148
  203. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ComposerExcludeFilter.php +0 -31
  204. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/GitExcludeFilter.php +0 -79
  205. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/HgExcludeFilter.php +0 -107
  206. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/PharArchiver.php +0 -97
  207. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ZipArchiver.php +0 -74
  208. data/helpers/vendor/composer/composer/src/Composer/Package/BasePackage.php +0 -251
  209. data/helpers/vendor/composer/composer/src/Composer/Package/Comparer/Comparer.php +0 -129
  210. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackage.php +0 -199
  211. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackageInterface.php +0 -95
  212. data/helpers/vendor/composer/composer/src/Composer/Package/Dumper/ArrayDumper.php +0 -151
  213. data/helpers/vendor/composer/composer/src/Composer/Package/Link.php +0 -128
  214. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/EmptyConstraint.php +0 -24
  215. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php +0 -24
  216. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/MultiConstraint.php +0 -24
  217. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/SpecificConstraint.php +0 -24
  218. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/VersionConstraint.php +0 -24
  219. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php +0 -290
  220. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/InvalidPackageException.php +0 -46
  221. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/JsonLoader.php +0 -45
  222. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/LoaderInterface.php +0 -30
  223. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php +0 -264
  224. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ValidatingArrayLoader.php +0 -493
  225. data/helpers/vendor/composer/composer/src/Composer/Package/Locker.php +0 -438
  226. data/helpers/vendor/composer/composer/src/Composer/Package/Package.php +0 -612
  227. data/helpers/vendor/composer/composer/src/Composer/Package/PackageInterface.php +0 -361
  228. data/helpers/vendor/composer/composer/src/Composer/Package/RootAliasPackage.php +0 -173
  229. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackage.php +0 -136
  230. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackageInterface.php +0 -142
  231. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionGuesser.php +0 -302
  232. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php +0 -81
  233. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionSelector.php +0 -176
  234. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/Capability.php +0 -23
  235. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/CommandProvider.php +0 -33
  236. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capable.php +0 -43
  237. data/helpers/vendor/composer/composer/src/Composer/Plugin/CommandEvent.php +0 -88
  238. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginEvents.php +0 -61
  239. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginInterface.php +0 -39
  240. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginManager.php +0 -403
  241. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreCommandRunEvent.php +0 -68
  242. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreFileDownloadEvent.php +0 -78
  243. data/helpers/vendor/composer/composer/src/Composer/Question/StrictConfirmationQuestion.php +0 -94
  244. data/helpers/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php +0 -208
  245. data/helpers/vendor/composer/composer/src/Composer/Repository/ArtifactRepository.php +0 -167
  246. data/helpers/vendor/composer/composer/src/Composer/Repository/BaseRepository.php +0 -157
  247. data/helpers/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php +0 -829
  248. data/helpers/vendor/composer/composer/src/Composer/Repository/CompositeRepository.php +0 -164
  249. data/helpers/vendor/composer/composer/src/Composer/Repository/ConfigurableRepositoryInterface.php +0 -23
  250. data/helpers/vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php +0 -97
  251. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledArrayRepository.php +0 -24
  252. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledFilesystemRepository.php +0 -22
  253. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledRepositoryInterface.php +0 -24
  254. data/helpers/vendor/composer/composer/src/Composer/Repository/InvalidRepositoryException.php +0 -22
  255. data/helpers/vendor/composer/composer/src/Composer/Repository/PackageRepository.php +0 -61
  256. data/helpers/vendor/composer/composer/src/Composer/Repository/PathRepository.php +0 -190
  257. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/BaseChannelReader.php +0 -82
  258. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelInfo.php +0 -67
  259. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelReader.php +0 -101
  260. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest10Reader.php +0 -164
  261. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest11Reader.php +0 -139
  262. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyConstraint.php +0 -60
  263. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyInfo.php +0 -50
  264. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageDependencyParser.php +0 -317
  265. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageInfo.php +0 -94
  266. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ReleaseInfo.php +0 -50
  267. data/helpers/vendor/composer/composer/src/Composer/Repository/PearRepository.php +0 -198
  268. data/helpers/vendor/composer/composer/src/Composer/Repository/PlatformRepository.php +0 -342
  269. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryFactory.php +0 -169
  270. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryInterface.php +0 -74
  271. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryManager.php +0 -177
  272. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositorySecurityException.php +0 -22
  273. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/BitbucketDriver.php +0 -445
  274. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php +0 -238
  275. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitBitbucketDriver.php +0 -91
  276. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php +0 -222
  277. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitHubDriver.php +0 -472
  278. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitLabDriver.php +0 -511
  279. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgBitbucketDriver.php +0 -91
  280. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php +0 -230
  281. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/PerforceDriver.php +0 -181
  282. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/SvnDriver.php +0 -397
  283. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriver.php +0 -175
  284. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriverInterface.php +0 -117
  285. data/helpers/vendor/composer/composer/src/Composer/Repository/VcsRepository.php +0 -407
  286. data/helpers/vendor/composer/composer/src/Composer/Repository/VersionCacheInterface.php +0 -23
  287. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableArrayRepository.php +0 -66
  288. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableRepositoryInterface.php +0 -54
  289. data/helpers/vendor/composer/composer/src/Composer/Script/CommandEvent.php +0 -22
  290. data/helpers/vendor/composer/composer/src/Composer/Script/Event.php +0 -89
  291. data/helpers/vendor/composer/composer/src/Composer/Script/PackageEvent.php +0 -24
  292. data/helpers/vendor/composer/composer/src/Composer/Script/ScriptEvents.php +0 -193
  293. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Keys.php +0 -36
  294. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Versions.php +0 -75
  295. data/helpers/vendor/composer/composer/src/Composer/Util/AuthHelper.php +0 -63
  296. data/helpers/vendor/composer/composer/src/Composer/Util/Bitbucket.php +0 -245
  297. data/helpers/vendor/composer/composer/src/Composer/Util/ComposerMirror.php +0 -57
  298. data/helpers/vendor/composer/composer/src/Composer/Util/ConfigValidator.php +0 -191
  299. data/helpers/vendor/composer/composer/src/Composer/Util/ErrorHandler.php +0 -79
  300. data/helpers/vendor/composer/composer/src/Composer/Util/Filesystem.php +0 -715
  301. data/helpers/vendor/composer/composer/src/Composer/Util/Git.php +0 -374
  302. data/helpers/vendor/composer/composer/src/Composer/Util/GitHub.php +0 -180
  303. data/helpers/vendor/composer/composer/src/Composer/Util/GitLab.php +0 -163
  304. data/helpers/vendor/composer/composer/src/Composer/Util/Hg.php +0 -94
  305. data/helpers/vendor/composer/composer/src/Composer/Util/IniHelper.php +0 -64
  306. data/helpers/vendor/composer/composer/src/Composer/Util/NoProxyPattern.php +0 -147
  307. data/helpers/vendor/composer/composer/src/Composer/Util/Perforce.php +0 -581
  308. data/helpers/vendor/composer/composer/src/Composer/Util/Platform.php +0 -92
  309. data/helpers/vendor/composer/composer/src/Composer/Util/ProcessExecutor.php +0 -192
  310. data/helpers/vendor/composer/composer/src/Composer/Util/RemoteFilesystem.php +0 -1109
  311. data/helpers/vendor/composer/composer/src/Composer/Util/Silencer.php +0 -78
  312. data/helpers/vendor/composer/composer/src/Composer/Util/SpdxLicense.php +0 -24
  313. data/helpers/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php +0 -177
  314. data/helpers/vendor/composer/composer/src/Composer/Util/Svn.php +0 -381
  315. data/helpers/vendor/composer/composer/src/Composer/Util/TlsHelper.php +0 -204
  316. data/helpers/vendor/composer/composer/src/Composer/Util/Url.php +0 -55
  317. data/helpers/vendor/composer/composer/src/Composer/XdebugHandler.php +0 -31
  318. data/helpers/vendor/composer/composer/src/bootstrap.php +0 -24
  319. data/helpers/vendor/composer/installed.json +0 -947
  320. data/helpers/vendor/composer/semver/CHANGELOG.md +0 -72
  321. data/helpers/vendor/composer/semver/LICENSE +0 -19
  322. data/helpers/vendor/composer/semver/README.md +0 -70
  323. data/helpers/vendor/composer/semver/composer.json +0 -58
  324. data/helpers/vendor/composer/semver/src/Comparator.php +0 -111
  325. data/helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php +0 -63
  326. data/helpers/vendor/composer/semver/src/Constraint/Constraint.php +0 -219
  327. data/helpers/vendor/composer/semver/src/Constraint/ConstraintInterface.php +0 -32
  328. data/helpers/vendor/composer/semver/src/Constraint/EmptyConstraint.php +0 -59
  329. data/helpers/vendor/composer/semver/src/Constraint/MultiConstraint.php +0 -120
  330. data/helpers/vendor/composer/semver/src/Semver.php +0 -127
  331. data/helpers/vendor/composer/semver/src/VersionParser.php +0 -540
  332. data/helpers/vendor/composer/spdx-licenses/.php_cs.dist +0 -59
  333. data/helpers/vendor/composer/spdx-licenses/CHANGELOG.md +0 -89
  334. data/helpers/vendor/composer/spdx-licenses/LICENSE +0 -19
  335. data/helpers/vendor/composer/spdx-licenses/README.md +0 -69
  336. data/helpers/vendor/composer/spdx-licenses/composer.json +0 -56
  337. data/helpers/vendor/composer/spdx-licenses/res/spdx-exceptions.json +0 -101
  338. data/helpers/vendor/composer/spdx-licenses/res/spdx-licenses.json +0 -1932
  339. data/helpers/vendor/composer/spdx-licenses/src/SpdxLicenses.php +0 -343
  340. data/helpers/vendor/composer/xdebug-handler/CHANGELOG.md +0 -55
  341. data/helpers/vendor/composer/xdebug-handler/LICENSE +0 -21
  342. data/helpers/vendor/composer/xdebug-handler/README.md +0 -288
  343. data/helpers/vendor/composer/xdebug-handler/composer.json +0 -40
  344. data/helpers/vendor/composer/xdebug-handler/src/PhpConfig.php +0 -73
  345. data/helpers/vendor/composer/xdebug-handler/src/Process.php +0 -160
  346. data/helpers/vendor/composer/xdebug-handler/src/Status.php +0 -163
  347. data/helpers/vendor/composer/xdebug-handler/src/XdebugHandler.php +0 -565
  348. data/helpers/vendor/justinrainbow/json-schema/.gitattributes +0 -5
  349. data/helpers/vendor/justinrainbow/json-schema/.php_cs.dist +0 -30
  350. data/helpers/vendor/justinrainbow/json-schema/LICENSE +0 -21
  351. data/helpers/vendor/justinrainbow/json-schema/README.md +0 -206
  352. data/helpers/vendor/justinrainbow/json-schema/bin/validate-json +0 -251
  353. data/helpers/vendor/justinrainbow/json-schema/composer.json +0 -76
  354. data/helpers/vendor/justinrainbow/json-schema/demo/README.md +0 -14
  355. data/helpers/vendor/justinrainbow/json-schema/demo/data.json +0 -3
  356. data/helpers/vendor/justinrainbow/json-schema/demo/demo.php +0 -18
  357. data/helpers/vendor/justinrainbow/json-schema/demo/schema.json +0 -3
  358. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-03.json +0 -174
  359. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-04.json +0 -150
  360. data/helpers/vendor/justinrainbow/json-schema/phpunit.xml.dist +0 -26
  361. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php +0 -148
  362. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php +0 -121
  363. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php +0 -213
  364. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php +0 -65
  365. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php +0 -54
  366. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php +0 -220
  367. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php +0 -214
  368. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php +0 -81
  369. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php +0 -192
  370. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php +0 -94
  371. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php +0 -60
  372. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.php +0 -68
  373. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.php +0 -40
  374. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php +0 -18
  375. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php +0 -261
  376. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php +0 -413
  377. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.php +0 -161
  378. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.php +0 -7
  379. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php +0 -17
  380. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.php +0 -17
  381. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaException.php +0 -17
  382. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.php +0 -17
  383. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.php +0 -17
  384. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.php +0 -40
  385. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.php +0 -17
  386. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php +0 -17
  387. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php +0 -19
  388. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.php +0 -17
  389. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.php +0 -14
  390. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.php +0 -149
  391. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.php +0 -30
  392. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php +0 -169
  393. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.php +0 -41
  394. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php +0 -34
  395. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php +0 -83
  396. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php +0 -93
  397. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php +0 -56
  398. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php +0 -36
  399. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php +0 -175
  400. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php +0 -349
  401. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.php +0 -26
  402. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php +0 -26
  403. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php +0 -90
  404. data/helpers/vendor/psr/log/.gitignore +0 -1
  405. data/helpers/vendor/psr/log/LICENSE +0 -19
  406. data/helpers/vendor/psr/log/Psr/Log/AbstractLogger.php +0 -128
  407. data/helpers/vendor/psr/log/Psr/Log/InvalidArgumentException.php +0 -7
  408. data/helpers/vendor/psr/log/Psr/Log/LogLevel.php +0 -18
  409. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareInterface.php +0 -18
  410. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareTrait.php +0 -26
  411. data/helpers/vendor/psr/log/Psr/Log/LoggerInterface.php +0 -123
  412. data/helpers/vendor/psr/log/Psr/Log/LoggerTrait.php +0 -140
  413. data/helpers/vendor/psr/log/Psr/Log/NullLogger.php +0 -28
  414. data/helpers/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +0 -144
  415. data/helpers/vendor/psr/log/Psr/Log/Test/TestLogger.php +0 -146
  416. data/helpers/vendor/psr/log/README.md +0 -52
  417. data/helpers/vendor/psr/log/composer.json +0 -26
  418. data/helpers/vendor/seld/jsonlint/.gitignore +0 -3
  419. data/helpers/vendor/seld/jsonlint/.travis.yml +0 -25
  420. data/helpers/vendor/seld/jsonlint/CHANGELOG.md +0 -66
  421. data/helpers/vendor/seld/jsonlint/LICENSE +0 -19
  422. data/helpers/vendor/seld/jsonlint/README.md +0 -89
  423. data/helpers/vendor/seld/jsonlint/bin/jsonlint +0 -117
  424. data/helpers/vendor/seld/jsonlint/composer.json +0 -24
  425. data/helpers/vendor/seld/jsonlint/phpunit.xml.dist +0 -25
  426. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php +0 -26
  427. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php +0 -502
  428. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php +0 -217
  429. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php +0 -28
  430. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php +0 -16
  431. data/helpers/vendor/seld/jsonlint/tests/JsonParserTest.php +0 -230
  432. data/helpers/vendor/seld/jsonlint/tests/bom.json +0 -6
  433. data/helpers/vendor/seld/jsonlint/tests/bootstrap.php +0 -13
  434. data/helpers/vendor/seld/phar-utils/.gitignore +0 -1
  435. data/helpers/vendor/seld/phar-utils/LICENSE +0 -19
  436. data/helpers/vendor/seld/phar-utils/README.md +0 -39
  437. data/helpers/vendor/seld/phar-utils/composer.json +0 -26
  438. data/helpers/vendor/seld/phar-utils/composer.lock +0 -19
  439. data/helpers/vendor/seld/phar-utils/src/Timestamps.php +0 -192
  440. data/helpers/vendor/symfony/console/.gitignore +0 -3
  441. data/helpers/vendor/symfony/console/Application.php +0 -1181
  442. data/helpers/vendor/symfony/console/CHANGELOG.md +0 -140
  443. data/helpers/vendor/symfony/console/Command/Command.php +0 -654
  444. data/helpers/vendor/symfony/console/Command/HelpCommand.php +0 -81
  445. data/helpers/vendor/symfony/console/Command/ListCommand.php +0 -90
  446. data/helpers/vendor/symfony/console/Command/LockableTrait.php +0 -71
  447. data/helpers/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +0 -37
  448. data/helpers/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +0 -55
  449. data/helpers/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +0 -62
  450. data/helpers/vendor/symfony/console/ConsoleEvents.php +0 -47
  451. data/helpers/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +0 -98
  452. data/helpers/vendor/symfony/console/Descriptor/ApplicationDescription.php +0 -144
  453. data/helpers/vendor/symfony/console/Descriptor/Descriptor.php +0 -107
  454. data/helpers/vendor/symfony/console/Descriptor/DescriptorInterface.php +0 -31
  455. data/helpers/vendor/symfony/console/Descriptor/JsonDescriptor.php +0 -168
  456. data/helpers/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +0 -182
  457. data/helpers/vendor/symfony/console/Descriptor/TextDescriptor.php +0 -342
  458. data/helpers/vendor/symfony/console/Descriptor/XmlDescriptor.php +0 -245
  459. data/helpers/vendor/symfony/console/Event/ConsoleCommandEvent.php +0 -60
  460. data/helpers/vendor/symfony/console/Event/ConsoleErrorEvent.php +0 -58
  461. data/helpers/vendor/symfony/console/Event/ConsoleEvent.php +0 -67
  462. data/helpers/vendor/symfony/console/Event/ConsoleTerminateEvent.php +0 -53
  463. data/helpers/vendor/symfony/console/EventListener/ErrorListener.php +0 -91
  464. data/helpers/vendor/symfony/console/Exception/CommandNotFoundException.php +0 -43
  465. data/helpers/vendor/symfony/console/Exception/ExceptionInterface.php +0 -21
  466. data/helpers/vendor/symfony/console/Exception/InvalidArgumentException.php +0 -19
  467. data/helpers/vendor/symfony/console/Exception/InvalidOptionException.php +0 -21
  468. data/helpers/vendor/symfony/console/Exception/LogicException.php +0 -19
  469. data/helpers/vendor/symfony/console/Exception/NamespaceNotFoundException.php +0 -21
  470. data/helpers/vendor/symfony/console/Exception/RuntimeException.php +0 -19
  471. data/helpers/vendor/symfony/console/Formatter/OutputFormatter.php +0 -282
  472. data/helpers/vendor/symfony/console/Formatter/OutputFormatterInterface.php +0 -71
  473. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyle.php +0 -203
  474. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +0 -62
  475. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +0 -110
  476. data/helpers/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php +0 -25
  477. data/helpers/vendor/symfony/console/Helper/DebugFormatterHelper.php +0 -127
  478. data/helpers/vendor/symfony/console/Helper/DescriptorHelper.php +0 -94
  479. data/helpers/vendor/symfony/console/Helper/FormatterHelper.php +0 -106
  480. data/helpers/vendor/symfony/console/Helper/Helper.php +0 -138
  481. data/helpers/vendor/symfony/console/Helper/HelperInterface.php +0 -39
  482. data/helpers/vendor/symfony/console/Helper/HelperSet.php +0 -108
  483. data/helpers/vendor/symfony/console/Helper/InputAwareHelper.php +0 -33
  484. data/helpers/vendor/symfony/console/Helper/ProcessHelper.php +0 -156
  485. data/helpers/vendor/symfony/console/Helper/ProgressBar.php +0 -527
  486. data/helpers/vendor/symfony/console/Helper/ProgressIndicator.php +0 -269
  487. data/helpers/vendor/symfony/console/Helper/QuestionHelper.php +0 -447
  488. data/helpers/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +0 -96
  489. data/helpers/vendor/symfony/console/Helper/Table.php +0 -813
  490. data/helpers/vendor/symfony/console/Helper/TableCell.php +0 -68
  491. data/helpers/vendor/symfony/console/Helper/TableRows.php +0 -32
  492. data/helpers/vendor/symfony/console/Helper/TableSeparator.php +0 -25
  493. data/helpers/vendor/symfony/console/Helper/TableStyle.php +0 -458
  494. data/helpers/vendor/symfony/console/Input/ArgvInput.php +0 -365
  495. data/helpers/vendor/symfony/console/Input/ArrayInput.php +0 -206
  496. data/helpers/vendor/symfony/console/Input/Input.php +0 -203
  497. data/helpers/vendor/symfony/console/Input/InputArgument.php +0 -129
  498. data/helpers/vendor/symfony/console/Input/InputAwareInterface.php +0 -26
  499. data/helpers/vendor/symfony/console/Input/InputDefinition.php +0 -404
  500. data/helpers/vendor/symfony/console/Input/InputInterface.php +0 -163
  501. data/helpers/vendor/symfony/console/Input/InputOption.php +0 -208
  502. data/helpers/vendor/symfony/console/Input/StreamableInputInterface.php +0 -37
  503. data/helpers/vendor/symfony/console/Input/StringInput.php +0 -72
  504. data/helpers/vendor/symfony/console/LICENSE +0 -19
  505. data/helpers/vendor/symfony/console/Logger/ConsoleLogger.php +0 -124
  506. data/helpers/vendor/symfony/console/Output/BufferedOutput.php +0 -45
  507. data/helpers/vendor/symfony/console/Output/ConsoleOutput.php +0 -161
  508. data/helpers/vendor/symfony/console/Output/ConsoleOutputInterface.php +0 -32
  509. data/helpers/vendor/symfony/console/Output/ConsoleSectionOutput.php +0 -141
  510. data/helpers/vendor/symfony/console/Output/NullOutput.php +0 -123
  511. data/helpers/vendor/symfony/console/Output/Output.php +0 -177
  512. data/helpers/vendor/symfony/console/Output/OutputInterface.php +0 -114
  513. data/helpers/vendor/symfony/console/Output/StreamOutput.php +0 -124
  514. data/helpers/vendor/symfony/console/Question/ChoiceQuestion.php +0 -184
  515. data/helpers/vendor/symfony/console/Question/ConfirmationQuestion.php +0 -59
  516. data/helpers/vendor/symfony/console/Question/Question.php +0 -246
  517. data/helpers/vendor/symfony/console/README.md +0 -20
  518. data/helpers/vendor/symfony/console/Resources/bin/hiddeninput.exe +0 -0
  519. data/helpers/vendor/symfony/console/Style/OutputStyle.php +0 -155
  520. data/helpers/vendor/symfony/console/Style/StyleInterface.php +0 -154
  521. data/helpers/vendor/symfony/console/Style/SymfonyStyle.php +0 -438
  522. data/helpers/vendor/symfony/console/Terminal.php +0 -137
  523. data/helpers/vendor/symfony/console/Tester/ApplicationTester.php +0 -77
  524. data/helpers/vendor/symfony/console/Tester/CommandTester.php +0 -78
  525. data/helpers/vendor/symfony/console/Tester/TesterTrait.php +0 -177
  526. data/helpers/vendor/symfony/console/Tests/ApplicationTest.php +0 -1814
  527. data/helpers/vendor/symfony/console/Tests/Command/CommandTest.php +0 -436
  528. data/helpers/vendor/symfony/console/Tests/Command/HelpCommandTest.php +0 -71
  529. data/helpers/vendor/symfony/console/Tests/Command/ListCommandTest.php +0 -113
  530. data/helpers/vendor/symfony/console/Tests/Command/LockableTraitTest.php +0 -67
  531. data/helpers/vendor/symfony/console/Tests/CommandLoader/ContainerCommandLoaderTest.php +0 -61
  532. data/helpers/vendor/symfony/console/Tests/CommandLoader/FactoryCommandLoaderTest.php +0 -60
  533. data/helpers/vendor/symfony/console/Tests/DependencyInjection/AddConsoleCommandPassTest.php +0 -258
  534. data/helpers/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php +0 -107
  535. data/helpers/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php +0 -35
  536. data/helpers/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php +0 -45
  537. data/helpers/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php +0 -82
  538. data/helpers/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php +0 -53
  539. data/helpers/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php +0 -27
  540. data/helpers/vendor/symfony/console/Tests/EventListener/ErrorListenerTest.php +0 -156
  541. data/helpers/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php +0 -11
  542. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php +0 -18
  543. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php +0 -26
  544. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php +0 -24
  545. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php +0 -27
  546. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php +0 -32
  547. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php +0 -27
  548. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand4.php +0 -25
  549. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php +0 -32
  550. data/helpers/vendor/symfony/console/Tests/Fixtures/DummyOutput.php +0 -36
  551. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo1Command.php +0 -26
  552. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo2Command.php +0 -21
  553. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo3Command.php +0 -29
  554. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo4Command.php +0 -11
  555. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo5Command.php +0 -10
  556. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo6Command.php +0 -11
  557. data/helpers/vendor/symfony/console/Tests/Fixtures/FooCommand.php +0 -33
  558. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php +0 -28
  559. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php +0 -27
  560. data/helpers/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php +0 -36
  561. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseLowercaseCommand.php +0 -11
  562. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseUppercaseCommand.php +0 -11
  563. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php +0 -26
  564. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php +0 -26
  565. data/helpers/vendor/symfony/console/Tests/Fixtures/FooWithoutAliasCommand.php +0 -21
  566. data/helpers/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php +0 -25
  567. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php +0 -11
  568. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php +0 -13
  569. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php +0 -17
  570. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php +0 -12
  571. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php +0 -13
  572. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php +0 -14
  573. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php +0 -17
  574. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php +0 -14
  575. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php +0 -15
  576. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php +0 -13
  577. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php +0 -16
  578. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php +0 -12
  579. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php +0 -34
  580. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4_with_iterators.php +0 -34
  581. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php +0 -37
  582. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php +0 -16
  583. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php +0 -15
  584. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php +0 -26
  585. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php +0 -11
  586. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php +0 -19
  587. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt +0 -7
  588. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt +0 -3
  589. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt +0 -9
  590. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt +0 -7
  591. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt +0 -4
  592. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt +0 -6
  593. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt +0 -7
  594. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt +0 -6
  595. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt +0 -7
  596. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt +0 -8
  597. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt +0 -7
  598. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt +0 -13
  599. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt +0 -7
  600. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt +0 -32
  601. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4_with_iterators.txt +0 -32
  602. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt +0 -18
  603. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt +0 -6
  604. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt +0 -5
  605. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt +0 -9
  606. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt +0 -5
  607. data/helpers/vendor/symfony/console/Tests/Fixtures/TestCommand.php +0 -28
  608. data/helpers/vendor/symfony/console/Tests/Fixtures/TestTiti.php +0 -21
  609. data/helpers/vendor/symfony/console/Tests/Fixtures/TestToto.php +0 -22
  610. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.json +0 -156
  611. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.md +0 -172
  612. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.txt +0 -17
  613. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.xml +0 -104
  614. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.json +0 -509
  615. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.md +0 -431
  616. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.txt +0 -21
  617. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.xml +0 -254
  618. data/helpers/vendor/symfony/console/Tests/Fixtures/application_filtered_namespace.txt +0 -16
  619. data/helpers/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt +0 -1
  620. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.md +0 -269
  621. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt +0 -19
  622. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt +0 -5
  623. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt +0 -7
  624. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt +0 -18
  625. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt +0 -18
  626. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt +0 -6
  627. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt +0 -8
  628. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt +0 -8
  629. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt +0 -9
  630. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt +0 -9
  631. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt +0 -11
  632. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run1.txt +0 -17
  633. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run2.txt +0 -29
  634. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run3.txt +0 -29
  635. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run4.txt +0 -1
  636. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.json +0 -15
  637. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.md +0 -12
  638. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.txt +0 -10
  639. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.xml +0 -12
  640. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.json +0 -33
  641. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.md +0 -29
  642. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.txt +0 -16
  643. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.xml +0 -21
  644. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.md +0 -29
  645. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt +0 -16
  646. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.json +0 -7
  647. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.md +0 -5
  648. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt +0 -1
  649. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml +0 -5
  650. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.json +0 -7
  651. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.md +0 -7
  652. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt +0 -1
  653. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml +0 -5
  654. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.json +0 -7
  655. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.md +0 -7
  656. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt +0 -1
  657. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml +0 -7
  658. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.json +0 -7
  659. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.md +0 -8
  660. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt +0 -2
  661. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml +0 -6
  662. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json +0 -7
  663. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md +0 -7
  664. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt +0 -1
  665. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml +0 -7
  666. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json +0 -7
  667. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md +0 -7
  668. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt +0 -1
  669. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml +0 -7
  670. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.json +0 -4
  671. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.md +0 -0
  672. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt +0 -0
  673. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml +0 -5
  674. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.json +0 -12
  675. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.md +0 -7
  676. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt +0 -2
  677. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml +0 -10
  678. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.json +0 -14
  679. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.md +0 -8
  680. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt +0 -2
  681. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml +0 -9
  682. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.json +0 -22
  683. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.md +0 -16
  684. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt +0 -5
  685. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml +0 -14
  686. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.json +0 -9
  687. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.md +0 -6
  688. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.txt +0 -1
  689. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.xml +0 -4
  690. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.json +0 -9
  691. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.md +0 -8
  692. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.txt +0 -1
  693. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.xml +0 -7
  694. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.json +0 -9
  695. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.md +0 -8
  696. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.txt +0 -1
  697. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.xml +0 -5
  698. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.json +0 -9
  699. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.md +0 -8
  700. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.txt +0 -1
  701. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.xml +0 -5
  702. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.json +0 -9
  703. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.md +0 -9
  704. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.txt +0 -2
  705. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.xml +0 -6
  706. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.json +0 -9
  707. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.md +0 -8
  708. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.txt +0 -1
  709. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.xml +0 -5
  710. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json +0 -9
  711. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md +0 -8
  712. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt +0 -1
  713. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml +0 -7
  714. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json +0 -9
  715. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md +0 -8
  716. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt +0 -1
  717. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml +0 -7
  718. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json +0 -12
  719. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md +0 -8
  720. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt +0 -1
  721. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml +0 -8
  722. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php +0 -71
  723. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php +0 -100
  724. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php +0 -355
  725. data/helpers/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php +0 -34
  726. data/helpers/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php +0 -129
  727. data/helpers/vendor/symfony/console/Tests/Helper/HelperSetTest.php +0 -127
  728. data/helpers/vendor/symfony/console/Tests/Helper/HelperTest.php +0 -55
  729. data/helpers/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php +0 -133
  730. data/helpers/vendor/symfony/console/Tests/Helper/ProgressBarTest.php +0 -912
  731. data/helpers/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php +0 -183
  732. data/helpers/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php +0 -715
  733. data/helpers/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php +0 -168
  734. data/helpers/vendor/symfony/console/Tests/Helper/TableStyleTest.php +0 -28
  735. data/helpers/vendor/symfony/console/Tests/Helper/TableTest.php +0 -1199
  736. data/helpers/vendor/symfony/console/Tests/Input/ArgvInputTest.php +0 -466
  737. data/helpers/vendor/symfony/console/Tests/Input/ArrayInputTest.php +0 -177
  738. data/helpers/vendor/symfony/console/Tests/Input/InputArgumentTest.php +0 -103
  739. data/helpers/vendor/symfony/console/Tests/Input/InputDefinitionTest.php +0 -407
  740. data/helpers/vendor/symfony/console/Tests/Input/InputOptionTest.php +0 -196
  741. data/helpers/vendor/symfony/console/Tests/Input/InputTest.php +0 -149
  742. data/helpers/vendor/symfony/console/Tests/Input/StringInputTest.php +0 -87
  743. data/helpers/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php +0 -215
  744. data/helpers/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php +0 -42
  745. data/helpers/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php +0 -163
  746. data/helpers/vendor/symfony/console/Tests/Output/NullOutputTest.php +0 -88
  747. data/helpers/vendor/symfony/console/Tests/Output/OutputTest.php +0 -189
  748. data/helpers/vendor/symfony/console/Tests/Output/StreamOutputTest.php +0 -61
  749. data/helpers/vendor/symfony/console/Tests/Question/ConfirmationQuestionTest.php +0 -62
  750. data/helpers/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php +0 -118
  751. data/helpers/vendor/symfony/console/Tests/TerminalTest.php +0 -59
  752. data/helpers/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php +0 -113
  753. data/helpers/vendor/symfony/console/Tests/Tester/CommandTesterTest.php +0 -235
  754. data/helpers/vendor/symfony/console/composer.json +0 -56
  755. data/helpers/vendor/symfony/console/phpunit.xml.dist +0 -41
  756. data/helpers/vendor/symfony/contracts/.gitignore +0 -3
  757. data/helpers/vendor/symfony/contracts/CHANGELOG.md +0 -12
  758. data/helpers/vendor/symfony/contracts/Cache/CacheInterface.php +0 -57
  759. data/helpers/vendor/symfony/contracts/Cache/CacheTrait.php +0 -71
  760. data/helpers/vendor/symfony/contracts/Cache/CallbackInterface.php +0 -30
  761. data/helpers/vendor/symfony/contracts/Cache/ItemInterface.php +0 -60
  762. data/helpers/vendor/symfony/contracts/Cache/TagAwareCacheInterface.php +0 -38
  763. data/helpers/vendor/symfony/contracts/LICENSE +0 -19
  764. data/helpers/vendor/symfony/contracts/README.md +0 -70
  765. data/helpers/vendor/symfony/contracts/Service/ResetInterface.php +0 -30
  766. data/helpers/vendor/symfony/contracts/Service/ServiceLocatorTrait.php +0 -97
  767. data/helpers/vendor/symfony/contracts/Service/ServiceSubscriberInterface.php +0 -53
  768. data/helpers/vendor/symfony/contracts/Service/ServiceSubscriberTrait.php +0 -61
  769. data/helpers/vendor/symfony/contracts/Tests/Cache/CacheTraitTest.php +0 -165
  770. data/helpers/vendor/symfony/contracts/Tests/Service/ServiceLocatorTest.php +0 -94
  771. data/helpers/vendor/symfony/contracts/Tests/Service/ServiceSubscriberTraitTest.php +0 -65
  772. data/helpers/vendor/symfony/contracts/Tests/Translation/TranslatorTest.php +0 -353
  773. data/helpers/vendor/symfony/contracts/Translation/LocaleAwareInterface.php +0 -31
  774. data/helpers/vendor/symfony/contracts/Translation/TranslatorInterface.php +0 -65
  775. data/helpers/vendor/symfony/contracts/Translation/TranslatorTrait.php +0 -255
  776. data/helpers/vendor/symfony/contracts/composer.json +0 -44
  777. data/helpers/vendor/symfony/contracts/phpunit.xml.dist +0 -31
  778. data/helpers/vendor/symfony/filesystem/.gitignore +0 -3
  779. data/helpers/vendor/symfony/filesystem/CHANGELOG.md +0 -59
  780. data/helpers/vendor/symfony/filesystem/Exception/ExceptionInterface.php +0 -21
  781. data/helpers/vendor/symfony/filesystem/Exception/FileNotFoundException.php +0 -34
  782. data/helpers/vendor/symfony/filesystem/Exception/IOException.php +0 -39
  783. data/helpers/vendor/symfony/filesystem/Exception/IOExceptionInterface.php +0 -27
  784. data/helpers/vendor/symfony/filesystem/Exception/InvalidArgumentException.php +0 -19
  785. data/helpers/vendor/symfony/filesystem/Filesystem.php +0 -767
  786. data/helpers/vendor/symfony/filesystem/LICENSE +0 -19
  787. data/helpers/vendor/symfony/filesystem/README.md +0 -13
  788. data/helpers/vendor/symfony/filesystem/Tests/ExceptionTest.php +0 -47
  789. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTest.php +0 -1686
  790. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTestCase.php +0 -166
  791. data/helpers/vendor/symfony/filesystem/Tests/Fixtures/MockStream/MockStream.php +0 -46
  792. data/helpers/vendor/symfony/filesystem/composer.json +0 -34
  793. data/helpers/vendor/symfony/filesystem/phpunit.xml.dist +0 -30
  794. data/helpers/vendor/symfony/finder/.gitignore +0 -3
  795. data/helpers/vendor/symfony/finder/CHANGELOG.md +0 -69
  796. data/helpers/vendor/symfony/finder/Comparator/Comparator.php +0 -98
  797. data/helpers/vendor/symfony/finder/Comparator/DateComparator.php +0 -51
  798. data/helpers/vendor/symfony/finder/Comparator/NumberComparator.php +0 -79
  799. data/helpers/vendor/symfony/finder/Exception/AccessDeniedException.php +0 -19
  800. data/helpers/vendor/symfony/finder/Finder.php +0 -783
  801. data/helpers/vendor/symfony/finder/Glob.php +0 -116
  802. data/helpers/vendor/symfony/finder/Iterator/CustomFilterIterator.php +0 -61
  803. data/helpers/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +0 -58
  804. data/helpers/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +0 -45
  805. data/helpers/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +0 -84
  806. data/helpers/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +0 -53
  807. data/helpers/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +0 -58
  808. data/helpers/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +0 -47
  809. data/helpers/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +0 -112
  810. data/helpers/vendor/symfony/finder/Iterator/PathFilterIterator.php +0 -56
  811. data/helpers/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +0 -140
  812. data/helpers/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +0 -57
  813. data/helpers/vendor/symfony/finder/Iterator/SortableIterator.php +0 -99
  814. data/helpers/vendor/symfony/finder/LICENSE +0 -19
  815. data/helpers/vendor/symfony/finder/README.md +0 -14
  816. data/helpers/vendor/symfony/finder/SplFileInfo.php +0 -78
  817. data/helpers/vendor/symfony/finder/Tests/Comparator/ComparatorTest.php +0 -65
  818. data/helpers/vendor/symfony/finder/Tests/Comparator/DateComparatorTest.php +0 -64
  819. data/helpers/vendor/symfony/finder/Tests/Comparator/NumberComparatorTest.php +0 -108
  820. data/helpers/vendor/symfony/finder/Tests/FinderTest.php +0 -1384
  821. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/a +0 -0
  822. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/c.neon +0 -0
  823. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/d.neon +0 -0
  824. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/C/abc.dat +0 -0
  825. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/ab.dat +0 -0
  826. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/a.dat +0 -0
  827. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy +0 -0
  828. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/ab.dat.copy +0 -0
  829. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/a.dat.copy +0 -0
  830. data/helpers/vendor/symfony/finder/Tests/Fixtures/dolor.txt +0 -2
  831. data/helpers/vendor/symfony/finder/Tests/Fixtures/ipsum.txt +0 -2
  832. data/helpers/vendor/symfony/finder/Tests/Fixtures/lorem.txt +0 -2
  833. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/.dot +0 -1
  834. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/a +0 -0
  835. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/c.neon +0 -0
  836. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/d.neon +0 -0
  837. data/helpers/vendor/symfony/finder/Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat +0 -0
  838. 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
  839. data/helpers/vendor/symfony/finder/Tests/GlobTest.php +0 -95
  840. data/helpers/vendor/symfony/finder/Tests/Iterator/CustomFilterIteratorTest.php +0 -46
  841. data/helpers/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php +0 -92
  842. data/helpers/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php +0 -103
  843. data/helpers/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php +0 -107
  844. data/helpers/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php +0 -82
  845. data/helpers/vendor/symfony/finder/Tests/Iterator/FilecontentFilterIteratorTest.php +0 -86
  846. data/helpers/vendor/symfony/finder/Tests/Iterator/FilenameFilterIteratorTest.php +0 -54
  847. data/helpers/vendor/symfony/finder/Tests/Iterator/Iterator.php +0 -55
  848. data/helpers/vendor/symfony/finder/Tests/Iterator/IteratorTestCase.php +0 -100
  849. data/helpers/vendor/symfony/finder/Tests/Iterator/MockFileListIterator.php +0 -21
  850. data/helpers/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php +0 -132
  851. data/helpers/vendor/symfony/finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php +0 -71
  852. data/helpers/vendor/symfony/finder/Tests/Iterator/PathFilterIteratorTest.php +0 -82
  853. data/helpers/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php +0 -128
  854. data/helpers/vendor/symfony/finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php +0 -59
  855. data/helpers/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php +0 -70
  856. data/helpers/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php +0 -262
  857. data/helpers/vendor/symfony/finder/composer.json +0 -33
  858. data/helpers/vendor/symfony/finder/phpunit.xml.dist +0 -30
  859. data/helpers/vendor/symfony/polyfill-ctype/Ctype.php +0 -227
  860. data/helpers/vendor/symfony/polyfill-ctype/LICENSE +0 -19
  861. data/helpers/vendor/symfony/polyfill-ctype/README.md +0 -12
  862. data/helpers/vendor/symfony/polyfill-ctype/bootstrap.php +0 -26
  863. data/helpers/vendor/symfony/polyfill-ctype/composer.json +0 -34
  864. data/helpers/vendor/symfony/polyfill-mbstring/LICENSE +0 -19
  865. data/helpers/vendor/symfony/polyfill-mbstring/Mbstring.php +0 -800
  866. data/helpers/vendor/symfony/polyfill-mbstring/README.md +0 -13
  867. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +0 -1096
  868. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +0 -5
  869. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +0 -1104
  870. data/helpers/vendor/symfony/polyfill-mbstring/bootstrap.php +0 -58
  871. data/helpers/vendor/symfony/polyfill-mbstring/composer.json +0 -34
  872. data/helpers/vendor/symfony/process/.gitignore +0 -3
  873. data/helpers/vendor/symfony/process/CHANGELOG.md +0 -90
  874. data/helpers/vendor/symfony/process/Exception/ExceptionInterface.php +0 -21
  875. data/helpers/vendor/symfony/process/Exception/InvalidArgumentException.php +0 -21
  876. data/helpers/vendor/symfony/process/Exception/LogicException.php +0 -21
  877. data/helpers/vendor/symfony/process/Exception/ProcessFailedException.php +0 -54
  878. data/helpers/vendor/symfony/process/Exception/ProcessSignaledException.php +0 -41
  879. data/helpers/vendor/symfony/process/Exception/ProcessTimedOutException.php +0 -69
  880. data/helpers/vendor/symfony/process/Exception/RuntimeException.php +0 -21
  881. data/helpers/vendor/symfony/process/ExecutableFinder.php +0 -88
  882. data/helpers/vendor/symfony/process/InputStream.php +0 -90
  883. data/helpers/vendor/symfony/process/LICENSE +0 -19
  884. data/helpers/vendor/symfony/process/PhpExecutableFinder.php +0 -101
  885. data/helpers/vendor/symfony/process/PhpProcess.php +0 -75
  886. data/helpers/vendor/symfony/process/Pipes/AbstractPipes.php +0 -178
  887. data/helpers/vendor/symfony/process/Pipes/PipesInterface.php +0 -67
  888. data/helpers/vendor/symfony/process/Pipes/UnixPipes.php +0 -153
  889. data/helpers/vendor/symfony/process/Pipes/WindowsPipes.php +0 -191
  890. data/helpers/vendor/symfony/process/Process.php +0 -1652
  891. data/helpers/vendor/symfony/process/ProcessUtils.php +0 -69
  892. data/helpers/vendor/symfony/process/README.md +0 -13
  893. data/helpers/vendor/symfony/process/Tests/ExecutableFinderTest.php +0 -178
  894. data/helpers/vendor/symfony/process/Tests/KillableProcessWithOutput.php +0 -25
  895. data/helpers/vendor/symfony/process/Tests/NonStopableProcess.php +0 -47
  896. data/helpers/vendor/symfony/process/Tests/PhpExecutableFinderTest.php +0 -49
  897. data/helpers/vendor/symfony/process/Tests/PhpProcessTest.php +0 -63
  898. data/helpers/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php +0 -72
  899. data/helpers/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php +0 -137
  900. data/helpers/vendor/symfony/process/Tests/ProcessTest.php +0 -1537
  901. data/helpers/vendor/symfony/process/Tests/SignalListener.php +0 -21
  902. data/helpers/vendor/symfony/process/composer.json +0 -33
  903. 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
- }