/[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

Annotation of /trunk/html/test.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 29 - (hide annotations)
Fri Oct 8 12:22:18 2004 UTC (19 years, 8 months ago) by dpavlin
File MIME type: text/html
File size: 5464 byte(s)
generate color report, simplify code

1 dpavlin 20 <!DOCTYPE html PUBLIC
2     "-//W3C//DTD XHTML 1.0 Strict//EN"
3     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4     <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5     <head>
6     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
7     <title>jsFind Test page</title>
8     <script src="js/search.js" type="text/javascript"></script>
9     <script src="test_data.js" type="text/javascript"></script>
10     <script type="text/javascript">
11    
12     /*
13     var test_data = {
14     'by': {
15     '33': 1,
16     '28': 1,
17     '7': 2,
18     '91': 1,
19     '78': 2,
20     '8': 1,
21     '1': 2,
22     '16': 1,
23     '23': 1,
24     '100': 1,
25     '65': 1
26     },
27     'voice.': {
28     '80': 1
29     }
30     };
31     */
32    
33 dpavlin 27 function get_el(name) {
34 dpavlin 20 var div = document.getElementById(name);
35     if (! div) alert("can't find div "+name);
36     return div;
37     }
38    
39     var test_div = null;
40    
41    
42 dpavlin 27 var passed_tests = 0;
43     var failed_tests = 0;
44 dpavlin 20 var test_failed = false;
45    
46     var word_nr = -1; // first emement is word_nr++
47     var words = Array();
48 dpavlin 27 var total_words = null;
49 dpavlin 20
50 dpavlin 29 function create_color_msg(color,msg) {
51 dpavlin 27 var e = document.createElement("span");
52 dpavlin 29 e.setAttribute('style', 'color: '+color);
53 dpavlin 27 e.appendChild(document.createTextNode(msg));
54 dpavlin 29 return e;
55     }
56    
57     function msg_debug(msg) {
58     test_div.appendChild(create_color_msg('black',msg));
59 dpavlin 25 test_div.appendChild(document.createElement("br"));
60 dpavlin 20 return;
61     }
62    
63     function msg_error(msg) {
64 dpavlin 29 var e = create_color_msg('red',msg);
65 dpavlin 25
66     test_div.appendChild(e);
67     test_div.appendChild(document.createElement("br"));
68    
69 dpavlin 27 failed_tests++;
70 dpavlin 20 test_failed = true;
71     return true;
72     }
73    
74     function msg_ok(msg) {
75 dpavlin 29 var e = create_color_msg('green',msg);
76 dpavlin 25
77     test_div.appendChild(e);
78     test_div.appendChild(document.createElement("br"));
79    
80 dpavlin 27 passed_tests++;
81 dpavlin 20 return true;
82     }
83    
84     function got_result(result) {
85     if (result.length < 0) {
86     msg_error("no results for word "+words[word_nr]);
87     }
88    
89 dpavlin 27 var i;
90    
91 dpavlin 20 var word = words[word_nr];
92 dpavlin 21 var len = 0;
93 dpavlin 27 for (i in result) len++;
94 dpavlin 25 result.length = len;
95 dpavlin 27 len = 0;
96     for (i in test_data[word]) len++;
97 dpavlin 20
98 dpavlin 21 if (result.length == len) {
99 dpavlin 27 msg_ok("found "+result.length+" results");
100 dpavlin 21 } else if ( result.length > len )
101     msg_error("too much results "+result.length+" > "+len)
102     else msg_error("too fiew results "+result.length+" < "+len);
103 dpavlin 20
104 dpavlin 27 for(i=result.length-1; i>=0; i--) {
105 dpavlin 25 var test_hit = i+": '"+
106     result[i].title+"' link: "+
107     result[i].link+" frequency: "+
108 dpavlin 20 result[i].frequency;
109    
110     if ( test_data[ words[word_nr] ][ result[i].link ] != result[i].frequency ) {
111 dpavlin 27 msg_error("error in frequency "+i+": '"+words[word_nr]+"' "+test_data[ words[word_nr] ][ result[i].link ]+" != "+result[i].frequency);
112 dpavlin 25 msg_error("HIT "+test_hit);
113 dpavlin 20
114     } else {
115 dpavlin 27 msg_ok("OK frequency "+i+": '"+words[word_nr]+"' ["+result[i].frequency+"]");
116 dpavlin 20 }
117    
118     }
119    
120 dpavlin 27 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 dpavlin 29 get_el('completed').value = ((word_nr + 1) * 100 / total_words).toPrecision(4);
133 dpavlin 27
134 dpavlin 20 // try next search
135     if (word_nr < words.length) do_search();
136    
137     return true;
138     }
139    
140     function do_test() {
141    
142 dpavlin 27 test_div = document.createElement("div");
143     debug_div = document.createElement("div");
144 dpavlin 20
145 dpavlin 27 total_words = 0;
146 dpavlin 20
147     for (word in test_data) {
148 dpavlin 27 words[total_words] = word;
149     msg_debug("word "+total_words+": "+words[total_words]);
150     total_words++;
151 dpavlin 20 }
152    
153 dpavlin 27 get_el('debug').appendChild(test_div);
154     get_el('debug').appendChild(debug_div);
155 dpavlin 20 do_search();
156     }
157    
158    
159     function do_search() {
160    
161     word_nr++;
162    
163 dpavlin 27 test_div = document.createElement("div");
164     debug_div = document.createElement("div");
165    
166 dpavlin 20 if (word_nr < words.length && words[word_nr] != 'undefined') {
167    
168     test_failed = false;
169    
170 dpavlin 27 msg_debug("");
171     msg_debug("search "+word_nr+": "+words[word_nr]);
172 dpavlin 20
173 dpavlin 25 results = null;
174 dpavlin 21 doSearch('homer', words[word_nr], got_result);
175 dpavlin 20
176     } else {
177 dpavlin 27 msg_debug("");
178 dpavlin 29 //msg_debug("tested "+word_nr+" words, "+passed_tests+" test passed, "+failed_tests+" test failed.");
179     var r = create_color_msg('blue'," tested "+word_nr+" words, ");
180     r.appendChild(create_color_msg('green', passed_tests));
181     r.appendChild(create_color_msg('blue'," tests passed, "));
182     r.appendChild(create_color_msg('red', failed_tests));
183     r.appendChild(create_color_msg('blue'," tests failed."));
184    
185     get_el('debug').appendChild(r);
186     get_el('status').appendChild(r);
187 dpavlin 20 }
188     }
189    
190     </script>
191     </head>
192    
193     <body onLoad="do_test();">
194    
195 dpavlin 29 <div id="status" style="color: blue;">
196 dpavlin 27 This is test html for jsFind -- it might take a long time on slower
197 dpavlin 29 computers and/or browsers, so please be patient!<br/>
198 dpavlin 20 </div>
199    
200 dpavlin 27 <form>
201     Words:<input type="text" id="nr_words" size="4" value="0" />
202     &nbsp;Tests:<input type="text" id="nr_tests" size="4" value="0" />
203     &nbsp;Passed:<input type="text" id="nr_passed" size="4" value="0" />
204     &nbsp;Failed:<input type="text" id="nr_failed" size="4" value="0" />
205     &nbsp;Completed:<input type="text" id="completed" size="4" value="0" />%
206     </form>
207 dpavlin 20
208     <div id="debug" style="color: gray;">
209     </div>
210    
211     </body>
212     </html>

  ViewVC Help
Powered by ViewVC 1.1.26