selector_tests.sh - webdump_tests - Testfiles for webdump
HTML git clone git://git.codemadness.org/webdump_tests
DIR Log
DIR Files
DIR Refs
DIR README
---
selector_tests.sh (2786B)
---
1 #!/bin/sh
2
3 webdump="./webdump"
4 #webdump="webdump"
5
6 testmatch() {
7 sel="$1"
8 input="$2"
9 output=$(printf '%s' "$input" | "$webdump" -s "$sel")
10 if test "$output" = " MATCH"; then
11 printf 'OK: %s\n' "$sel"
12 return 0
13 fi
14 echo "selector ${sel} does not match (it should have)" >&2
15 printf 'output:\n%s\n' "${output}" >&2
16 exit 1
17 }
18
19 testnomatch() {
20 sel="$1"
21 input="$2"
22 output=$(printf '%s' "$input" | "$webdump" -s "$sel")
23 if test "$output" = ""; then
24 printf 'OK: %s\n' "$sel"
25 return 0
26 fi
27 echo "selector ${sel} does not match (it should have)" >&2
28 printf 'output:\n%s\n' "${output}" >&2
29 exit 1
30 }
31
32 testmatch '#someid' '<span id="someid">MATCH</span><span>NO MATCH</span>'
33 testmatch 'span#someid' '<span id="someid">MATCH</span><span>NO MATCH</span>'
34 testmatch '.someclass' '<span class="someclass">MATCH</span><span>NO MATCH</span>'
35 testmatch 'span.someclass' '<span class="someclass">MATCH</span><span>NO MATCH</span>'
36 testmatch 'span@0' '<span class="someclass">MATCH</span><span>NO MATCH</span>'
37 testmatch 'span.someclass@0' '<span class="someclass">MATCH</span><span>NO MATCH</span>'
38 testmatch '@0' '<span class="someclass">MATCH</span><span>NO MATCH</span>'
39 testmatch '.someclass2, .someclass' '<span class="someclass">MATCH</span><span>NO MATCH</span>'
40 testnomatch '.someclass2' '<span class="someclass">MATCH</span><span>NO MATCH</span>'
41
42 # nested
43 testmatch '#someid' '<div class="main"><span id="someid">MATCH</span><span>NO MATCH</span></div>'
44 testmatch 'div #someid' '<div class="main"><span id="someid">MATCH</span><span>NO MATCH</span></div>'
45 testnomatch 'span #someid' '<div class="main"><span id="someid">MATCH</span><span>NO MATCH</span></div>'
46 testmatch 'span #someid' '<div class="main"><span><span id="someid">MATCH</span><span>NO MATCH</span></span></div>'
47 testmatch 'html nav a' '<html><nav><div class="main"><span><a id="someid">MATCH</a><span>NO MATCH</span></span></div></html>'
48 testnomatch 'html body nav a' '<html><nav><div class="main"><span><a id="someid">MATCH</a><span>NO MATCH</span></span></div></html>'
49 testnomatch 'html body nav ul a' '<html><nav><div class="main"><span><a id="someid">MATCH</a><span>NO MATCH</span></span></div></html>'
50 testnomatch 'html body nav ul li a' '<html><nav><div class="main"><span><a id="someid">MATCH</a><span>NO MATCH</span></span></div></html>'
51
52 # multiple classes
53 testmatch '.someclass.anotherclass' '<span class="someclass anotherclass">MATCH</span><span>NO MATCH</span>'
54 testnomatch '.someclass.anotherclass' '<span class="someclass anotherclass2">MATCH</span><span>NO MATCH</span>'
55 testnomatch '.someclass .anotherclass' '<span class="someclass anotherclass">MATCH</span><span>NO MATCH</span>'
56 testnomatch '.someclass .anotherclass' '<span class="someclass anotherclass2">MATCH</span><span>NO MATCH</span>'