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
)

func TestOptionParsing(t *testing.T) {
11 12 13 14 15
  cmd := &commands.Command{}
  cmd.Register("test", &commands.Command{})

  opts, input, err := parseOptions([]string{ "--beep", "--boop=\"5", "lol\"", "test2", "-cV" },
    []string{"test"}, cmd)
16 17 18 19 20 21 22 23 24 25
  /*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)
  }
26
  if len(input) != 1 || input[0] != "test2" {
27 28
    t.Error("Returned input was different than expected: %v", input)
  }
Matt Bell's avatar
Matt Bell committed
29

30
  path, args, err := parsePath([]string{ "test", "beep", "boop" }, cmd)
Matt Bell's avatar
Matt Bell committed
31 32 33 34 35 36 37 38 39
  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)
  }
40
}