HEX
Server: LiteSpeed
System: Linux in-mum-web785.main-hosting.eu 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
User: u338768758 (338768758)
PHP: 8.3.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/go/pkg/mod/github.com/opentracing/opentracing-go@v1.2.0/options_test.go
package opentracing

import (
	"testing"

	"github.com/stretchr/testify/require"
)

func TestChildOfAndFollowsFrom(t *testing.T) {
	tests := []struct {
		newOpt  func(SpanContext) SpanReference
		refType SpanReferenceType
		name    string
	}{
		{ChildOf, ChildOfRef, "ChildOf"},
		{FollowsFrom, FollowsFromRef, "FollowsFrom"},
	}

	for _, test := range tests {
		opts := new(StartSpanOptions)

		test.newOpt(nil).Apply(opts)
		require.Nil(t, opts.References, "%s(nil) must not append a reference", test.name)

		ctx := new(noopSpanContext)
		test.newOpt(ctx).Apply(opts)
		require.Equal(t, []SpanReference{
			SpanReference{ReferencedContext: ctx, Type: test.refType},
		}, opts.References, "%s(ctx) must append a reference", test.name)
	}
}