Commit graph

506 commits

Author SHA1 Message Date
mark_story
0492a188ed Adding Shell::wrapText() to extend String methods, with indenting which can be useful in shell output. 2010-10-14 22:58:23 -04:00
mark_story
b8467164f8 Making ConsoleOutput work correctly when multiple identical tags are used. 2010-10-14 22:16:42 -04:00
mark_story
4be57a2ea5 Adding output levels to Shell
Adding tests for output levels.
2010-10-13 23:40:45 -04:00
mark_story
037bc6cb2f Changing how arguments are shown in help output. 2010-10-13 23:18:28 -04:00
mark_story
3e1554f5bb Adding incomplete tests so I remember what to do next. 2010-10-13 23:18:28 -04:00
mark_story
03688bc2ff Adding an option parser to controller task.
Converting the public and admin positional arguments into switches.
Updating the task and test cases to reflect the switches changes.
2010-10-13 23:18:27 -04:00
mark_story
52c1c71e4a Updating fixture task to use the OptionParser
Fixing failing tests caused by changing tasks to lazy loading.
2010-10-13 23:18:27 -04:00
mark_story
10090696a0 Making boolean switches behave.
Boolean switches always show up in the parsed options.  When left undefined they insert a false, and when included they insert a true.  This makes working with them require less checks.
2010-10-13 23:18:26 -04:00
mark_story
b328276289 Adding default values into the parsed output.
This makes it so options with default values are always part of the parsed options regardless of whether or not they were included.  This will allow shells to include less logic checking for existence of parameters.
2010-10-13 23:18:26 -04:00
mark_story
2af684cbec Fixing issue where exceptions for missing required arguments would be raised when trying to get help. 2010-10-13 23:18:26 -04:00
mark_story
43646b9372 Updating AclShell to use new formatting and removing methods that are no longer needed. 2010-10-13 23:18:26 -04:00
mark_story
0fd8d2b8e4 Adding addSubcommands, and support for subcommands to buildFromArray.
This makes the API consistent across all the elements of ConsoleOptionParser.
2010-10-13 23:18:26 -04:00
mark_story
99407e788f Fixing issue where choices would not be correctly validated. 2010-10-13 23:18:26 -04:00
mark_story
8c990a9e08 Fixing failing tests caused by API changes. 2010-10-13 23:18:26 -04:00
mark_story
970a6c8d79 Adding the ability for parse() to use a subcommand parser.
Adding text on how to get help on subcommands.
2010-10-13 23:18:25 -04:00
mark_story
b5630a5e30 Making description() and epilog() accept arrays. 2010-10-13 23:18:25 -04:00
mark_story
412864c510 Porting AclShell help to use the OptionParser. 2010-10-13 23:18:25 -04:00
mark_story
7a31eb41e9 Adding ability to define a subcommand parser as an array.
This makes defining subcommands a bit easier as you don't have to build a pile of objects first.
2010-10-13 23:18:25 -04:00
mark_story
ef027f6d0e Adding choices to usage and generated help text. 2010-10-13 23:18:25 -04:00
mark_story
4e91012144 Adding validation for positional arguments.
You can use choices option to give a list of valid values that an argument can have.
2010-10-13 23:18:24 -04:00
mark_story
56292b658c Adding option value validation to ConsoleOptionParser. 2010-10-13 23:18:24 -04:00
mark_story
27a4f3c0d7 Adding test to make sure tags that are unknown are not removed. 2010-10-13 23:18:24 -04:00
mark_story
ad367fed9a Adding addOptions and addArguments as convience methods for adding multiple options/arguments. 2010-10-13 23:18:24 -04:00
mark_story
72e1a96a9a Renaming a Shell::_getOptionParser -> getOptionParser
Made the method public so subparser help would be easy to wire up. Moving help generation above task invocation so it always displays.
2010-10-13 23:18:23 -04:00
mark_story
ab794b300e Adding support for help generating help for subcommands.
Adding tests for subcommand help generation.
2010-10-13 23:18:23 -04:00
mark_story
56339e05f3 Adding subcommand to help output.
Subcommands can be shell methods or tasks.  Both should support additional parsers.  Which is not complete yet.
2010-10-13 23:18:23 -04:00
mark_story
f1ee46749b Fixing failing tests in Schema shell. 2010-10-13 23:18:23 -04:00
mark_story
193721a0eb Fixing notice errors in ShellDispatcher
Removing ShellDispatcher tests that are now inside Shell.
Changing exception type to match the one used in ShellDispatcher.
2010-10-13 23:18:23 -04:00
mark_story
e70089891d Adding some more array_unshift. These fix issues where tasks would receive their name in the argv which is not correct. 2010-10-13 23:18:22 -04:00
mark_story
79d1739778 Adding tests for task methods in runCommand.
Moving startup() call to the dispatcher so nested runCommand calls don't double output the startup content.
2010-10-13 23:18:22 -04:00
mark_story
cea9dadaa2 Fixing ShellDispatcher::parseParams tests to reflect the changes in what they do.
Adding tests for Shell::runCommand().
2010-10-13 23:18:22 -04:00
mark_story
cd18c8214c Adding Shell::hasMethod and tests for it. 2010-10-13 23:18:22 -04:00
mark_story
18c5a62445 Removing a dead test and adding tests for hasTask 2010-10-13 23:18:22 -04:00
mark_story
fbcc9c1fc1 Making Tasks lazy load.
This allows task initialization to be moved out of ShellDispatcher where it does not belong, as tasks are similar to components.  Updating parts of TaskCollection, as the Dispatcher is still required to be passed around.
2010-10-13 23:18:22 -04:00
mark_story
7f5b5c4fbd Adding exception for unknown option usage. 2010-10-13 23:18:21 -04:00
mark_story
d3c95bc2c4 Adding epilog and description to the generate help. 2010-10-13 23:18:21 -04:00
mark_story
501e63e45d Adding argument help generation in the long help and usage string.
Fixing output of option help, formatting was calculated in 2 places.
2010-10-13 23:18:21 -04:00
mark_story
09adc38b6c Doing some fixes as the longest option + a short would cause incorrect formatting. 2010-10-13 23:18:21 -04:00
mark_story
0eb68226ce Adding ConsoleOptionParser to the AllShells test. 2010-10-13 23:18:21 -04:00
mark_story
cea6cef727 Adding smart defaults for verbose, quiet, and help options.
Adding help formatting for options.
2010-10-13 23:18:21 -04:00
mark_story
a3259743f7 Making error output style have an underline.
Adding a comment style which has blue text.
2010-10-13 23:18:21 -04:00
mark_story
f5ad54e97e Adding required argument checking. 2010-10-13 23:18:21 -04:00
mark_story
505e59ac66 Adding support for boolean options. 2010-10-13 23:18:21 -04:00
mark_story
3e402e2dfb Adding support for positional arguments.
Adding tests and support for positional arguments. Renaming description
key to help as its shorter.
2010-10-13 23:18:21 -04:00
mark_story
3b9921a390 Adding support for -abc style combination of short options.
Renaming shortcut to short as its shorter :)
2010-10-13 23:18:20 -04:00
mark_story
07bda824f0 Adding test for parsing multiple options. 2010-10-13 23:18:20 -04:00
mark_story
2c2c9a38d2 Removing required, and type from option flag as they didn't really make sense to include at this point. Adding support for --foo=bar type parameters. 2010-10-13 23:18:20 -04:00
mark_story
7b1b835bc1 Adding very basic implementation for parsing long and short options. 2010-10-13 23:18:20 -04:00
mark_story
d5d9adb92b Starting to implement options and option parsing. 2010-10-13 23:18:20 -04:00
mark_story
694537933e Adding description() and epilog() to ConsoleOptionParser. Starting to build out addOption. 2010-10-13 23:18:20 -04:00
mark_story
d914c0aaea Adding ConsoleOptionParser and its test. 2010-10-13 23:18:20 -04:00
mark_story
41db1485aa Updating test cases to use new objects.
Preventing ConsoleOutput and ConsoleInput constructors from being run as it causes too many files open exceptions.
2010-10-13 23:18:20 -04:00
mark_story
73ad3043a2 Fixing more console tests to use new internals.
Making TaskCollection pass the stdout, stdin, stderr to Tasks they create.  This allows for more flexible dependency injection and makes testing easier.
2010-10-13 23:18:20 -04:00
mark_story
a3023430c8 Updating test cases to use new Shell internals.
Cleaning up some mocks.
2010-10-13 23:18:19 -04:00
mark_story
7921ef1282 Fixing Shell tests to use ConsoleInput. 2010-10-13 23:18:19 -04:00
mark_story
67f03afa02 Moving ConsoleInput to the correct directory. 2010-10-13 23:18:19 -04:00
mark_story
d64078db2d Adding ConsoleInput for reading stdin. 2010-10-13 23:18:19 -04:00
mark_story
76c6decb52 Updating tests for Shell so they pass with the changes in the Shell internals. 2010-10-13 23:18:19 -04:00
mark_story
131433739e Removing dead test stubs and test methods.
Moving clear() into Shell, it should be a shell method.
Changing shell methods to use ConsoleOutput objects, instead of methods on Dispatcher.
2010-10-13 23:18:19 -04:00
mark_story
a55098b00b Making TaskCollection require a Shell instead of a ShellDispatcher.
This will help reduce the coupling between ShellDispatcher and other objects.
Since ShellDispatcher never directly uses or interacts with TaskCollection, it doesn't make much sense for it to have one.  Instead shells will either get their own, or be passed one in.
2010-10-13 23:18:19 -04:00
mark_story
b11f2bfb1f Adding ConsoleOutput to the AllShells group. 2010-10-13 23:18:18 -04:00
mark_story
02c4e00556 Starting to move command list out to a separate class so ShellDispatcher can stop having stderr/stdout connections. 2010-10-13 23:18:18 -04:00
mark_story
317e32f07b Making ShellDispatcher use exceptions instead of returning false and doing other goofy things.
Adding MissingShellMethodException, MissingShellClassException and MissingShellFileException for use with ShellDispatcher.
Removing duplicated tests, and refactoring them into separate tests with expected exceptions.
2010-10-13 23:18:18 -04:00
mark_story
ffbb4e6b45 Integrating ConsoleOutput with ConsoleErrorHandler.
Updating test cases to match new output.
2010-10-13 23:18:18 -04:00
mark_story
90d5c12b3e Fixing issues with background colours, and adding tests for options. 2010-10-13 23:18:18 -04:00
mark_story
d5b5fbee3b Adding formatting methods for coloured output. 2010-10-13 23:18:18 -04:00
mark_story
aec1770abc Adding style format manipulation methods. 2010-10-13 23:18:18 -04:00
mark_story
7dea9b0dbd Starting to refactor console output into ConsoleOutput. 2010-10-13 23:18:18 -04:00
mark_story
3d65b68f1d Renaming cake.test
Updating AllShells suite.
2010-10-13 23:18:17 -04:00
mark_story
9b8ce2d7fa Updating includes for shell + task includes to point at the new file. 2010-10-13 23:18:17 -04:00
mark_story
3ab77017ae Fixing OpenTest license mentions to use MIT License
Fixing PHP versions 4 and 5 to only be PHP5.
2010-10-03 12:31:21 -04:00
mark_story
b908365f9d Changing the @license tag on test files, as tests can now be MIT like
the rest of CakePHP.
2010-10-03 12:27:27 -04:00
mark_story
92b57d81ee Moving common setup and teardown functionality in to CakeTestCase.
Removing repeated setup/teardown logic from test cases.
Switching tests to use setup/teardown instead of startTest/endTest.
2010-09-25 21:36:49 -04:00
mark_story
714d8298c4 Fixing all tasks include.
Removing drop table queries that cause other tests to fail.
2010-09-25 01:25:42 -04:00
mark_story
cd7bc3ff6b Removing disabling of tests from last commit.
Using assertContains instead of assertPattern as its easier to read.
2010-09-25 00:56:46 -04:00
mark_story
d8b39a3818 Changing startTest and endTest to setup and teardown.
Adding an App::build() to reset paths.
2010-09-25 00:47:32 -04:00
mark_story
8e6277c9d1 Updating schema shell test so it doesn't fail in groups.
Updating suites to use new method.
2010-09-25 00:13:37 -04:00
mark_story
6124eb6f7a Moving All Tasks suite. 2010-09-25 00:13:06 -04:00
mark_story
ca167d5da2 Changing schema test to not alter the table and break other tests. 2010-09-24 23:30:03 -04:00
mark_story
3e6b65557b removing old file. 2010-09-24 23:30:02 -04:00
mark_story
4e5ebc5c0f Renaming all bake tasks to all tasks.
Updating all tests.
2010-09-24 23:30:02 -04:00
mark_story
94d738e834 Fixing failing tests and group test situational fails in console tests. Adding console tests to all tests. 2010-09-24 23:30:02 -04:00
mark_story
0bb23095f3 Making schema shell test more robust by deleting files it makes in teardown(). 2010-09-24 23:30:02 -04:00
mark_story
309d08d4ef Mocking out clear() on all the shell tests as it wreaks havoc on the CLI runner. 2010-09-24 23:30:02 -04:00
José Lorenzo Rodríguez
d45788e14f Changing order of test run in AllShells group to avoid errors 2010-09-24 23:30:02 -04:00
José Lorenzo Rodríguez
5c3b4cfcc4 Removing all uses of the test_suite connection in the test cases 2010-09-24 23:30:01 -04:00
mark_story
f21161ef46 Merge branch '1.3' into 2.0. Had to fix a number of 1.3 -> 2.0
differences upon merging.

