Initial revision
[lhc/web/wiklou.git] / testsuite / src / com / piclab / wikitest / MathTest.java
1 /*
2 * Test functioning of texvc math functions.
3 */
4
5 package com.piclab.wikitest;
6 import com.meterware.httpunit.*;
7
8 public class MathTest extends WikiTest {
9
10 public String testName() { return "Math"; }
11
12 protected int initTest() throws Exception {
13 logout();
14 return 0;
15 }
16
17 protected int runTest() throws Exception {
18 int c = 0;
19
20 if ( 0 != ( c = part1() ) ) { return fail( c ); }
21 return 0;
22 }
23
24 private int part1() throws Exception {
25 String[] goodpats = {
26 "\\(1\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
27 "\\(2\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
28 "\\(3\\)\\s+&phi;\\s+\\+",
29 "\\(4\\)\\s+&phi;\\s*<sup>\\s*2",
30 "\\(5\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
31 "\\(6\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+\\\\approx"
32 };
33
34 WebResponse wr = viewPage( "Equations" );
35 String text = getArticle( wr );
36
37 int ret;
38 if ( 0 != ( ret = checkGoodPatterns( text, goodpats ) ) ) {
39 return 100 + ret;
40 }
41
42 wr = loginAs( "Barney", "Barney" );
43 WebRequest req = openPrefs();
44 req.setParameter( "wpMath", "0" );
45 wr = getResponse( req );
46
47 String[] goodpats0 = {
48 "\\(1\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
49 "\\(2\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
50 "\\(3\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+\\+",
51 "\\(4\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s*\\^\\s*2",
52 "\\(5\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
53 "\\(6\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+\\\\approx"
54 };
55
56 wr = viewPage( "Equations" );
57 text = getArticle( wr );
58 if ( 0 != ( ret = checkGoodPatterns( text, goodpats0 ) ) ) {
59 return 110 + ret;
60 }
61
62 wr = loginAs( "Barney", "Barney" );
63 req = openPrefs();
64 req.setParameter( "wpMath", "2" );
65 wr = getResponse( req );
66
67 String[] goodpats2 = {
68 "\\(1\\)\\s+<table",
69 "\\(2\\)\\s+<table",
70 "\\(3\\)\\s+&phi;\\s+\\+",
71 "\\(4\\)\\s+&phi;\\s*<sup>\\s*2",
72 "\\(5\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
73 "\\(6\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+\\\\approx"
74 };
75
76 wr = viewPage( "Equations" );
77 text = getArticle( wr );
78 if ( 0 != ( ret = checkGoodPatterns( text, goodpats2 ) ) ) {
79 return 120 + ret;
80 }
81
82 wr = loginAs( "Barney", "Barney" );
83 req = openPrefs();
84 req.setParameter( "wpMath", "3" );
85 wr = getResponse( req );
86
87 String[] goodpats3 = {
88 "\\(1\\)\\s+\\$\\s+\\\\phi\\s+=\\s+\\\\frac",
89 "\\(2\\)\\s+\\$\\s+\\\\phi\\s+=\\s+\\\\frac",
90 "\\(3\\)\\s+\\$\\s+\\\\phi\\s+\\+\\s+\\\\phi\\s*\\^\\s*2",
91 "\\(4\\)\\s+\\$\\s+\\\\phi\\s*\\^\\s*2\\s+\\+\\s+\\\\phi",
92 "\\(5\\)\\s+\\$\\s+\\\\phi\\s+=\\s+\\\\frac",
93 "\\(6\\)\\s+\\$\\s+\\\\phi\\s+\\\\approx"
94 };
95
96 wr = viewPage( "Equations" );
97 text = getArticle( wr );
98 if ( 0 != ( ret = checkGoodPatterns( text, goodpats3 ) ) ) {
99 return 130 + ret;
100 }
101
102 wr = loginAs( "Barney", "Barney" );
103 req = openPrefs();
104 req.setParameter( "wpMath", "4" );
105 wr = getResponse( req );
106
107 String[] goodpats4 = {
108 "\\(1\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
109 "\\(2\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
110 "\\(3\\)\\s+&phi;\\s+\\+",
111 "\\(4\\)\\s+&phi;\\s*<sup>\\s*2",
112 "\\(5\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+=\\s+\\\\frac",
113 "\\(6\\)\\s+<img\\s[^>]*\\salt\\s*=\\s*.?\\\\phi\\s+\\\\approx"
114 };
115
116 wr = viewPage( "Equations" );
117 text = getArticle( wr );
118 if ( 0 != ( ret = checkGoodPatterns( text, goodpats4 ) ) ) {
119 return 140 + ret;
120 }
121 return 0;
122 }
123
124 public static void main( String[] params ) {
125 (new MathTest()).runSingle( params );
126 }
127
128 }