| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- // SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
- // SPDX-License-Identifier: Apache-2.0
- package media // import "miniflux.app/v2/internal/reader/media"
- import "testing"
- func TestContentMimeType(t *testing.T) {
- scenarios := []struct {
- inputType, inputMedium, expectedMimeType string
- }{
- {"image/png", "image", "image/png"},
- {"", "image", "image/*"},
- {"", "video", "video/*"},
- {"", "audio", "audio/*"},
- {"", "", "application/octet-stream"},
- }
- for _, scenario := range scenarios {
- content := &Content{Type: scenario.inputType, Medium: scenario.inputMedium}
- result := content.MimeType()
- if result != scenario.expectedMimeType {
- t.Errorf(`Unexpected mime type, got %q instead of %q for type=%q medium=%q`,
- result,
- scenario.expectedMimeType,
- scenario.inputType,
- scenario.inputMedium,
- )
- }
- }
- }
- func TestContentSize(t *testing.T) {
- scenarios := []struct {
- inputSize string
- expectedSize int64
- }{
- {"", 0},
- {"123", int64(123)},
- }
- for _, scenario := range scenarios {
- content := &Content{FileSize: scenario.inputSize}
- result := content.Size()
- if result != scenario.expectedSize {
- t.Errorf(`Unexpected size, got %d instead of %d for %q`,
- result,
- scenario.expectedSize,
- scenario.inputSize,
- )
- }
- }
- }
- func TestPeerLinkType(t *testing.T) {
- scenarios := []struct {
- inputType string
- expectedMimeType string
- }{
- {"", "application/octet-stream"},
- {"application/x-bittorrent", "application/x-bittorrent"},
- }
- for _, scenario := range scenarios {
- peerLink := &PeerLink{Type: scenario.inputType}
- result := peerLink.MimeType()
- if result != scenario.expectedMimeType {
- t.Errorf(`Unexpected mime type, got %q instead of %q for %q`,
- result,
- scenario.expectedMimeType,
- scenario.inputType,
- )
- }
- }
- }
- func TestDescription(t *testing.T) {
- scenarios := []struct {
- inputType string
- inputContent string
- expectedDescription string
- }{
- {"", "", ""},
- {"html", "a <b>c</b>", "a <b>c</b>"},
- {"plain", "a\nhttp://www.example.org/", `a<br><a href="http://www.example.org/">http://www.example.org/</a>`},
- {"plain", "Link: https://example.com/path\n\nAnother: https://example.org",
- `Link: <a href="https://example.com/path">https://example.com/path</a><br><br>Another: <a href="https://example.org">https://example.org</a>`},
- }
- for _, scenario := range scenarios {
- desc := &Description{Type: scenario.inputType, Description: scenario.inputContent}
- result := desc.HTML()
- if result != scenario.expectedDescription {
- t.Errorf(`Unexpected description, got %q instead of %q for %q`,
- result,
- scenario.expectedDescription,
- scenario.inputType,
- )
- }
- }
- }
- func TestFirstDescription(t *testing.T) {
- var descList DescriptionList
- descList = append(descList, Description{})
- descList = append(descList, Description{Description: "Something"})
- if descList.First() != "Something" {
- t.Errorf(`Unexpected description`)
- }
- }
|