#lang racket/base (require xml/path tests/eli-tester) (define some-page '(html (body (p ([class "awesome"]) "Hey") (p "Bar")))) (test (se-path*/list '(p) some-page) => '("Hey" "Bar") (se-path* '(p) some-page) => "Hey" (se-path* '(p #:class) some-page) => "awesome" (se-path*/list '(body) some-page) => '((p ((class "awesome")) "Hey") (p "Bar")) (se-path*/list '() '(p ((class "awesome")) "Hey")) => '((p ((class "awesome")) "Hey") "Hey") (se-path*/list '() some-page) => '((html (body (p ((class "awesome")) "Hey") (p "Bar"))) (body (p ((class "awesome")) "Hey") (p "Bar")) (p ((class "awesome")) "Hey") "Hey" (p "Bar") "Bar") (se-path*/list '(p) '(html (body (p "Hey") (p "Bar")))) => (list "Hey" "Bar") (se-path* '(p) '(html (body (p "Hey")))) => "Hey" (se-path* '(p #:bar) '(html (body (p ([bar "Zog"]) "Hey")))) => "Zog")