package goyaml_test


import (
    .   "gocheck"
    "goyaml"
    "reflect"
    "math"
)


var unmarshalIntTest = 123

var unmarshalTests = []struct {
    data  string
    value interface{}
}{
    {"", &struct{}{}},
    {"{}", &struct{}{}},

    {"v: hi", map[string]string{"v": "hi"}},
    {"v: hi", map[string]interface{}{"v": "hi"}},
    {"v: true", map[string]string{"v": "true"}},
    {"v: true", map[string]interface{}{"v": true}},
    {"v: 10", map[string]interface{}{"v": 10}},
    {"v: 0b10", map[string]interface{}{"v": 2}},
    {"v: 0xA", map[string]interface{}{"v": 10}},
    {"v: 4294967296", map[string]interface{}{"v": int64(4294967296)}},
    {"v: 4294967296", map[string]int64{"v": int64(4294967296)}},
    {"v: 0.1", map[string]interface{}{"v": 0.1}},
    {"v: .1", map[string]interface{}{"v": 0.1}},
    {"v: .Inf", map[string]interface{}{"v": math.Inf(+1)}},
    {"v: -.Inf", map[string]interface{}{"v": math.Inf(-1)}},
    {"v: -10", map[string]interface{}{"v": -10}},
    {"v: -.1", map[string]interface{}{"v": -0.1}},

    // Simple values.
    {"123", &unmarshalIntTest},

    // Floats from spec
    {"canonical: 6.8523e+5", map[string]interface{}{"canonical": 6.8523e+5}},
    {"expo: 685.230_15e+03", map[string]interface{}{"expo": 685.23015e+03}},
    {"fixed: 685_230.15", map[string]interface{}{"fixed": 685230.15}},
    //{"sexa: 190:20:30.15", map[string]interface{}{"sexa": 0}}, // Unsupported
    {"neginf: -.inf", map[string]interface{}{"neginf": math.Inf(-1)}},
    {"notanum: .NaN", map[string]interface{}{"notanum": math.NaN()}},
    {"fixed: 685_230.15", map[string]float64{"fixed": 685230.15}},

    // Bools from spec
    {"canonical: y", map[string]interface{}{"canonical": true}},
    {"answer: NO", map[string]interface{}{"answer": false}},
    {"logical: True", map[string]interface{}{"logical": true}},
    {"option: on", map[string]interface{}{"option": true}},
    {"option: on", map[string]bool{"option": true}},

    // Ints from spec
    {"canonical: 685230", map[string]interface{}{"canonical": 685230}},
    {"decimal: +685_230", map[string]interface{}{"decimal": 685230}},
    {"octal: 02472256", map[string]interface{}{"octal": 685230}},
    {"hexa: 0x_0A_74_AE", map[string]interface{}{"hexa": 685230}},
    {"bin: 0b1010_0111_0100_1010_1110", map[string]interface{}{"bin": 685230}},
    {"bin: -0b101010", map[string]interface{}{"bin": -42}},
    //{"sexa: 190:20:30", map[string]interface{}{"sexa": 0}}, // Unsupported
    {"decimal: +685_230", map[string]int{"decimal": 685230}},

    // Nulls from spec
    {"empty:", map[string]interface{}{"empty": nil}},
    {"canonical: ~", map[string]interface{}{"canonical": nil}},
    {"english: null", map[string]interface{}{"english": nil}},
    {"~: null key", map[interface{}]string{nil: "null key"}},
    {"empty:", map[string]*bool{"empty": nil}},

    // Sequence
    {"seq: [A,B]", map[string]interface{}{"seq": []interface{}{"A", "B"}}},
    {"seq: [A,B,C]", map[string][]string{"seq": []string{"A", "B", "C"}}},
    {"seq: [A,1,C]", map[string][]string{"seq": []string{"A", "1", "C"}}},
    {"seq: [A,1,C]", map[string][]int{"seq": []int{1}}},
    {"seq: [A,1,C]", map[string]interface{}{"seq": []interface{}{"A", 1, "C"}}},

    // Map inside interface with no type hints.
    {"a: {b: c}",
        map[string]interface{}{"a": map[interface{}]interface{}{"b": "c"}}},

    // Structs and type conversions.
    {"hello: world", &struct{ Hello string }{"world"}},
    {"a: {b: c}", &struct {
        A struct {
            B string
        }
    }{struct{ B string }{"c"}}},
    {"a: {b: c}", &struct {
        A *struct {
            B string
        }
    }{&struct{ B string }{"c"}}},
    {"a: 1", &struct{ A int }{1}},
    {"a: [1, 2]", &struct{ A []int }{[]int{1, 2}}},
    {"a: 1", &struct{ B int }{0}},
    {"a: 1", &struct {
        B int "a"
    }{1}},
    {"a: y", &struct{ A bool }{true}},

    // Some cross type conversions
    {"v: 42", map[string]uint{"v": 42}},
    {"v: -42", map[string]uint{}},
    {"v: 4294967296", map[string]uint64{"v": 4294967296}},
    {"v: -4294967296", map[string]uint64{}},

    // Overflow cases.
    {"v: 4294967297", map[string]int32{}},
    {"v: 128", map[string]int8{}},

    // Quoted values.
    {"'1': '\"2\"'", map[interface{}]interface{}{"1": "\"2\""}},

    // Explicit tags.
    {"v: !!float '1.1'", map[string]interface{}{"v": 1.1}},
    {"v: !!null ''", map[string]interface{}{"v": nil}},
    {"%TAG !y! tag:yaml.org,2002:\n---\nv: !y!int '1'",
        map[string]interface{}{"v": 1}},

    // Anchors and aliases.
    {"a: &x 1\nb: &y 2\nc: *x\nd: *y\n", &struct{ A, B, C, D int }{1, 2, 1, 2}},
    {"a: &a {c: 1}\nb: *a",
        &struct {
            A, B struct {
                C int
            }
        }{struct{ C int }{1}, struct{ C int }{1}}},
    {"a: &a [1, 2]\nb: *a", &struct{ B []int }{[]int{1, 2}}},
}


