| <!doctype html> | |
| <html> | |
| <head> | |
| <title>maction toggle</title> | |
| <script type="text/javascript"> | |
| function click(id, bubble, preventDefault) | |
| { | |
| var event = new MouseEvent('click', {bubbles: bubble, cancelable: true}); | |
| if (preventDefault) | |
| event.preventDefault(); | |
| document.getElementById(id).dispatchEvent(event); | |
| } | |
| function test() | |
| { | |
| // selection=1 ; ([1] 2 3 4) | |
| // After three clicks, selection=4: (1 2 3 [4]) | |
| click('m1'); click('m1'); click('m1'); | |
| // selection=2 ; (1 [2] 3 4) | |
| // After one click, selection=3: (1 2 [3] 4) | |
| click('m2'); | |
| // selection=4 ; (1 2 3 [4]) | |
| // After one click, selection=1: ([1] 2 3 4) | |
| click('m3'); | |
| // Other edge cases | |
| for (var i = 1; i <= 13; i++) | |
| click('e'+i); | |
| // Nested maction elements, bubble = false ; ([([1] 2 3)] 4 5) | |
| // After one click on the inner maction: ([(1 [2] 3)] 4 5) | |
| click('m4', false); | |
| // Nested maction elements, bubble = true ; ([([1] 2 3)] 4 5) | |
| // After one click on the inner maction: ([(1 [2] 3)] 4 5) | |
| // Bubbling sends the event to outer maction handlers, but default handling is done only once. | |
| click('m5', true); | |
| // Prevent default ; ([1] 2 3) | |
| // After one click on the inner maction: ([1] 2 3) | |
| click('m6', false, true); | |
| } | |
| </script> | |
| </head> | |
| <body onload="test()"> | |
| <!-- This test verifies the effect of mouse clicks on <maction actiontype="toggle"> elements. --> | |
| <!-- selection="1" (default) ; three clicks --> | |
| <math> | |
| <maction actiontype="toggle" id="m1"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| <mn>4</mn> | |
| </maction> | |
| </math> | |
| <!-- selection="2" ; one click --> | |
| <math> | |
| <maction actiontype="toggle" selection="2" id="m2"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| <mn>4</mn> | |
| </maction> | |
| </math> | |
| <!-- selection="4" (last child) ; one click --> | |
| <math> | |
| <maction actiontype="toggle" selection="4" id="m3"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| <mn>4</mn> | |
| </maction> | |
| </math> | |
| <!-- Other edge cases --> | |
| <math> | |
| <maction actiontype="toggle" id="e1"> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" id="e2"> | |
| <mn>1</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" selection="-10" id="e3"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" selection="-1" id="e4"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" selection="0" id="e5"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" selection="4" id="e6"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" selection="10" id="e7"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" selection=" 	
2 	
" id="e8"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <maction actiontype="toggle" selection="TWO" id="e9"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <math> | |
| <!-- These values are limits for 32 bits signed integers. | |
| The maction element will convert them to 1 and 3 respectively. --> | |
| <maction actiontype="toggle" selection="-65536" id="e10"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| <maction actiontype="toggle" selection="65535" id="e11"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| <!-- These values are -1 and +1 for 32 or 64 bits signed integers. | |
| The maction element will convert both of them to 1. --> | |
| <maction actiontype="toggle" selection="-18446744073709551617" id="e12"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| <maction actiontype="toggle" selection="18446744073709551617" id="e13"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| <!-- Nested <maction> elements ; bubble = false --> | |
| <math> | |
| <maction actiontype="toggle"> | |
| <maction actiontype="toggle" id="m4"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| <mn>4</mn> | |
| <mn>5</mn> | |
| </maction> | |
| </math> | |
| <!-- Nested <maction> elements ; bubble = true --> | |
| <math> | |
| <maction actiontype="toggle"> | |
| <maction actiontype="toggle" id="m5"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| <mn>4</mn> | |
| <mn>5</mn> | |
| </maction> | |
| </math> | |
| <!-- Prevent default --> | |
| <math> | |
| <maction actiontype="toggle" id="m6"> | |
| <mn>1</mn> | |
| <mn>2</mn> | |
| <mn>3</mn> | |
| </maction> | |
| </math> | |
| </body> | |
| </html> |