| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // adapted from github.com/golang/appengine/datastore | 5 // adapted from github.com/golang/appengine/datastore |
| 6 | 6 |
| 7 package rawdatastore | 7 package rawdatastore |
| 8 | 8 |
| 9 import ( | 9 import ( |
| 10 "bytes" | 10 "bytes" |
| (...skipping 1625 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1636 | 1636 |
| 1637 Convey("attempting to get a PLS for a non *struct is an error",
func() { | 1637 Convey("attempting to get a PLS for a non *struct is an error",
func() { |
| 1638 pls := GetPLS((*[]string)(nil)) | 1638 pls := GetPLS((*[]string)(nil)) |
| 1639 So(pls.Problem(), ShouldEqual, ErrInvalidEntityType) | 1639 So(pls.Problem(), ShouldEqual, ErrInvalidEntityType) |
| 1640 }) | 1640 }) |
| 1641 | 1641 |
| 1642 Convey("convertible meta default types", func() { | 1642 Convey("convertible meta default types", func() { |
| 1643 type OKDefaults struct { | 1643 type OKDefaults struct { |
| 1644 When string `gae:"$when,tomorrow"` | 1644 When string `gae:"$when,tomorrow"` |
| 1645 Amount int64 `gae:"$amt,100"` | 1645 Amount int64 `gae:"$amt,100"` |
| 1646 DoIt Toggle `gae:"$doit,on"` |
| 1646 } | 1647 } |
| 1647 » » » pls := GetPLS(&OKDefaults{}) | 1648 » » » okd := &OKDefaults{} |
| 1649 » » » pls := GetPLS(okd) |
| 1648 So(pls.Problem(), ShouldBeNil) | 1650 So(pls.Problem(), ShouldBeNil) |
| 1649 | 1651 |
| 1650 v, err := pls.GetMeta("when") | 1652 v, err := pls.GetMeta("when") |
| 1651 So(err, ShouldBeNil) | 1653 So(err, ShouldBeNil) |
| 1652 So(v, ShouldEqual, "tomorrow") | 1654 So(v, ShouldEqual, "tomorrow") |
| 1653 | 1655 |
| 1654 v, err = pls.GetMeta("amt") | 1656 v, err = pls.GetMeta("amt") |
| 1655 So(err, ShouldBeNil) | 1657 So(err, ShouldBeNil) |
| 1656 So(v, ShouldEqual, int64(100)) | 1658 So(v, ShouldEqual, int64(100)) |
| 1659 |
| 1660 So(okd.DoIt, ShouldEqual, Auto) |
| 1661 v, err = pls.GetMeta("doit") |
| 1662 So(err, ShouldBeNil) |
| 1663 So(v, ShouldBeTrue) |
| 1664 |
| 1665 err = pls.SetMeta("doit", false) |
| 1666 So(err, ShouldBeNil) |
| 1667 v, err = pls.GetMeta("doit") |
| 1668 So(err, ShouldBeNil) |
| 1669 So(v, ShouldBeFalse) |
| 1670 So(okd.DoIt, ShouldEqual, Off) |
| 1671 |
| 1672 err = pls.SetMeta("doit", true) |
| 1673 So(err, ShouldBeNil) |
| 1674 v, err = pls.GetMeta("doit") |
| 1675 So(err, ShouldBeNil) |
| 1676 So(v, ShouldBeTrue) |
| 1677 So(okd.DoIt, ShouldEqual, On) |
| 1657 }) | 1678 }) |
| 1658 | 1679 |
| 1659 Convey("meta fields can be saved", func() { | 1680 Convey("meta fields can be saved", func() { |
| 1660 type OKDefaults struct { | 1681 type OKDefaults struct { |
| 1661 When string `gae:"$when,tomorrow"` | 1682 When string `gae:"$when,tomorrow"` |
| 1662 Amount int64 `gae:"$amt,100"` | 1683 Amount int64 `gae:"$amt,100"` |
| 1663 } | 1684 } |
| 1664 pls := GetPLS(&OKDefaults{}) | 1685 pls := GetPLS(&OKDefaults{}) |
| 1665 pm, err := pls.Save(true) | 1686 pm, err := pls.Save(true) |
| 1666 So(err, ShouldBeNil) | 1687 So(err, ShouldBeNil) |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1709 | 1730 |
| 1710 Convey("Bad default meta type", func() { | 1731 Convey("Bad default meta type", func() { |
| 1711 type BadDefault struct { | 1732 type BadDefault struct { |
| 1712 Val time.Time `gae:"$meta,tomorrow"` | 1733 Val time.Time `gae:"$meta,tomorrow"` |
| 1713 } | 1734 } |
| 1714 pls := GetPLS(&BadDefault{}) | 1735 pls := GetPLS(&BadDefault{}) |
| 1715 So(pls.Problem().Error(), ShouldContainSubstring, "bad t
ype") | 1736 So(pls.Problem().Error(), ShouldContainSubstring, "bad t
ype") |
| 1716 }) | 1737 }) |
| 1717 }) | 1738 }) |
| 1718 } | 1739 } |
| OLD | NEW |