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 package serialize | 5 package serialize |
6 | 6 |
7 import ( | 7 import ( |
8 "bytes" | 8 "bytes" |
9 "fmt" | 9 "fmt" |
10 "io" | 10 "io" |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 buf := mkBuf(nil) | 157 buf := mkBuf(nil) |
158 cmpbin.WriteString(buf, "foo") | 158 cmpbin.WriteString(buf, "foo") |
159 buf.WriteByte(byte(ds.PTInt)) | 159 buf.WriteByte(byte(ds.PTInt)) |
160 cmpbin.WriteInt(buf, 20) | 160 cmpbin.WriteInt(buf, 20) |
161 So(string(ToBytes(ds.KeyTok{Kind: "foo", IntID: 20})), | 161 So(string(ToBytes(ds.KeyTok{Kind: "foo", IntID: 20})), |
162 ShouldEqual, buf.String()) | 162 ShouldEqual, buf.String()) |
163 }) | 163 }) |
164 | 164 |
165 Convey("Property", func() { | 165 Convey("Property", func() { |
166 buf := mkBuf(nil) | 166 buf := mkBuf(nil) |
167 » » » buf.WriteByte(byte(ds.PTString)) | 167 » » » buf.WriteByte(0x80 | byte(ds.PTString)) |
168 cmpbin.WriteString(buf, "nerp") | 168 cmpbin.WriteString(buf, "nerp") |
169 So(string(ToBytes(mp("nerp"))), | 169 So(string(ToBytes(mp("nerp"))), |
170 ShouldEqual, buf.String()) | 170 ShouldEqual, buf.String()) |
171 }) | 171 }) |
172 | 172 |
173 Convey("Time", func() { | 173 Convey("Time", func() { |
174 tp := mp(time.Now().UTC()) | 174 tp := mp(time.Now().UTC()) |
175 So(string(ToBytes(tp.Value())), ShouldEqual, string(ToBy
tes(tp)[1:])) | 175 So(string(ToBytes(tp.Value())), ShouldEqual, string(ToBy
tes(tp)[1:])) |
176 }) | 176 }) |
177 | 177 |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 cmpbin.WriteUint(buf, 10) | 409 cmpbin.WriteUint(buf, 10) |
410 cmpbin.WriteString(buf, "ohai") | 410 cmpbin.WriteString(buf, "ohai") |
411 cmpbin.WriteUint(buf, 10) | 411 cmpbin.WriteUint(buf, 10) |
412 _, err := ReadPropertyMap(buf, WithContext, "",
"") | 412 _, err := ReadPropertyMap(buf, WithContext, "",
"") |
413 So(err, ShouldEqual, io.EOF) | 413 So(err, ShouldEqual, io.EOF) |
414 }) | 414 }) |
415 }) | 415 }) |
416 | 416 |
417 Convey("IndexDefinition", func() { | 417 Convey("IndexDefinition", func() { |
418 id := ds.IndexDefinition{Kind: "kind"} | 418 id := ds.IndexDefinition{Kind: "kind"} |
419 » » » data := ToBytes(id) | 419 » » » data := ToBytes(*id.PrepForIdxTable()) |
420 » » » So(string(data), ShouldStartWith, string(ds.IndexBuiltin
QueryPrefix())) | |
421 newID, err := ReadIndexDefinition(mkBuf(data)) | 420 newID, err := ReadIndexDefinition(mkBuf(data)) |
422 So(err, ShouldBeNil) | 421 So(err, ShouldBeNil) |
423 » » » So(newID, ShouldResemble, id) | 422 » » » So(newID.Flip(), ShouldResemble, id.Normalize()) |
424 | 423 |
425 id.SortBy = append(id.SortBy, ds.IndexColumn{Property: "
prop"}) | 424 id.SortBy = append(id.SortBy, ds.IndexColumn{Property: "
prop"}) |
426 » » » data = ToBytes(id) | 425 » » » data = ToBytes(*id.PrepForIdxTable()) |
427 » » » So(string(data), ShouldStartWith, string(ds.IndexBuiltin
QueryPrefix())) | |
428 newID, err = ReadIndexDefinition(mkBuf(data)) | 426 newID, err = ReadIndexDefinition(mkBuf(data)) |
429 So(err, ShouldBeNil) | 427 So(err, ShouldBeNil) |
430 » » » So(newID, ShouldResemble, id) | 428 » » » So(newID.Flip(), ShouldResemble, id.Normalize()) |
431 | 429 |
432 id.SortBy = append(id.SortBy, ds.IndexColumn{Property: "
other", Direction: ds.DESCENDING}) | 430 id.SortBy = append(id.SortBy, ds.IndexColumn{Property: "
other", Direction: ds.DESCENDING}) |
433 id.Ancestor = true | 431 id.Ancestor = true |
434 » » » data = ToBytes(id) | 432 » » » data = ToBytes(*id.PrepForIdxTable()) |
435 » » » So(string(data), ShouldStartWith, string(ds.IndexComplex
QueryPrefix())) | |
436 newID, err = ReadIndexDefinition(mkBuf(data)) | 433 newID, err = ReadIndexDefinition(mkBuf(data)) |
437 So(err, ShouldBeNil) | 434 So(err, ShouldBeNil) |
438 » » » So(newID, ShouldResemble, id) | 435 » » » So(newID.Flip(), ShouldResemble, id.Normalize()) |
439 | 436 |
440 // invalid | 437 // invalid |
441 id.SortBy = append(id.SortBy, ds.IndexColumn{Property: "
", Direction: ds.DESCENDING}) | 438 id.SortBy = append(id.SortBy, ds.IndexColumn{Property: "
", Direction: ds.DESCENDING}) |
442 » » » data = ToBytes(id) | 439 » » » data = ToBytes(*id.PrepForIdxTable()) |
443 » » » So(string(data), ShouldStartWith, string(ds.IndexComplex
QueryPrefix())) | |
444 newID, err = ReadIndexDefinition(mkBuf(data)) | 440 newID, err = ReadIndexDefinition(mkBuf(data)) |
445 So(err, ShouldBeNil) | 441 So(err, ShouldBeNil) |
446 » » » So(newID, ShouldResemble, id) | 442 » » » So(newID.Flip(), ShouldResemble, id.Normalize()) |
447 | 443 |
448 Convey("too many", func() { | 444 Convey("too many", func() { |
449 id := ds.IndexDefinition{Kind: "wat"} | 445 id := ds.IndexDefinition{Kind: "wat"} |
450 for i := 0; i < MaxIndexColumns+1; i++ { | 446 for i := 0; i < MaxIndexColumns+1; i++ { |
451 id.SortBy = append(id.SortBy, ds.IndexCo
lumn{Property: "Hi", Direction: ds.ASCENDING}) | 447 id.SortBy = append(id.SortBy, ds.IndexCo
lumn{Property: "Hi", Direction: ds.ASCENDING}) |
452 } | 448 } |
453 » » » » data := ToBytes(id) | 449 » » » » data := ToBytes(*id.PrepForIdxTable()) |
454 newID, err = ReadIndexDefinition(mkBuf(data)) | 450 newID, err = ReadIndexDefinition(mkBuf(data)) |
455 So(err, ShouldErrLike, "over 64 sort orders") | 451 So(err, ShouldErrLike, "over 64 sort orders") |
456 }) | 452 }) |
457 }) | 453 }) |
458 }) | 454 }) |
459 } | 455 } |
OLD | NEW |