func (s *S) TestUnmarshal(c *C) {
    for _, item := range unmarshalTests {
        t := reflect.NewValue(item.value).Type()
        var value interface{}
        if t, ok := t.(*reflect.MapType); ok {
            value = reflect.MakeMap(t).Interface()
        } else {
            pt := reflect.NewValue(item.value).Type().(*reflect.PtrType)
            pv := reflect.MakeZero(pt).(*reflect.PtrValue)
            pv.PointTo(reflect.MakeZero(pt.Elem()))
            value = pv.Interface()
        }
        err := goyaml.Unmarshal([]byte(item.data), value)
        c.Assert(err, IsNil)
        c.Assert(value, Equals, item.value)
    }
}

var unmarshalErrorTests = []struct {
    data, error string
}{
    {"v: !!float 'error'",
        "YAML error: Can't decode !!str 'error' as a !!float"},
    {"v: [A,", "YAML error: line 1: did not find expected node content"},
    {"v:\n- [A,", "YAML error: line 2: did not find expected node content"},
    {"a: *b\n", "YAML error: Unknown anchor 'b' referenced"},
    {"a: &a\n  b: *a\n", "YAML error: Anchor 'a' value contains itself"},
}

func (s *S) TestUnmarshalErrors(c *C) {
    for _, item := range unmarshalErrorTests {
        var value interface{}
        err := goyaml.Unmarshal([]byte(item.data), &value)
        c.Assert(err, Matches, item.error, Bug("Partial unmarshal: %#v", value))
    }
}

var setterTests = []struct {
    data, tag string
    value     interface{}
}{
    {"_: {hi: there}", "!!map", map[interface{}]interface{}{"hi": "there"}},
    {"_: [1,A]", "!!seq", []interface{}{1, "A"}},
    {"_: 10", "!!int", 10},
    {"_: null", "!!null", nil},
    {"_: !!foo 'BAR!'", "!!foo", "BAR!"},
}

var setterResult = map[int]bool{}

type typeWithSetter struct {
    tag   string
    value interface{}
}

func (o *typeWithSetter) SetYAML(tag string, value interface{}) (ok bool) {
    o.tag = tag
    o.value = value
    if i, ok := value.(int); ok {
        if result, ok := setterResult[i]; ok {
            return result
        }
    }
    return true
}

type typeWithSetterField struct {
    Field *typeWithSetter "_"
}

func (s *S) TestUnmarshalWithSetter(c *C) {
    for _, item := range setterTests {
        obj := &typeWithSetterField{}
        err := goyaml.Unmarshal([]byte(item.data), obj)
        c.Assert(err, IsNil)
        c.Assert(obj.Field, NotNil,
            Bug("Pointer not initialized (%#v)", item.value))
        c.Assert(obj.Field.tag, Equals, item.tag)
        c.Assert(obj.Field.value, Equals, item.value)
    }
}

func (s *S) TestUnmarshalWholeDocumentWithSetter(c *C) {
    obj := &typeWithSetter{}
    err := goyaml.Unmarshal([]byte(setterTests[0].data), obj)
    c.Assert(err, IsNil)
    c.Assert(obj.tag, Equals, setterTests[0].tag)
    value, ok := obj.value.(map[interface{}]interface{})
    c.Assert(ok, Equals, true)
    c.Assert(value["_"], Equals, setterTests[0].value)
}

func (s *S) TestUnmarshalWithFalseSetterIgnoresValue(c *C) {
    setterResult[2] = false
    setterResult[4] = false
    defer func() {
        setterResult[2] = false, false
        setterResult[4] = false, false
    }()

    m := map[string]*typeWithSetter{}
    data := "{abc: 1, def: 2, ghi: 3, jkl: 4}"
    err := goyaml.Unmarshal([]byte(data), m)
    c.Assert(err, IsNil)
    c.Assert(m["abc"], NotNil)
    c.Assert(m["def"], IsNil)
    c.Assert(m["ghi"], NotNil)
    c.Assert(m["jkl"], IsNil)

    c.Assert(m["abc"].value, Equals, 1)
    c.Assert(m["ghi"].value, Equals, 3)
}
