(t *testing.T)
| 104 | } |
| 105 | |
| 106 | func TestIso8601Time(t *testing.T) { |
| 107 | pairs := map[string]time.Time{ |
| 108 | `{ "Created": "2021-07-30T19:14:33Z" }`: TimeMustParse("2021-07-30T19:14:33Z"), |
| 109 | `{ "Created": "2021-07-30T19:14:33-0100" }`: TimeMustParse("2021-07-30T20:14:33Z"), |
| 110 | `{ "Created": "2021-07-30T19:14:33+0100" }`: TimeMustParse("2021-07-30T18:14:33Z"), |
| 111 | `{ "Created": "2021-07-30T19:14:33.000-01:00" }`: TimeMustParse("2021-07-30T20:14:33Z"), |
| 112 | `{ "Created": "2021-07-30T19:14:33.000+01:00" }`: TimeMustParse("2021-07-30T18:14:33Z"), |
| 113 | `{ "Created": "2021-07-30T19:14:33+01:00" }`: TimeMustParse("2021-07-30T18:14:33Z"), |
| 114 | } |
| 115 | |
| 116 | for input, expected := range pairs { |
| 117 | var record Iso8601TimeRecord |
| 118 | err := errors.Convert(json.Unmarshal([]byte(input), &record)) |
| 119 | assert.Nil(t, err) |
| 120 | assert.Equal(t, expected, record.Created.ToTime().UTC()) |
| 121 | |
| 122 | var ms map[string]interface{} |
| 123 | err = errors.Convert(json.Unmarshal([]byte(input), &ms)) |
| 124 | assert.Nil(t, err) |
| 125 | |
| 126 | var record2 Iso8601TimeRecord |
| 127 | err = DecodeMapStruct(ms, &record2, true) |
| 128 | assert.Nil(t, err) |
| 129 | assert.Equal(t, expected, record2.Created.ToTime().UTC()) |
| 130 | |
| 131 | var record3 Iso8601TimeRecordP |
| 132 | err = DecodeMapStruct(ms, &record3, true) |
| 133 | assert.Nil(t, err) |
| 134 | assert.Equal(t, expected, record3.Created.ToTime().UTC()) |
| 135 | |
| 136 | var record4 TimeRecord |
| 137 | err = DecodeMapStruct(ms, &record4, true) |
| 138 | assert.Nil(t, err) |
| 139 | assert.Equal(t, expected, record4.Created.UTC()) |
| 140 | } |
| 141 | } |
| 142 | |
| 143 | func TestDecodeMapStructUrlVales(t *testing.T) { |
| 144 | query := &url.Values{} |
nothing calls this directly
no test coverage detected