mirror of
https://github.com/MontFerret/ferret.git
synced 2025-08-15 20:02:56 +02:00
Added custom type as a context key
This commit is contained in:
@@ -2,7 +2,9 @@ package core
|
|||||||
|
|
||||||
import "context"
|
import "context"
|
||||||
|
|
||||||
const paramsKey = "params"
|
type key int
|
||||||
|
|
||||||
|
const paramsKey key = 0
|
||||||
|
|
||||||
func ParamsWith(ctx context.Context, params map[string]Value) context.Context {
|
func ParamsWith(ctx context.Context, params map[string]Value) context.Context {
|
||||||
return context.WithValue(ctx, paramsKey, params)
|
return context.WithValue(ctx, paramsKey, params)
|
||||||
|
@@ -16,9 +16,12 @@ func TestParamsWith(t *testing.T) {
|
|||||||
p["val2"] = values.NewString("test")
|
p["val2"] = values.NewString("test")
|
||||||
|
|
||||||
pc := core.ParamsWith(context.Background(), p)
|
pc := core.ParamsWith(context.Background(), p)
|
||||||
|
|
||||||
So(pc, ShouldNotBeNil)
|
So(pc, ShouldNotBeNil)
|
||||||
So(pc.Value("params"), ShouldEqual, p)
|
|
||||||
|
out, err := core.ParamsFrom(pc)
|
||||||
|
|
||||||
|
So(err, ShouldBeNil)
|
||||||
|
So(out, ShouldEqual, p)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,10 +39,17 @@ func TestParamsFrom(t *testing.T) {
|
|||||||
pf, err := core.ParamsFrom(ctx)
|
pf, err := core.ParamsFrom(ctx)
|
||||||
|
|
||||||
So(err, ShouldNotBeNil)
|
So(err, ShouldNotBeNil)
|
||||||
|
So(pf, ShouldBeNil)
|
||||||
|
|
||||||
ctx = context.WithValue(context.Background(), "params", p)
|
ctx = context.WithValue(context.Background(), "params", p)
|
||||||
pf, err = core.ParamsFrom(ctx)
|
pf, err = core.ParamsFrom(ctx)
|
||||||
|
|
||||||
|
So(err, ShouldNotBeNil)
|
||||||
|
So(pf, ShouldBeNil)
|
||||||
|
|
||||||
|
ctx = core.ParamsWith(context.Background(), p)
|
||||||
|
pf, err = core.ParamsFrom(ctx)
|
||||||
|
|
||||||
So(err, ShouldBeNil)
|
So(err, ShouldBeNil)
|
||||||
So(pf, ShouldEqual, p)
|
So(pf, ShouldEqual, p)
|
||||||
})
|
})
|
||||||
@@ -60,7 +70,7 @@ func TestParamFrom(t *testing.T) {
|
|||||||
|
|
||||||
So(err, ShouldNotBeNil)
|
So(err, ShouldNotBeNil)
|
||||||
|
|
||||||
ctx = context.WithValue(context.Background(), "params", p)
|
ctx = core.ParamsWith(context.Background(), p)
|
||||||
v, err := core.ParamFrom(ctx, "val1")
|
v, err := core.ParamFrom(ctx, "val1")
|
||||||
|
|
||||||
So(err, ShouldBeNil)
|
So(err, ShouldBeNil)
|
||||||
|
Reference in New Issue
Block a user