@@ -271,6 +271,12 @@ func testNewMachine(t *testing.T, n *Netrc) {
271271 }
272272 }
273273
274+ // test prefix for machine token
275+ prefix := "\n "
276+ if len (n .tokens ) == 0 {
277+ prefix = ""
278+ }
279+
274280 m := n .NewMachine (test .name , test .login , test .password , test .account )
275281 if m == nil {
276282 t .Fatalf ("NewMachine() returned nil" )
@@ -293,7 +299,7 @@ func testNewMachine(t *testing.T, n *Netrc) {
293299 t .Errorf ("m.Account expected %q, got %q" , test .account , m .Account )
294300 }
295301 // check tokens
296- checkToken (t , "nametoken" , m .nametoken , tkMachine , " \n machine " , test .name )
302+ checkToken (t , "nametoken" , m .nametoken , tkMachine , prefix + "machine " , test .name )
297303 checkToken (t , "logintoken" , m .logintoken , tkLogin , "\n \t login" , test .login )
298304 checkToken (t , "passtoken" , m .passtoken , tkPassword , "\n \t password" , test .password )
299305 checkToken (t , "accounttoken" , m .accounttoken , tkAccount , "\n \t account" , test .account )
@@ -510,6 +516,32 @@ func TestUpdatePassword(t *testing.T) {
510516 }
511517}
512518
519+ func TestNewFile (t * testing.T ) {
520+ var n Netrc
521+
522+ result , err := n .MarshalText ()
523+ if err != nil {
524+ t .Fatal (err )
525+ }
526+ if string (result ) != "" {
527+ t .Errorf ("expected empty result=\" \" , got %q" , string (result ))
528+ }
529+
530+ n .NewMachine ("netrctest.heroku.com" , "auser" , "apassword" , "" )
531+
532+ result , err = n .MarshalText ()
533+ if err != nil {
534+ t .Fatal (err )
535+ }
536+ expected := `machine netrctest.heroku.com
537+ login auser
538+ password apassword`
539+
540+ if string (result ) != expected {
541+ t .Errorf ("expected result:\n %q\n got:\n %q" , expected , string (result ))
542+ }
543+ }
544+
513545func netrcReader (filename string , t * testing.T ) io.Reader {
514546 b , err := ioutil .ReadFile (filename )
515547 if err != nil {
0 commit comments