| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // 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)
- }
- }
|