Changeset 94 in code for trunk/contenttype


Ignore:
Timestamp:
Aug 11, 2019, 8:28:28 AM (6 years ago)
Author:
alex
Message:

[fix] tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/contenttype/contenttype_test.go

    r65 r94  
    22
    33import (
     4        "bytes"
     5        "fmt"
    46        "testing"
    57)
     
    7375
    7476type FilterTestCase struct {
     77        Description string
    7578        Input       Filter
    7679        TrueValues  []ContentType
     
    8083var filterTestCases []FilterTestCase = []FilterTestCase{
    8184        FilterTestCase{
     85                "contains xml",
    8286                NewFilterContains("xml"),
    8387                []ContentType{
     
    9296        },
    9397        FilterTestCase{
     98                "equals applications/xhtml",
    9499                NewFilterEquals("application", "xhtml", "*"),
    95100                []ContentType{
     
    105110        },
    106111        FilterTestCase{
     112                "equals application/*",
    107113                NewFilterEquals("application", "*", ""),
    108114                []ContentType{
     
    116122        },
    117123        FilterTestCase{
     124                "equals applications */javascript",
    118125                NewFilterEquals("*", "javascript", ""),
    119126                []ContentType{
     
    127134        },
    128135        FilterTestCase{
     136                "equals applications/* or */javascript",
    129137                NewFilterOr([]Filter{
    130138                        NewFilterEquals("application", "*", ""),
     
    214222}
    215223
     224func FilterToString(m map[string]bool) string {
     225        b := new(bytes.Buffer)
     226        for key, value := range m {
     227                if value {
     228                        fmt.Fprintf(b, "'%s'=true;", key)
     229                } else {
     230                        fmt.Fprintf(b, "'%s'=false;", key)
     231                }
     232        }
     233        return b.String()
     234}
     235
    216236func TestFilters(t *testing.T) {
    217237        for _, testCase := range filterTestCases {
    218238                for _, contentType := range testCase.TrueValues {
    219239                        if !testCase.Input(contentType) {
    220                                 t.Errorf(`Filter "%s" must accept the value "%s"`, testCase.Input, contentType)
     240                                t.Errorf(`Filter "%s" must accept the value "%s"`, testCase.Description, contentType)
    221241                        }
    222242                }
    223243                for _, contentType := range testCase.FalseValues {
    224244                        if testCase.Input(contentType) {
    225                                 t.Errorf(`Filter "%s" mustn't accept the value "%s"`, testCase.Input, contentType)
     245                                t.Errorf(`Filter "%s" mustn't accept the value "%s"`, testCase.Description, contentType)
    226246                        }
    227247                }
     
    242262                contentTypeOutput := ContentType{"", "", "", testCase.Output}
    243263                if !contentTypeOutput.Equals(contentType) {
    244                         t.Errorf(`FilterParameters error : %s becomes %s with this filter %s`, testCase.Input, contentType.Parameters, testCase.Filter)
    245                 }
    246         }
    247 }
     264                        t.Errorf(`FilterParameters error : %s becomes %s with this filter %s`, testCase.Input, contentType.Parameters, FilterToString(testCase.Filter))
     265                }
     266        }
     267}
Note: See TracChangeset for help on using the changeset viewer.