Add regression test for #4069

This may be brittle as it makes use of .gitattributes to override the
autocrlf setting in order to have an input file with Windows line
endings across multiple platforms.
pull/4130/head
James Nugent 11 years ago
parent 4efb44307b
commit 5ea25363a1

@ -45,6 +45,36 @@ func TestLoadFile_badType(t *testing.T) {
}
}
func TestLoadFileWindowsLineEndings(t *testing.T) {
testFile := filepath.Join(fixtureDir, "windows-line-endings.tf")
contents, err := ioutil.ReadFile(testFile)
if err != nil {
t.Fatalf("err: %s", err)
}
if !strings.Contains(string(contents), "\r\n") {
t.Fatalf("Windows line endings test file %s contains no windows line endings - this may be an autocrlf related issue.", testFile)
}
c, err := LoadFile(testFile)
if err != nil {
t.Fatalf("err: %s", err)
}
if c == nil {
t.Fatal("config should not be nil")
}
if c.Dir != "" {
t.Fatalf("bad: %#v", c.Dir)
}
actual := resourcesStr(c.Resources)
if actual != strings.TrimSpace(windowsHeredocResourcesStr) {
t.Fatalf("bad:\n%s", actual)
}
}
func TestLoadFileHeredoc(t *testing.T) {
c, err := LoadFile(filepath.Join(fixtureDir, "heredoc.tf"))
if err != nil {
@ -673,6 +703,11 @@ cloudstack_firewall[test] (x1)
rule
`
const windowsHeredocResourcesStr = `
aws_instance[test] (x1)
user_data
`
const heredocProvidersStr = `
aws
access_key

@ -0,0 +1 @@
windows-line-endings.tf eol=crlf

@ -0,0 +1,6 @@
// This is a comment
resource "aws_instance" "test" {
user_data = <<HEREDOC
test script
HEREDOC
}
Loading…
Cancel
Save