-
Notifications
You must be signed in to change notification settings - Fork 4
/
xml+-test.el
48 lines (43 loc) · 1.81 KB
/
xml+-test.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(defun xml+-test-parse-string (str)
(with-temp-buffer
(insert str)
(xml-parse-region (point-min) (point-max))))
(defvar xml+-test-sample1 (xml+-test-parse-string
"<html>
<body>
<div class=\"container\">
<p class=\"content\">
Nullam rutrum. <em>Donec neque quam,</em> dignissim in, mollis nec,
sagittis eu, wisi.
</p>
<p class=\"content\">
Sed id ligula quis est <a href=\"http://test1.html\"> convallis</a>
tempor. Praesent fermentum tempor tellus.
</p>
<p class=\"content\">
Sed diam. Mauris mollis <em>tincidunt</em> felis.
</p>
<p class=\"content\">
Mauris ac felis vel <a href=\"http://test2.html\"> velit tristique</a>
imperdiet. Cum sociis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus.
</p>
</div>
</body>
</html>"))
(xml+-test-parse-string xml+-test-html)
(ert-deftest test-queryall ()
(equal
(xml+-query-all xml+-test-sample1
'((div :class "container") > (p) (a))
)
'((a
((href . "http://test2.html"))
" velit tristique")
(a
((href . "http://test1.html"))
" convallis"))))
(ert-deftest xml+-test-node-string ()
(equal (xml+-node-text (car xml+-test-sample1))
"Nullam rutrum. Donec neque quam, dignissim in, mollis nec, sagittis eu, wisi. Sed id ligula quis est convallis tempor. Praesent fermentum tempor tellus. Sed diam. Mauris mollis tincidunt felis. Mauris ac felis vel velit tristique imperdiet. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus."))
(ert-run-tests-interactively t)