MCPcopy Create free account
hub / github.com/aws-cloudformation/rain / TestMergeNodesWithDifferentKinds

Function TestMergeNodesWithDifferentKinds

internal/node/node_test.go:331–355  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

329}
330
331func TestMergeNodesWithDifferentKinds(t *testing.T) {
332 // Test merging nodes of different kinds (should return override)
333 original := &yaml.Node{Kind: yaml.MappingNode, Content: make([]*yaml.Node, 0)}
334 override := &yaml.Node{Kind: yaml.SequenceNode, Content: make([]*yaml.Node, 0)}
335
336 original.Content = append(original.Content, node.MakeScalar("A"))
337 original.Content = append(original.Content, node.MakeScalar("foo"))
338
339 override.Content = append(override.Content, node.MakeScalar("1"))
340 override.Content = append(override.Content, node.MakeScalar("2"))
341
342 merged := node.MergeNodes(original, override)
343
344 if merged.Kind != yaml.SequenceNode {
345 t.Fatalf("Expected merged node to be a sequence node, got %v", merged.Kind)
346 }
347
348 if len(merged.Content) != 2 {
349 t.Fatalf("Expected merged content length to be 2, got %d", len(merged.Content))
350 }
351
352 if merged.Content[0].Value != "1" || merged.Content[1].Value != "2" {
353 t.Fatalf("Merged content doesn't match override content")
354 }
355}
356
357func TestMergeNodesWithScalars(t *testing.T) {
358 // Test merging scalar nodes (should return override)

Callers

nothing calls this directly

Calls 2

MakeScalarFunction · 0.92
MergeNodesFunction · 0.92

Tested by

no test coverage detected