(t *testing.T)
| 683 | } |
| 684 | |
| 685 | func TestSharedState_UsesAppXMLCodec(t *testing.T) { |
| 686 | t.Parallel() |
| 687 | |
| 688 | encoderCalled := false |
| 689 | decoderCalled := false |
| 690 | |
| 691 | app := New(Config{ |
| 692 | SharedStorage: newSharedStateMemoryStorage(t), |
| 693 | XMLEncoder: func(_ any) ([]byte, error) { |
| 694 | encoderCalled = true |
| 695 | return []byte("<value>xml-payload</value>"), nil |
| 696 | }, |
| 697 | XMLDecoder: func(data []byte, out any) error { |
| 698 | decoderCalled = true |
| 699 | ptr, ok := out.(*string) |
| 700 | if ok { |
| 701 | *ptr = string(data) |
| 702 | } |
| 703 | return nil |
| 704 | }, |
| 705 | }) |
| 706 | |
| 707 | require.NoError(t, app.SharedState().SetXML("codec", Map{"ignored": true}, time.Minute)) |
| 708 | |
| 709 | var out string |
| 710 | raw, found, err := app.SharedState().GetXML("codec", &out) |
| 711 | require.NoError(t, err) |
| 712 | require.True(t, found) |
| 713 | require.Equal(t, []byte("<value>xml-payload</value>"), raw) |
| 714 | require.Equal(t, "<value>xml-payload</value>", out) |
| 715 | require.True(t, encoderCalled) |
| 716 | require.True(t, decoderCalled) |
| 717 | } |
| 718 | |
| 719 | func TestSharedState_EmptyKeyBehavior(t *testing.T) { |
| 720 | t.Parallel() |
nothing calls this directly
no test coverage detected