mirror of https://github.com/golang/go.git
gofmt: added testcase for files containing \r\n line endings
(see also issue 3961).
hexdump -c testdata/crlf.input
0000000 / * \r \n \t S o u r c e c o n t
0000010 a i n i n g C R / L F l i n
0000020 e e n d i n g s . \r \n \t T h e
0000030 g o f m t ' e d o u t p u t
0000040 m u s t o n l y h a v e
0000050 L F \r \n \t l i n e e n d i n g
0000060 s . \r \n * / \r \n p a c k a g e
0000070 m a i n \r \n \r \n f u n c m a i
0000080 n ( ) { \r \n \t / / l i n e
0000090 c o m m e n t \r \n \t p r i n t l
00000a0 n ( " h e l l o , w o r l d !
00000b0 " ) / / a n o t h e r l i
00000c0 n e c o m m e n t \r \n \t p r i
00000d0 n t l n ( ) \r \n } \r \n
00000db
hexdump -c testdata/crlf.golden
0000000 / * \n \t S o u r c e c o n t a
0000010 i n i n g C R / L F l i n e
0000020 e n d i n g s . \n \t T h e g
0000030 o f m t ' e d o u t p u t m
0000040 u s t o n l y h a v e L F
0000050 \n \t l i n e e n d i n g s . \n
0000060 * / \n p a c k a g e m a i n \n
0000070 \n f u n c m a i n ( ) { \n \t
0000080 / / l i n e c o m m e n t \n
0000090 \t p r i n t l n ( " h e l l o ,
00000a0 w o r l d ! " ) / / a n o
00000b0 t h e r l i n e c o m m e n
00000c0 t \n \t p r i n t l n ( ) \n } \n
00000cf
R=rsc
CC=golang-dev
https://golang.org/cl/6526052
This commit is contained in:
parent
93195e1f31
commit
83601807af
|
|
@ -81,6 +81,7 @@ var tests = []struct {
|
||||||
{"testdata/stdin*.input", "-stdin"},
|
{"testdata/stdin*.input", "-stdin"},
|
||||||
{"testdata/comments.input", ""},
|
{"testdata/comments.input", ""},
|
||||||
{"testdata/import.input", ""},
|
{"testdata/import.input", ""},
|
||||||
|
{"testdata/crlf.input", ""}, // test case for issue 3961; see also TestCRLF
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRewrite(t *testing.T) {
|
func TestRewrite(t *testing.T) {
|
||||||
|
|
@ -103,3 +104,24 @@ func TestRewrite(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCRLF(t *testing.T) {
|
||||||
|
const input = "testdata/crlf.input" // must contain CR/LF's
|
||||||
|
const golden = "testdata/crlf.golden" // must not contain any CR's
|
||||||
|
|
||||||
|
data, err := ioutil.ReadFile(input)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
if bytes.Index(data, []byte("\r\n")) < 0 {
|
||||||
|
t.Errorf("%s contains no CR/LF's", input)
|
||||||
|
}
|
||||||
|
|
||||||
|
data, err = ioutil.ReadFile(golden)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err)
|
||||||
|
}
|
||||||
|
if bytes.Index(data, []byte("\r")) >= 0 {
|
||||||
|
t.Errorf("%s contains CR's", golden)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
/*
|
||||||
|
Source containing CR/LF line endings.
|
||||||
|
The gofmt'ed output must only have LF
|
||||||
|
line endings.
|
||||||
|
*/
|
||||||
|
package main
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// line comment
|
||||||
|
println("hello, world!") // another line comment
|
||||||
|
println()
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
/*
|
||||||
|
Source containing CR/LF line endings.
|
||||||
|
The gofmt'ed output must only have LF
|
||||||
|
line endings.
|
||||||
|
*/
|
||||||
|
package main
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// line comment
|
||||||
|
println("hello, world!") // another line comment
|
||||||
|
println()
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue