mirror of
https://github.com/miniflux/v2.git
synced 2025-06-27 16:36:00 +00:00
103 lines
1.8 KiB
Go
103 lines
1.8 KiB
Go
|
// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
|
||
|
// SPDX-License-Identifier: Apache-2.0
|
||
|
|
||
|
package readability // import "miniflux.app/v2/internal/reader/readability"
|
||
|
|
||
|
import (
|
||
|
"strings"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestBaseURL(t *testing.T) {
|
||
|
html := `
|
||
|
<html>
|
||
|
<head>
|
||
|
<base href="https://example.org/ ">
|
||
|
</head>
|
||
|
<body>
|
||
|
<article>
|
||
|
Some content
|
||
|
</article>
|
||
|
</body>
|
||
|
</html>`
|
||
|
|
||
|
baseURL, _, err := ExtractContent(strings.NewReader(html))
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if baseURL != "https://example.org/" {
|
||
|
t.Errorf(`Unexpected base URL, got %q instead of "https://example.org/"`, baseURL)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestMultipleBaseURL(t *testing.T) {
|
||
|
html := `
|
||
|
<html>
|
||
|
<head>
|
||
|
<base href="https://example.org/ ">
|
||
|
<base href="https://example.com/ ">
|
||
|
</head>
|
||
|
<body>
|
||
|
<article>
|
||
|
Some content
|
||
|
</article>
|
||
|
</body>
|
||
|
</html>`
|
||
|
|
||
|
baseURL, _, err := ExtractContent(strings.NewReader(html))
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if baseURL != "https://example.org/" {
|
||
|
t.Errorf(`Unexpected base URL, got %q instead of "https://example.org/"`, baseURL)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestRelativeBaseURL(t *testing.T) {
|
||
|
html := `
|
||
|
<html>
|
||
|
<head>
|
||
|
<base href="/test/ ">
|
||
|
</head>
|
||
|
<body>
|
||
|
<article>
|
||
|
Some content
|
||
|
</article>
|
||
|
</body>
|
||
|
</html>`
|
||
|
|
||
|
baseURL, _, err := ExtractContent(strings.NewReader(html))
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if baseURL != "" {
|
||
|
t.Errorf(`Unexpected base URL, got %q`, baseURL)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestWithoutBaseURL(t *testing.T) {
|
||
|
html := `
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Test</title>
|
||
|
</head>
|
||
|
<body>
|
||
|
<article>
|
||
|
Some content
|
||
|
</article>
|
||
|
</body>
|
||
|
</html>`
|
||
|
|
||
|
baseURL, _, err := ExtractContent(strings.NewReader(html))
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if baseURL != "" {
|
||
|
t.Errorf(`Unexpected base URL, got %q instead of ""`, baseURL)
|
||
|
}
|
||
|
}
|