pkg.tk-software.de/gotice@v0.4.1-0.20240224130243-6adec687b106/notice/options_test.go (about)

     1  // Copyright 2023-2024 Tobias Koch. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package notice
     6  
     7  import (
     8  	"io"
     9  	"os"
    10  	"testing"
    11  )
    12  
    13  func TestReadWrite(t *testing.T) {
    14  	f, err := os.CreateTemp("", "")
    15  	if err != nil {
    16  		t.Fatalf("Creation of temp file failed: %s", err)
    17  	}
    18  	defer os.Remove(f.Name())
    19  
    20  	o := NewOptions()
    21  	if err := WriteOptions(f, o); err != nil {
    22  		t.Fatalf("Writing options failed: %s", err)
    23  	}
    24  
    25  	if _, err := f.Seek(0, io.SeekStart); err != nil {
    26  		t.Fatalf("Seeking failed: %s", err)
    27  	}
    28  
    29  	no, err := ReadOptions(f)
    30  	if err != nil {
    31  		t.Fatalf("Reading options failed: %s", err)
    32  	}
    33  
    34  	if no.Template != o.Template {
    35  		t.Errorf("Expected template option %s, got %s", o.Template, no.Template)
    36  	}
    37  }