aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/context/value_test.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/context/value_test.v')
-rw-r--r--v_windows/v/vlib/context/value_test.v23
1 files changed, 23 insertions, 0 deletions
diff --git a/v_windows/v/vlib/context/value_test.v b/v_windows/v/vlib/context/value_test.v
new file mode 100644
index 0000000..a8ed5b5
--- /dev/null
+++ b/v_windows/v/vlib/context/value_test.v
@@ -0,0 +1,23 @@
+import context
+
+type ValueContextKey = string
+
+// This example demonstrates how a value can be passed to the context
+// and also how to retrieve it if it exists.
+fn test_with_value() {
+ f := fn (ctx context.Context, key ValueContextKey) string {
+ if value := ctx.value(key) {
+ if !isnil(value) {
+ return *(&string(value))
+ }
+ }
+ return 'key not found'
+ }
+
+ key := ValueContextKey('language')
+ value := 'VAL'
+ ctx := context.with_value(context.background(), key, &value)
+
+ assert value == f(ctx, key)
+ assert 'key not found' == f(ctx, ValueContextKey('color'))
+}