URI:
       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>'