package cmd // import ( // "fmt" // "strings" // "testing" // "github.com/mikefarah/yq/v3/test" // ) // func TestDeleteYamlCmd(t *testing.T) { // content := `a: 2 // b: // c: things // d: something else // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s b.c", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `a: 2 // b: // d: something else // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteDeepDoesNotExistCmd(t *testing.T) { // content := `a: 2` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s b.c", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `a: 2 // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteSplatYaml(t *testing.T) { // content := `a: other // b: [3, 4] // c: // toast: leave // test: 1 // tell: 1 // tasty.taco: cool // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s c.te*", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `a: other // b: [3, 4] // c: // toast: leave // tasty.taco: cool // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteSplatArrayYaml(t *testing.T) { // content := `a: 2 // b: // hi: // - thing: item1 // name: fred // - thing: item2 // name: sam // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s b.hi[*].thing", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `a: 2 // b: // hi: // - name: fred // - name: sam // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteDeepSplatArrayYaml(t *testing.T) { // content := `thing: 123 // b: // hi: // - thing: item1 // name: fred // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s **.thing", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `b: // hi: // - name: fred // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteSplatPrefixYaml(t *testing.T) { // content := `a: 2 // b: // hi: // c: things // d: something else // there: // c: more things // d: more something else // there2: // c: more things also // d: more something else also // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s b.there*.c", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `a: 2 // b: // hi: // c: things // d: something else // there: // d: more something else // there2: // d: more something else also // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteYamlArrayCmd(t *testing.T) { // content := `- 1 // - 2 // - 3 // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s [1]", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `- 1 // - 3 // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteYamlArrayExpressionCmd(t *testing.T) { // content := `- name: fred // - name: cat // - name: thing // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s (name==cat)", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `- name: fred // - name: thing // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteYamlMulti(t *testing.T) { // content := `apples: great // --- // - 1 // - 2 // - 3 // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete -d 1 %s [1]", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `apples: great // --- // - 1 // - 3 // ` // test.AssertResult(t, expectedOutput, result.Output) // } // func TestDeleteYamlMultiAllCmd(t *testing.T) { // content := `b: // c: 3 // apples: great // --- // apples: great // something: else // ` // filename := test.WriteTempYamlFile(content) // defer test.RemoveTempYamlFile(filename) // cmd := getRootCommand() // result := test.RunCmd(cmd, fmt.Sprintf("delete %s -d * apples", filename)) // if result.Error != nil { // t.Error(result.Error) // } // expectedOutput := `b: // c: 3 // --- // something: else` // test.AssertResult(t, expectedOutput, strings.Trim(result.Output, "\n ")) // }