예제 #1
0
     });
     context("with defaults arguments", function () {
         it("allows boolean casting", function () {
             $args = new Args(['argument1' => ['type' => 'boolean', 'default' => true], 'argument2' => ['type' => 'boolean', 'default' => false], 'argument3' => ['type' => 'boolean', 'default' => true], 'argument4' => ['type' => 'boolean', 'default' => false]]);
             $actual = $args->parse(['command', '--argument1', '--argument2']);
             expect($actual)->toEqual(['argument1' => true, 'argument2' => true, 'argument3' => true, 'argument4' => false]);
         });
     });
     context("with override set to `false`", function () {
         it("doesn't override existing arguments when the override params is set to `false`", function () {
             $args = new Args();
             $args->set('argument1', 'value1');
             $actual = $args->parse(['--argument1=valueX']);
             expect($actual)->toBe(['argument1' => 'valueX']);
             $args = new Args();
             $args->set('argument1', 'value1');
             $actual = $args->parse(['--argument1=valueX'], false);
             expect($actual)->toBe(['argument1' => 'value1']);
         });
     });
 });
 describe("->get()", function () {
     it("ignores argument value if the value option is set", function () {
         $args = new Args(['argument1' => ['type' => 'string', 'value' => 'config_value']]);
         $actual = $args->parse(['command']);
         expect($args->get('argument1'))->toEqual('config_value');
         $actual = $args->parse(['command', '--argument1']);
         expect($args->get('argument1'))->toEqual('config_value');
         $actual = $args->parse(['command', '--argument1="some_value"']);
         expect($args->get('argument1'))->toEqual('config_value');
     });