/[jsFind]/trunk/html/test.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/html/test.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 26 by dpavlin, Thu Oct 7 17:30:03 2004 UTC revision 27 by dpavlin, Thu Oct 7 22:43:49 2004 UTC
# Line 30  var test_data = { Line 30  var test_data = {
30  };  };
31  */  */
32    
33  function get_div(name) {  function get_el(name) {
34          var div = document.getElementById(name);          var div = document.getElementById(name);
35          if (! div) alert("can't find div "+name);          if (! div) alert("can't find div "+name);
36          return div;          return div;
37  }  }
38    
 var good_div = null;  
 var bad_div = null;  
39  var test_div = null;  var test_div = null;
40    
41    
42  var results_output = '';  var passed_tests = 0;
43  var debug_output = '';  var failed_tests = 0;
 var test_ok = 0;  
 var test_error = 0;  
44  var test_failed = false;  var test_failed = false;
45    
46  var word_nr = -1;       // first emement is word_nr++  var word_nr = -1;       // first emement is word_nr++
47  var words = Array();  var words = Array();
48    var total_words = null;
49    
50  function msg_debug(msg) {  function msg_debug(msg) {
51          debug_output += msg+"<br/>\n";          var e = document.createElement("span");
52          test_div.appendChild(document.createTextNode("DEBUG: "+msg));          e.setAttribute('style', 'color: black;');
53            e.appendChild(document.createTextNode(msg));
54            test_div.appendChild(e);
55          test_div.appendChild(document.createElement("br"));          test_div.appendChild(document.createElement("br"));
56          return;          return;
57  }  }
58    
59  function msg_error(msg) {  function msg_error(msg) {
60          var e = document.createElement("span");          var e = document.createElement("span");
61  //      e.style.color = 'red';          e.setAttribute('style', 'color: red;');
62          e.appendChild(document.createTextNode(msg));          e.appendChild(document.createTextNode(msg));
         bad_div.appendChild(e);  
         bad_div.appendChild(document.createElement("br"));  
63    
64          test_div.appendChild(e);          test_div.appendChild(e);
65          test_div.appendChild(document.createElement("br"));          test_div.appendChild(document.createElement("br"));
66    
67          test_error++;          failed_tests++;
68          test_failed = true;          test_failed = true;
69          return true;          return true;
70  }  }
71    
72  function msg_ok(msg) {  function msg_ok(msg) {
73          var e = document.createElement("span");          var e = document.createElement("span");
74          e.style.color = 'green';          e.setAttribute('style', 'color: green;');
75          e.appendChild(document.createTextNode(msg));          e.appendChild(document.createTextNode(msg));
         good_div.appendChild(e);  
         good_div.appendChild(document.createElement("br"));  
76    
77          test_div.appendChild(e);          test_div.appendChild(e);
78          test_div.appendChild(document.createElement("br"));          test_div.appendChild(document.createElement("br"));
79    
80          test_ok++;          passed_tests++;
81          return true;          return true;
82  }  }
83    
# Line 91  function got_result(result) { Line 86  function got_result(result) {
86                  msg_error("no results for word "+words[word_nr]);                  msg_error("no results for word "+words[word_nr]);
87          }          }
88    
89            var i;
90    
91          var word = words[word_nr];          var word = words[word_nr];
92          var len = 0;          var len = 0;
93          for (var i in result) len++;          for (i in result) len++;
94          result.length = len;          result.length = len;
95          for (var i in test_data[word]) len++;          len = 0;
96            for (i in test_data[word]) len++;
97    
98          if (result.length == len) {          if (result.length == len) {
99                  msg_ok("found "+result.lengh+" results");                  msg_ok("found "+result.length+" results");
100          } else if ( result.length > len )          } else if ( result.length > len )
101                  msg_error("too much results "+result.length+" > "+len)                  msg_error("too much results "+result.length+" > "+len)
102          else    msg_error("too fiew results "+result.length+" < "+len);          else    msg_error("too fiew results "+result.length+" < "+len);
103    
104          for(var i=result.length-1; i>=0; i--) {          for(i=result.length-1; i>=0; i--) {
105                  var test_hit = i+": '"+                  var test_hit = i+": '"+
106                                  result[i].title+"' link: "+                                  result[i].title+"' link: "+
107                                  result[i].link+" frequency: "+                                  result[i].link+" frequency: "+
108                                  result[i].frequency;                                  result[i].frequency;
109    
110                  if ( test_data[ words[word_nr] ][ result[i].link ] != result[i].frequency ) {                  if ( test_data[ words[word_nr] ][ result[i].link ] != result[i].frequency ) {
111                          msg_error("error in frequency for word: '"+words[word_nr]+"' [hit "+i+"] "+test_data[ words[word_nr] ][ result[i].link ]+" != "+result[i].frequency);                          msg_error("error in frequency "+i+": '"+words[word_nr]+"' "+test_data[ words[word_nr] ][ result[i].link ]+" != "+result[i].frequency);
112                          msg_error("HIT "+test_hit);                          msg_error("HIT "+test_hit);
113    
                         results_output += test_hit;  
114                  } else {                  } else {
115                          msg_debug("OK: "+words[word_nr]+" "+i+" "+result[i].frequency);                          msg_ok("OK frequency "+i+": '"+words[word_nr]+"' ["+result[i].frequency+"]");
116                  }                  }
117    
118          }          }
119    
120            if (test_failed) {
121                    get_el('debug').appendChild(test_div);
122                    get_el('debug').appendChild(debug_div);
123            } else {
124                    // uncomment this to show also passed tests
125                    //get_el('debug').appendChild(test_div);
126            }
127    
128            get_el('nr_words').value = word_nr;
129            get_el('nr_tests').value = passed_tests + test_failed;
130            get_el('nr_passed').value = passed_tests;
131            get_el('nr_failed').value = failed_tests;
132            get_el('completed').value = (word_nr * 100 / total_words).toPrecision(4);
133    
134          // try next search          // try next search
135          if (word_nr < words.length) do_search();          if (word_nr < words.length) do_search();
136    
# Line 128  function got_result(result) { Line 139  function got_result(result) {
139    
140  function do_test() {  function do_test() {
141    
142          good_div = get_div('good');          test_div = document.createElement("div");
143          bad_div = get_div('bad');          debug_div = document.createElement("div");
         test_div = get_div('debug');  
144    
145          var test_words = 0;          total_words = 0;
146    
147          for (word in test_data) {          for (word in test_data) {
148                  words[test_words] = word;                  words[total_words] = word;
149                  msg_debug("word "+test_words+" is "+words[test_words]);                  msg_debug("word "+total_words+": "+words[total_words]);
150                  test_words++;                  total_words++;
151          }          }
152    
153            get_el('debug').appendChild(test_div);
154            get_el('debug').appendChild(debug_div);
155          do_search();          do_search();
156  }  }
157    
# Line 148  function do_search() { Line 160  function do_search() {
160    
161          word_nr++;          word_nr++;
162    
163            test_div = document.createElement("div");
164            debug_div = document.createElement("div");
165    
166          if (word_nr < words.length && words[word_nr] != 'undefined') {          if (word_nr < words.length && words[word_nr] != 'undefined') {
167    
                 results_output = '';  
                 debug_output = '';  
168                  test_failed = false;                  test_failed = false;
169    
170                  msg_debug("search for "+words[word_nr]+" ["+word_nr+"]");                  msg_debug("");
171                    msg_debug("search "+word_nr+": "+words[word_nr]);
172    
173                  results = null;                  results = null;
174                  doSearch('homer', words[word_nr], got_result);                  doSearch('homer', words[word_nr], got_result);
175    
   
                 if (1 || test_failed) {  
                         if (test_div) test_div.innerHTML += debug_output + results_output;  
                 } else {  
                         if (test_div) test_div.innerHTML += debug_output;  
                 }  
   
176          } else {          } else {
177                  msg_debug("tested "+word_nr+" words, "+test_ok+" test passed, "+test_error+" test failed.");                  msg_debug("");
178                    msg_debug("tested "+word_nr+" words, "+passed_tests+" test passed, "+failed_tests+" test failed.");
179                    get_el('debug').appendChild(test_div);
180                    get_el('debug').appendChild(debug_div);
181          }          }
182  }  }
183    
# Line 177  function do_search() { Line 187  function do_search() {
187    <body onLoad="do_test();">    <body onLoad="do_test();">
188    
189      <div style="color: blue;">      <div style="color: blue;">
190      This is test html for jsFind -- it might take a long time on slower        This is test html for jsFind -- it might take a long time on slower
191      computers and/or browsers, so please be patient!        computers and/or browsers, so please be patient!
192      </div>      </div>
193    
194      <div id="good" style="border: 1px solid green; width: 30%; float: left;">      <form>
195      </div>        Words:<input type="text" id="nr_words" size="4" value="0" />
196          &nbsp;Tests:<input type="text" id="nr_tests" size="4" value="0" />
197      <div id="bad" style="border: 1px solid red; width: 30%; float: right;">        &nbsp;Passed:<input type="text" id="nr_passed" size="4" value="0" />
198      </div>        &nbsp;Failed:<input type="text" id="nr_failed" size="4" value="0" />
199          &nbsp;Completed:<input type="text" id="completed" size="4" value="0" />%
200        </form>
201    
202      <div id="debug" style="color: gray;">      <div id="debug" style="color: gray;">
203      </div>      </div>

Legend:
Removed from v.26  
changed lines
  Added in v.27

  ViewVC Help
Powered by ViewVC 1.1.26