@ -18,24 +18,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
package gplx.xowa.xtns.math ; import gplx.* ; import gplx.xowa.* ; import gplx.xowa.xtns.* ;
import org.junit.* ;
public class Xof_math_mgr_html_tst {
@Before public void init ( ) { } private final Xop_fxt fxt = new Xop_fxt ( ) ;
@Test public void Escape_lt_gt_mathjax ( ) { // PURPOSE: escape <>&"; EX:de.w:Vergleich_(Zahlen); DATE:2014-05-10; PAGE:s.w:Matrix_(mathematics) DATE:2014-07-19
fxt . Test_html_full_str ( "<math>a<>b</math>" , "<span id='xowa_math_txt_0'>a<>b</span>" ) ;
}
@Test public void Escape_lt_gt_latex ( ) {
@Before public void init ( ) { } private final Xop_fxt fxt = Xop_fxt . New_app_html ( ) ;
@Test public void Basic__latex ( ) {
fxt . App ( ) . File_mgr ( ) . Math_mgr ( ) . Renderer_is_mathjax_ ( false ) ;
fxt . Test_html_full_str ( "<math>a<>b</math>" , "<img id='xowa_math_img_0' src='' width='' height=''/><span id='xowa_math_txt_0'>a<>b</span>" ) ;
fxt . Test__parse_to_html_mgr ( "<math>x + y</math>" , "<img id='xowa_math_img_0' src='' width='' height=''/><span id='xowa_math_txt_0'>x + y</span>" ) ; // latex has img
}
@Test public void Basic__mathjax ( ) {
fxt . App ( ) . File_mgr ( ) . Math_mgr ( ) . Renderer_is_mathjax_ ( true ) ;
fxt . Test__parse_to_html_mgr ( "<math>x + y</math>" , "<span id='xowa_math_txt_0'>x + y</span>" ) ; // mathjax has no img
}
@Test public void Escape__mathjax ( ) { // PURPOSE: escape <>&"; EX:de.w:Vergleich_(Zahlen); DATE:2014-05-10; PAGE:s.w:Matrix_(mathematics) DATE:2014-07-19
fxt . App ( ) . File_mgr ( ) . Math_mgr ( ) . Renderer_is_mathjax_ ( true ) ;
fxt . Test__parse_to_html_mgr ( "<math>a<>b</math>" , "<span id='xowa_math_txt_0'>a<>b</span>" ) ;
}
@Test public void Escape__latex ( ) {
fxt . App ( ) . File_mgr ( ) . Math_mgr ( ) . Renderer_is_mathjax_ ( false ) ;
fxt . Test__parse_to_html_mgr ( "<math>a<>b</math>" , "<img id='xowa_math_img_0' src='' width='' height=''/><span id='xowa_math_txt_0'>a<>b</span>" ) ;
}
@Test public void Amp ( ) { // PURPOSE: assert that amp is not escaped; DATE:2014-07-20
fxt . Test_html_full_str ( "<math>a&b</math>" , "<span id='xowa_math_txt_0'>a&b</span>" ) ;
fxt . App ( ) . File_mgr ( ) . Math_mgr ( ) . Renderer_is_mathjax_ ( true ) ;
fxt . Test__parse_to_html_mgr ( "<math>a&b</math>" , "<span id='xowa_math_txt_0'>a&b</span>" ) ;
}
@Test public void Quote ( ) { // PURPOSE: assert that quote is not escaped; DATE:2014-07-20
fxt . Test_html_full_str ( "<math>a\"b</math>" , "<span id='xowa_math_txt_0'>a\"b</span>" ) ;
fxt . App ( ) . File_mgr ( ) . Math_mgr ( ) . Renderer_is_mathjax_ ( true ) ;
fxt . Test__parse_to_html_mgr ( "<math>a\"b</math>" , "<span id='xowa_math_txt_0'>a\"b</span>" ) ;
}
@Test public void Vnt ( ) { // PURPOSE: if vnt, armor math; PAGE:sr.w:Земља; DATE:2015-10-11
fxt . Wiki ( ) . Lang ( ) . Vnt_mgr ( ) . Enabled_ ( Bool_ . Y ) ;
fxt . Test_html_full_str ( "<math>abc</math>" , "-{R|<span id='xowa_math_txt_0'>abc</span>}-" ) ; // NOTE: this also armors the id which is good for the mathjax.js
fxt . Wiki ( ) . Lang ( ) . Vnt_mgr ( ) . Enabled_ ( Bool_ . N ) ;
@Test public void Script ( ) {
fxt . App ( ) . File_mgr ( ) . Math_mgr ( ) . Renderer_is_mathjax_ ( false ) ;
fxt . Test__parse_to_html_mgr ( "<math><script>alert('fail');</script></math>" , "<img id='xowa_math_img_0' src='' width='' height=''/><span id='xowa_math_txt_0'><script>alert('fail');</script></span>" ) ;
}
}