(t *testing.T)
| 518 | } |
| 519 | |
| 520 | func 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") |
nothing calls this directly
no test coverage detected
searching dependent graphs…