Ctrl K
ComunidadGuías…

internal/domain/widget_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package domain

import "testing"

// ApplyWidgetDataPatch records explicit public-data presence so an explicit ""
// clear is distinguishable from "no per-message override" and is idempotent.
func TestApplyWidgetDataPatchPresenceAndClear(t *testing.T) {
	widget := &MessageWidget{PublicData: "a", PublicDataHash: WidgetDataHash("a")}
	media := &MessageMedia{Kind: MessageMediaKindWidget, Widget: widget}
	empty := ""
	if !ApplyWidgetDataPatch(media, &MessageWidgetDataPatch{PublicData: &empty}) {
		t.Fatal("clearing public data reported no change")
	}
	if !widget.PublicDataSet || widget.PublicData != "" || widget.PublicDataHash != WidgetDataHash("") {
		t.Fatalf("cleared widget = %+v", widget)
	}
	if ApplyWidgetDataPatch(media, &MessageWidgetDataPatch{PublicData: &empty}) {
		t.Fatal("re-applying the same clear reported a change")
	}
	// A non-widget media is never patched.
	if ApplyWidgetDataPatch(&MessageMedia{Kind: MessageMediaKindPhoto}, &MessageWidgetDataPatch{PublicData: &empty}) {
		t.Fatal("non-widget media was patched")
	}
}