87 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package config
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
func TestFromNilContext(t *testing.T) {
 | 
						|
	// nolint: staticcheck
 | 
						|
	c, ok := FromContext(nil)
 | 
						|
	if ok || c != nil {
 | 
						|
		t.Fatal("FromContext not works")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestNewNilContext(t *testing.T) {
 | 
						|
	// nolint: staticcheck
 | 
						|
	ctx := NewContext(nil, NewConfig())
 | 
						|
 | 
						|
	c, ok := FromContext(ctx)
 | 
						|
	if c == nil || !ok {
 | 
						|
		t.Fatal("NewContext not works")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestFromContext(t *testing.T) {
 | 
						|
	ctx := context.WithValue(context.TODO(), configKey{}, NewConfig())
 | 
						|
 | 
						|
	c, ok := FromContext(ctx)
 | 
						|
	if c == nil || !ok {
 | 
						|
		t.Fatal("FromContext not works")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestNewContext(t *testing.T) {
 | 
						|
	ctx := NewContext(context.TODO(), NewConfig())
 | 
						|
 | 
						|
	c, ok := FromContext(ctx)
 | 
						|
	if c == nil || !ok {
 | 
						|
		t.Fatal("NewContext not works")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestSetOption(t *testing.T) {
 | 
						|
	type key struct{}
 | 
						|
	o := SetOption(key{}, "test")
 | 
						|
	opts := &Options{}
 | 
						|
	o(opts)
 | 
						|
 | 
						|
	if v, ok := opts.Context.Value(key{}).(string); !ok || v == "" {
 | 
						|
		t.Fatal("SetOption not works")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestSetSaveOption(t *testing.T) {
 | 
						|
	type key struct{}
 | 
						|
	o := SetSaveOption(key{}, "test")
 | 
						|
	opts := &SaveOptions{}
 | 
						|
	o(opts)
 | 
						|
 | 
						|
	if v, ok := opts.Context.Value(key{}).(string); !ok || v == "" {
 | 
						|
		t.Fatal("SetSaveOption not works")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestSetLoadOption(t *testing.T) {
 | 
						|
	type key struct{}
 | 
						|
	o := SetLoadOption(key{}, "test")
 | 
						|
	opts := &LoadOptions{}
 | 
						|
	o(opts)
 | 
						|
 | 
						|
	if v, ok := opts.Context.Value(key{}).(string); !ok || v == "" {
 | 
						|
		t.Fatal("SetLoadOption not works")
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func TestSetWatchOption(t *testing.T) {
 | 
						|
	type key struct{}
 | 
						|
	o := SetWatchOption(key{}, "test")
 | 
						|
	opts := &WatchOptions{}
 | 
						|
	o(opts)
 | 
						|
 | 
						|
	if v, ok := opts.Context.Value(key{}).(string); !ok || v == "" {
 | 
						|
		t.Fatal("SetWatchOption not works")
 | 
						|
	}
 | 
						|
}
 |