1+ $ ( document ) . ready ( function ( ) {
2+ var tests = { } ;
3+
4+ function fetchFile ( p , c ) {
5+ $ . get ( p , function ( data ) {
6+ $ ( "." + c ) . text ( data ) ;
7+ } ) ;
8+ }
9+
10+ function renderTests ( ) {
11+ var c = $ ( "<div/>" ) ;
12+ for ( var k in tests ) {
13+ c . append ( $ ( "<h1/>" ) . text ( "document: " + k ) ) ;
14+ var cl = k + "_document" ;
15+ c . append ( $ ( "<pre/>" ) . addClass ( cl ) . text ( "loading document..." ) ) ;
16+ fetchFile ( "tests/" + k + ".json" , cl ) ;
17+ for ( var i = 0 ; i < tests [ k ] . length ; i ++ ) {
18+ var n = tests [ k ] [ i ] ;
19+ c . append ( $ ( "<h2/>" ) . text ( n ) ) ;
20+ var cl = k + "_" + n + "_selector" ;
21+ c . append ( $ ( "<pre/>" ) . addClass ( cl ) . text ( "loading selector..." ) ) ;
22+ fetchFile ( "tests/" + k + "_" + n + ".selector" , cl ) ;
23+ cl = k + "_" + n + "_output" ;
24+ c . append ( $ ( "<pre/>" ) . addClass ( cl ) . text ( "loading output..." ) ) ;
25+ fetchFile ( "tests/" + k + "_" + n + ".output" , cl ) ;
26+ }
27+ }
28+ c . appendTo ( $ ( "#tests" ) ) ;
29+ }
30+
31+ $ . get ( "tests/alltests.txt" , function ( data ) {
32+ var lines = data . split ( "\n" ) ;
33+ for ( var i = 0 ; i < lines . length ; i ++ ) {
34+ var f = $ . trim ( lines [ i ] ) ;
35+ if ( f . length == 0 ) continue ;
36+ var m = / ^ ( [ A - Z a - z ] + ) _ ( .+ ) \. s e l e c t o r $ / . exec ( f ) ;
37+ console . log ( f , ": " , m ) ;
38+ if ( m ) {
39+ if ( ! tests . hasOwnProperty ( m [ 1 ] ) ) tests [ m [ 1 ] ] = [ ] ;
40+ tests [ m [ 1 ] ] . push ( m [ 2 ] ) ;
41+ }
42+ }
43+ renderTests ( ) ;
44+ } ) ;
45+ } ) ;
0 commit comments