;; "previous" pages. NOTE: We could probably filter out
;; stylesheet <link> tags here, though it doesn't really matter
;; since we don't *do* anything with stylesheets...
- (when (memq (dom-tag node) '(title link))
+ (when (memq (dom-tag node) '(title link base))
;; Copy the node, but not any of its (non-text) children.
;; This way, we can ensure that we don't include a node
;; directly in our list in addition to as a child of some
"<head>"
"<title>Welcome to my home page</title>"
"<link rel=\"home\" href=\"somewhere.invalid\">"
+ "<base href=\"/foo/\">"
"</head><body>"
"<a>This is an uninteresting sentence.</a>"
"<div>" eww-test--lots-of-words "</div>"
(eww "example.invalid")
;; Make sure EWW uses "readable" mode.
(should (plist-get eww-data :readable))
- ;; Make sure the page include the <title> and <link> nodes.
+ ;; Make sure the page include the <title>, <link>, and <base> nodes.
(should (equal (plist-get eww-data :title) "Welcome to my home page"))
- (should (equal (plist-get eww-data :home) "somewhere.invalid")))))
+ (should (equal (plist-get eww-data :home) "somewhere.invalid"))
+ (let* ((html (dom-child-by-tag (plist-get eww-data :dom) 'html))
+ (base-tags (dom-by-tag html 'base)))
+ (should (length= base-tags 1))
+ (should (equal (dom-attr (car base-tags) 'href) "/foo/"))))))
(provide 'eww-tests)
;; eww-tests.el ends here