MCPcopy
hub / github.com/tinylib/msgp / TestFieldVsFileLimitPrecedence

Function TestFieldVsFileLimitPrecedence

_generated/limits_test.go:520–580  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

518}
519
520func TestFieldVsFileLimitPrecedence(t *testing.T) {
521 // Test precedence: field limits should override file limits
522 // limits.go has: arrays:100 maps:50
523
524 t.Run("TightSlice_FieldOverride", func(t *testing.T) {
525 // File limit: arrays:100, field limit: 10 -> field limit should apply
526 data := FieldOverrideTestData{
527 TightSlice: make([]int, 15), // Exceeds field limit (10) but within file limit (100)
528 }
529
530 marshaled, err := data.MarshalMsg(nil)
531 if err != nil {
532 t.Fatalf("Unexpected marshal error: %v", err)
533 }
534
535 var result FieldOverrideTestData
536 _, err = result.UnmarshalMsg(marshaled)
537 if err == nil {
538 t.Error("Expected error for TightSlice exceeding field limit (10), got nil")
539 }
540 })
541
542 t.Run("LooseSlice_FieldOverride", func(t *testing.T) {
543 // File limit: arrays:100, field limit: 200 -> field limit should apply
544 data := FieldOverrideTestData{
545 LooseSlice: make([]string, 150), // Within field limit (200) but exceeds file limit (100)
546 }
547 for i := range data.LooseSlice {
548 data.LooseSlice[i] = "test"
549 }
550
551 marshaled, err := data.MarshalMsg(nil)
552 if err != nil {
553 t.Fatalf("Unexpected marshal error: %v", err)
554 }
555
556 var result FieldOverrideTestData
557 _, err = result.UnmarshalMsg(marshaled)
558 if err != nil {
559 t.Errorf("Expected success for LooseSlice within field limit (200), got error: %v", err)
560 }
561 })
562
563 t.Run("DefaultFields_UseFileLimit", func(t *testing.T) {
564 // Fields without field limits should use file limits
565 data := FieldOverrideTestData{
566 DefaultSlice: make([]byte, 120), // Exceeds file limit (100)
567 }
568
569 marshaled, err := data.MarshalMsg(nil)
570 if err != nil {
571 t.Fatalf("Unexpected marshal error: %v", err)
572 }
573
574 var result FieldOverrideTestData
575 _, err = result.UnmarshalMsg(marshaled)
576 if err == nil {
577 t.Error("Expected error for DefaultSlice exceeding file limit (100), got nil")

Callers

nothing calls this directly

Calls 3

MarshalMsgMethod · 0.65
UnmarshalMsgMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…