Skip to content

Commit 1eb5fe5

Browse files
authored
Merge pull request #411 from rusq/i406-followup
Adding divider support and fixing test on windows
2 parents 303b24a + 6797dcf commit 1eb5fe5

File tree

7 files changed

+29
-23
lines changed

7 files changed

+29
-23
lines changed

internal/viewer/renderer/fixtures/polly.html

Lines changed: 0 additions & 15 deletions
This file was deleted.
452 Bytes
Binary file not shown.

internal/viewer/renderer/slack_fixtures_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,6 @@ const (
446446
var (
447447
//go:embed fixtures/polly.json
448448
fxtrPolly string
449-
//go:embed fixtures/polly.html
450-
fxtrPollyHTML string
449+
//go:embed fixtures/polly.html.gz
450+
fxtrPollyHTML []byte
451451
)

internal/viewer/renderer/slack_rich_text.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func (s *Slack) rtseText(ie slack.RichTextSectionElement) (string, string, error
5959
if !ok {
6060
return "", "", NewErrIncorrectType(&slack.RichTextSectionTextElement{}, ie)
6161
}
62-
var t = strings.Replace(e.Text, "\n", "<br>", -1)
62+
t := strings.ReplaceAll(e.Text, "\n", "<br>")
6363

6464
return applyStyle(t, e.Style), "", nil
6565
}

internal/viewer/renderer/slack_sundry.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ import "github.com/rusq/slack"
1111
func (*Slack) mbtCall(slack.Block) (string, string, error) {
1212
return div("slack-call", "(Call)"), "", nil
1313
}
14+
15+
func (*Slack) mbtDivider(slack.Block) (string, string, error) {
16+
return div("slack-divider", "<hr/>"), "", nil
17+
}

internal/viewer/renderer/slack_test.go

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package renderer
22

33
import (
4+
"bytes"
5+
"compress/gzip"
46
"context"
57
"html/template"
6-
"reflect"
8+
"io"
79
"strings"
810
"testing"
911

1012
"github.com/rusq/slack"
13+
"github.com/stretchr/testify/assert"
1114

1215
"github.com/rusq/slackdump/v3/internal/viewer/renderer/functions"
1316
)
@@ -73,19 +76,32 @@ func TestSlack_Render(t *testing.T) {
7376
args{
7477
m: loadmsg(t, fxtrPolly),
7578
},
76-
template.HTML(fxtrPollyHTML),
79+
template.HTML(strings.TrimSpace(ungzip(t, fxtrPollyHTML))),
7780
},
7881
}
7982
for _, tt := range tests {
8083
t.Run(tt.name, func(t *testing.T) {
8184
sm := &Slack{}
82-
if gotV := sm.Render(context.Background(), tt.args.m); !reflect.DeepEqual(gotV, tt.wantV) {
83-
t.Errorf("Slack.Render() = %v, want %v", gotV, tt.wantV)
84-
}
85+
gotV := sm.Render(context.Background(), tt.args.m)
86+
assert.Equal(t, gotV, tt.wantV)
8587
})
8688
}
8789
}
8890

91+
func ungzip(t *testing.T, b []byte) string {
92+
t.Helper()
93+
gr, err := gzip.NewReader(bytes.NewReader(b))
94+
if err != nil {
95+
t.Fatal(err)
96+
}
97+
defer gr.Close()
98+
var buf strings.Builder
99+
if _, err := io.Copy(&buf, gr); err != nil {
100+
t.Fatal(err)
101+
}
102+
return buf.String()
103+
}
104+
89105
func TestSlack_renderAttachment(t *testing.T) {
90106
type fields struct {
91107
tmpl *template.Template

internal/viewer/renderer/slack_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ var (
99
slack.MBTContext: (*Slack).mbtContext,
1010
slack.MBTSection: (*Slack).mbtSection,
1111
slack.MBTAction: (*Slack).mbtAction,
12+
slack.MBTDivider: (*Slack).mbtDivider,
1213
"call": (*Slack).mbtCall,
1314
}
1415

0 commit comments

Comments
 (0)