mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
"testing"
|
|
|
|
"github.com/mikefarah/yq/v2/pkg/marshal"
|
|
"github.com/mikefarah/yq/v2/test"
|
|
)
|
|
|
|
func TestMultilineString(t *testing.T) {
|
|
testString := `
|
|
abcd
|
|
efg`
|
|
formattedResult, _ := marshal.NewYamlConverter().YamlToString(testString, false)
|
|
test.AssertResult(t, testString, formattedResult)
|
|
}
|
|
|
|
func TestNewYaml(t *testing.T) {
|
|
result, _ := newYaml([]string{"b.c", "3"})
|
|
formattedResult := fmt.Sprintf("%v", result)
|
|
test.AssertResult(t,
|
|
"[{b [{c 3}]}]",
|
|
formattedResult)
|
|
}
|
|
|
|
func TestNewYamlArray(t *testing.T) {
|
|
result, _ := newYaml([]string{"[0].cat", "meow"})
|
|
formattedResult := fmt.Sprintf("%v", result)
|
|
test.AssertResult(t,
|
|
"[[{cat meow}]]",
|
|
formattedResult)
|
|
}
|
|
|
|
func TestNewYaml_WithScript(t *testing.T) {
|
|
writeScript = "examples/instruction_sample.yaml"
|
|
expectedResult := `b:
|
|
c: cat
|
|
e:
|
|
- name: Mike Farah`
|
|
result, _ := newYaml([]string{""})
|
|
actualResult, _ := marshal.NewYamlConverter().YamlToString(result, true)
|
|
test.AssertResult(t, expectedResult, actualResult)
|
|
}
|
|
|
|
func TestNewYaml_WithUnknownScript(t *testing.T) {
|
|
writeScript = "fake-unknown"
|
|
_, err := newYaml([]string{""})
|
|
if err == nil {
|
|
t.Error("Expected error due to unknown file")
|
|
}
|
|
var expectedOutput string
|
|
if runtime.GOOS == "windows" {
|
|
expectedOutput = `open fake-unknown: The system cannot find the file specified.`
|
|
} else {
|
|
expectedOutput = `open fake-unknown: no such file or directory`
|
|
}
|
|
test.AssertResult(t, expectedOutput, err.Error())
|
|
}
|