Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // Include test fixture. | |
| 6 GEN_INCLUDE(['../testing/chromevox_unittest_base.js']); | |
| 7 | |
| 8 /** | |
| 9 * Test fixture. | |
| 10 * @constructor | |
| 11 * @extends {ChromeVoxUnitTestBase} | |
| 12 */ | |
| 13 function CvoxMathShifterUnitTest() {} | |
| 14 | |
| 15 CvoxMathShifterUnitTest.prototype = { | |
| 16 __proto__: ChromeVoxUnitTestBase.prototype, | |
| 17 | |
| 18 closureModuleDeps: [ | |
| 19 'cvox.ChromeVoxTester', | |
| 20 'cvox.CursorSelection', | |
| 21 'cvox.DescriptionUtil', | |
| 22 'cvox.MathmlStoreRules' | |
| 23 ], | |
| 24 | |
| 25 /** @override */ | |
| 26 setUp: function() { | |
| 27 cvox.ChromeVoxTester.setUp(document); | |
| 28 }, | |
| 29 | |
| 30 /** @override */ | |
| 31 tearDown: function() { | |
| 32 cvox.ChromeVoxTester.tearDown(document); | |
| 33 }, | |
| 34 | |
| 35 /** | |
| 36 * Simulates speaking the node (only text, no annotations!). | |
| 37 * @param {Node} node The node to be described. | |
| 38 * @return {!string} The resulting string. | |
| 39 */ | |
| 40 getNodeDescription: function(node) { | |
| 41 if (node) { | |
| 42 var descs = cvox.DescriptionUtil.getMathDescription(node); | |
| 43 var descs_str = descs.map(function(desc) {return desc.text;}); | |
| 44 return descs_str.filter(function(str) {return str;}).join(' '); | |
| 45 } | |
| 46 return ''; | |
| 47 } | |
| 48 }; | |
| 49 | |
| 50 TEST_F('CvoxMathShifterUnitTest', 'MathmlMtext', function() { | |
| 51 console.log('Starting'); | |
|
dmazzoni
2014/09/12 15:53:27
Let's delete console logging if not necessary
| |
| 52 this.loadHtml( | |
| 53 '<div><math xmlns="http://www.w3.org/1998/Math/MathML" id="m0">' + | |
| 54 '<mtext>Quod erat demonstrandum</mtext>' + | |
| 55 '</math></div>' | |
| 56 ); | |
| 57 var node = $('m0'); | |
| 58 assertEquals('Quod erat demonstrandum', this.getNodeDescription(node)); | |
| 59 }); | |
| 60 | |
| 61 | |
| 62 /** Test MathML individual. | |
| 63 * @export | |
| 64 */ | |
| 65 TEST_F('CvoxMathShifterUnitTest', 'MathmlMi', function() { | |
| 66 this.loadHtml( | |
| 67 '<div><math xmlns="http://www.w3.org/1998/Math/MathML" id="m1">' + | |
| 68 '<mi>x</mi>' + | |
| 69 '</math></div>'); | |
| 70 var node = $('m1'); | |
| 71 assertEquals('x', this.getNodeDescription(node)); | |
| 72 }); | |
| 73 | |
| 74 | |
| 75 /** Test MathML numeral. | |
| 76 * @export | |
| 77 */ | |
| 78 TEST_F('CvoxMathShifterUnitTest', 'MathmlMn', function() { | |
| 79 this.loadHtml( | |
| 80 '<div><math xmlns="http://www.w3.org/1998/Math/MathML" id="m2">' + | |
| 81 '<mn>123</mn>' + | |
| 82 '</math></div>'); | |
| 83 var node = $('m2'); | |
| 84 assertEquals('123', this.getNodeDescription(node)); | |
| 85 }); | |
| 86 | |
| 87 | |
| 88 /** Test MathML operator | |
| 89 * @export | |
| 90 */ | |
| 91 TEST_F('CvoxMathShifterUnitTest', 'MathmlMo', function() { | |
| 92 this.loadHtml( | |
| 93 '<div><math xmlns="http://www.w3.org/1998/Math/MathML" id="m3">' + | |
| 94 '<mo>+</mo>' + | |
| 95 '</math></div>'); | |
| 96 var node = $('m3'); | |
| 97 assertEquals('+', this.getNodeDescription(node)); | |
| 98 }); | |
| 99 | |
| 100 | |
| 101 /** Test MathML superscript. | |
| 102 * @export | |
| 103 */ | |
| 104 TEST_F('CvoxMathShifterUnitTest', 'MathmlMsup', function() { | |
| 105 this.loadHtml( | |
| 106 '<div><math xmlns="http://www.w3.org/1998/Math/MathML" id="m4">' + | |
| 107 '<msup><mi>x</mi><mn>4</mn></msup>' + | |
| 108 '</math></div>'); | |
| 109 var node = $('m4'); | |
| 110 assertEquals('x super 4', this.getNodeDescription(node)); | |
| 111 }); | |
| 112 | |
| 113 | |
| 114 /** Test MathML subscript. | |
| 115 * @export | |
| 116 */ | |
| 117 TEST_F('CvoxMathShifterUnitTest', 'MathmlMsub', function() { | |
| 118 this.loadHtml( | |
| 119 '<div><math xmlns="http://www.w3.org/1998/Math/MathML" id="m5">' + | |
| 120 '<msub><mi>x</mi><mn>3</mn></msub>' + | |
| 121 '</math></div>'); | |
| 122 var node = $('m5'); | |
| 123 assertEquals('x sub 3', this.getNodeDescription(node)); | |
| 124 }); | |
| 125 | |
| 126 | |
| 127 /** Test MathML subsupscript. | |
| 128 * @export | |
| 129 */ | |
| 130 TEST_F('CvoxMathShifterUnitTest', 'MathmlMsubsup', function() { | |
| 131 this.loadHtml( | |
| 132 '<div><math xmlns="http://www.w3.org/1998/Math/MathML" id="m6">' + | |
| 133 '<msubsup><mi>x</mi><mn>3</mn><mn>4</mn></msubsup>' + | |
| 134 '</math></div>'); | |
| 135 var node = $('m6'); | |
| 136 assertEquals('x sub 3 super 4', this.getNodeDescription(node)); | |
| 137 }); | |
| OLD | NEW |