Ejemplo n.º 1
0
 /**
  * Finds an option based on a flag
  *
  * @param String $flag The flag to look up
  * @return \r8\CLI\Option Returns NULL if there were no ptions with that
  *      flag registered
  */
 public function findByFlag($flag)
 {
     $flag = \r8\CLI\Option::normalizeFlag($flag, FALSE);
     if (isset($this->options[$flag])) {
         return $this->options[$flag];
     }
     foreach ($this->options as $option) {
         if ($option->hasFlag($flag)) {
             return $option;
         }
     }
     return NULL;
 }
Ejemplo n.º 2
0
 /**
  * A helper method for finding the appropriate data set index based on a flag
  *
  * @param String $flag
  * @return String
  */
 private function findFlagIndex($flag)
 {
     $flag = \r8\CLI\Option::normalizeFlag($flag, FALSE);
     if (isset($this->flags[$flag])) {
         return $flag;
     }
     foreach ($this->flags as $primary => $option) {
         if ($option['opt']->hasFlag($flag)) {
             return $primary;
         }
     }
     return NULL;
 }
Ejemplo n.º 3
0
 public function testNormalizeFlag()
 {
     $this->assertSame("a", \r8\CLI\Option::normalizeFlag("a"));
     $this->assertSame("A", \r8\CLI\Option::normalizeFlag("A"));
     $this->assertSame("test", \r8\CLI\Option::normalizeFlag("TesT"));
     $this->assertSame("with-spaces", \r8\CLI\Option::normalizeFlag("with spaces"));
     $this->assertSame("trim-this", \r8\CLI\Option::normalizeFlag("--trim-this--"));
     try {
         \r8\CLI\Option::normalizeFlag("   ");
         $this->fail("An expected exception was not thrown");
     } catch (\r8\Exception\Argument $err) {
     }
     $this->assertSame("", \r8\CLI\Option::normalizeFlag(NULL, FALSE));
 }