Conflicts:
	app/config/core.php
	cake/console/templates/skel/config/core.php
	cake/libs/cache/file.php
	cake/libs/cake_session.php
	cake/libs/controller/components/email.php
	cake/libs/i18n.php
	cake/libs/view/pages/home.ctp
	cake/tests/cases/libs/cache/memcache.test.php
	cake/tests/cases/libs/model/model_write.test.php
2010-09-24 23:27:22 -04:00
mark_story
e91fa68f8e Making the set() functions use + instead of array_merge() so that numeric indices are properly preserved across multiple method calls. Fixes #1105 2010-09-18 00:13:03 -04:00
mark_story
e4d34b640b Merge branch '2.0-exceptions' into 2.0
Conflicts:
	cake/libs/error.php
	cake/tests/cases/libs/controller/scaffold.test.php
	cake/tests/cases/libs/error.test.php
2010-09-10 20:31:16 -04:00
mark_story
fbd0741a83 Making a test more resilient when additional fixtures are loaded. 2010-09-09 22:54:22 -04:00
mark_story
bdb3feb7fd Adding stack trace to the console error handler. Updating tests.
Changing require to require_once so the test case for ConsoleErrorHandler doesn't blow up in cli.
2010-09-08 23:38:51 -04:00
mark_story
f677c4ab44 Fixing bake task tests and adding ConsoleErrorHandler to the AllShells suite. 2010-09-07 23:51:39 -04:00
mark_story
f94fcfb749 Updating Api shell test case to account for changes in controller api. 2010-09-07 23:42:18 -04:00
mark_story
b02d961d82 Adding ConsoleErrorHandler to the shell group. 2010-09-07 23:40:31 -04:00
mark_story
6e5e32bef5 Updating AclShell test to use AclComponent correctly. 2010-09-07 23:40:07 -04:00
Mark Story
d88da3d579 Merge branch '1.3' into 2.0
Conflicts:
	cake/libs/configure.php
	cake/libs/model/connection_manager.php
	cake/libs/model/model.php
	cake/tests/cases/libs/model/datasources/dbo/dbo_postgres.test.php
	cake/tests/cases/libs/view/helpers/text.test.php
2010-09-06 16:53:04 -04:00
Mark Story
8bd0f18a53 Adding a new line to the ConsoleErrorHandler
Refactoring ConsoleErrorHandler test to use dynamic mocks.
2010-09-05 11:22:39 -04:00
Mark Story
9fee81cda0 Updating ConsoleErrorHandler to use new exception names and method renames. 2010-09-05 11:10:48 -04:00
Mark Story
dbd34c75c7 Removing newlines and trailing space. 2010-09-04 15:36:57 -04:00
Mark Story
42d998ca3b Fixing up the include for the console error handler, and adding a test for stderr handle. 2010-09-04 10:46:04 -04:00