parse_test.go 1.13 KB
Newer Older
1 2 3 4 5
package cli

import (
  //"fmt"
  "testing"
Matt Bell's avatar
Matt Bell committed
6 7

  "github.com/jbenet/go-ipfs/commands"
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
)

func TestOptionParsing(t *testing.T) {
  opts, input, err := options([]string{ "test", "--beep", "--boop=\"5", "lol\"", "test2", "-cV" }, nil)
  /*for k, v := range opts {
    fmt.Printf("%s: %s\n", k, v)
  }
  fmt.Printf("%s\n", input)*/
  if err != nil {
    t.Error("Should have passed")
  }
  if len(opts) != 4 || opts["c"] != "" || opts["V"] != "" || opts["beep"] != "" || opts["boop"] != "5 lol" {
    t.Error("Returned options were defferent than expected: %v", opts)
  }
  if len(input) != 2 || input[0] != "test" || input[1] != "test2" {
    t.Error("Returned input was different than expected: %v", input)
  }
Matt Bell's avatar
Matt Bell committed
25 26 27 28 29 30 31 32 33 34 35 36 37

  cmd := &commands.Command{}
  cmd.Register("test", &commands.Command{})
  path, args, err := path([]string{ "test", "beep", "boop" }, cmd)
  if err != nil {
    t.Error("Should have passed")
  }
  if len(path) != 1 || path[0] != "test" {
    t.Error("Returned path was defferent than expected: %v", path)
  }
  if len(args) != 2 || args[0] != "beep" || args[1] != "boop" {
    t.Error("Returned args were different than expected: %v", args)
  }
38
}