github.com/cihub/seelog@v0.0.0-20170130134532-f561c5e57575/writers_formattedwriter_test.go (about)

     1  // Copyright (c) 2012 - Cloud Instruments Co., Ltd.
     2  //
     3  // All rights reserved.
     4  //
     5  // Redistribution and use in source and binary forms, with or without
     6  // modification, are permitted provided that the following conditions are met:
     7  //
     8  // 1. Redistributions of source code must retain the above copyright notice, this
     9  //    list of conditions and the following disclaimer.
    10  // 2. Redistributions in binary form must reproduce the above copyright notice,
    11  //    this list of conditions and the following disclaimer in the documentation
    12  //    and/or other materials provided with the distribution.
    13  //
    14  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
    15  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
    16  // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    17  // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
    18  // ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
    19  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    20  // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    21  // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    22  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    23  // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    24  
    25  package seelog
    26  
    27  import (
    28  	"testing"
    29  )
    30  
    31  func TestformattedWriter(t *testing.T) {
    32  	formatStr := "%Level %LEVEL %Msg"
    33  	message := "message"
    34  	var logLevel = LogLevel(TraceLvl)
    35  
    36  	bytesVerifier, err := newBytesVerifier(t)
    37  	if err != nil {
    38  		t.Error(err)
    39  		return
    40  	}
    41  
    42  	formatter, err := NewFormatter(formatStr)
    43  	if err != nil {
    44  		t.Error(err)
    45  		return
    46  	}
    47  
    48  	writer, err := NewFormattedWriter(bytesVerifier, formatter)
    49  	if err != nil {
    50  		t.Error(err)
    51  		return
    52  	}
    53  
    54  	context, err := currentContext(nil)
    55  	if err != nil {
    56  		t.Error(err)
    57  		return
    58  	}
    59  
    60  	logMessage := formatter.Format(message, logLevel, context)
    61  
    62  	bytesVerifier.ExpectBytes([]byte(logMessage))
    63  	writer.Write(message, logLevel, context)
    64  	bytesVerifier.MustNotExpect()
    65  }