MCPcopy
hub / github.com/hashicorp/hcl / TestIndex

Function TestIndex

ops_test.go:394–528  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

392}
393
394func TestIndex(t *testing.T) {
395 tests := map[string]struct {
396 coll cty.Value
397 key cty.Value
398 want cty.Value
399 err string
400 }{
401 "marked key to maked value": {
402 coll: cty.ListVal([]cty.Value{
403 cty.StringVal("a"),
404 }),
405 key: cty.NumberIntVal(0).Mark("marked"),
406 want: cty.StringVal("a").Mark("marked"),
407 },
408 "missing list key": {
409 coll: cty.ListVal([]cty.Value{
410 cty.StringVal("a"),
411 }),
412 key: cty.NumberIntVal(1).Mark("marked"),
413 want: cty.DynamicVal,
414 err: "Invalid index",
415 },
416 "null marked key": {
417 coll: cty.ListVal([]cty.Value{
418 cty.StringVal("a"),
419 }),
420 key: cty.NullVal(cty.Number).Mark("marked"),
421 want: cty.DynamicVal,
422 err: "Invalid index",
423 },
424 "dynamic key": {
425 coll: cty.ListVal([]cty.Value{
426 cty.StringVal("a"),
427 }),
428 key: cty.DynamicVal,
429 want: cty.DynamicVal,
430 },
431 "invalid marked key type": {
432 coll: cty.ListVal([]cty.Value{
433 cty.StringVal("a"),
434 }),
435 key: cty.StringVal("foo").Mark("marked"),
436 want: cty.DynamicVal,
437 err: "Invalid index",
438 },
439 "marked map key": {
440 coll: cty.MapVal(map[string]cty.Value{
441 "foo": cty.StringVal("a"),
442 }),
443 key: cty.StringVal("foo").Mark("marked"),
444 want: cty.StringVal("a").Mark("marked"),
445 },
446 "missing marked map key": {
447 coll: cty.MapVal(map[string]cty.Value{
448 "foo": cty.StringVal("a"),
449 }),
450 key: cty.StringVal("bar").Mark("mark"),
451 want: cty.DynamicVal,

Callers

nothing calls this directly

Calls 5

IndexFunction · 0.85
ObjectMethod · 0.80
RunMethod · 0.80
HasErrorsMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected