func (s *S) TestList(c *C) { sch := schema.List(schema.Int()) out, err := sch.Coerce([]int8{1, 2}, aPath) c.Assert(err, IsNil) c.Assert(out, DeepEquals, []interface{}{int64(1), int64(2)}) out, err = sch.Coerce(42, aPath) c.Assert(out, IsNil) c.Assert(err, ErrorMatches, "<path>: expected list, got 42") out, err = sch.Coerce(nil, aPath) c.Assert(out, IsNil) c.Assert(err, ErrorMatches, "<path>: expected list, got nothing") out, err = sch.Coerce([]interface{}{1, true}, aPath) c.Assert(out, IsNil) c.Assert(err, ErrorMatches, `<path>\[1\]: expected int, got true`) }
}, schema.Defaults{ "scope": string(ScopeGlobal), "optional": false, }, ) var charmSchema = schema.FieldMap( schema.Fields{ "name": schema.String(), "summary": schema.String(), "description": schema.String(), "peers": schema.StringMap(ifaceExpander(int64(1))), "provides": schema.StringMap(ifaceExpander(nil)), "requires": schema.StringMap(ifaceExpander(int64(1))), "revision": schema.Int(), // Obsolete "format": schema.Int(), "subordinate": schema.Bool(), "categories": schema.List(schema.String()), }, schema.Defaults{ "provides": schema.Omit, "requires": schema.Omit, "peers": schema.Omit, "revision": schema.Omit, "format": 1, "subordinate": schema.Omit, "categories": schema.Omit, }, )