tts_background_test.extjs revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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. 6GEN_INCLUDE(['../../testing/chromevox_e2e_test_base.js', 7 '../../testing/assert_additions.js']); 8 9// E2E tests for TtsBackground. 10 11/** 12 * Test fixture. 13 * @constructor 14 * @extends {ChromeVoxE2ETest} 15 */ 16function CvoxTtsBackgroundTest() {} 17 18CvoxTtsBackgroundTest.prototype = { 19 __proto__: ChromeVoxE2ETest.prototype 20}; 21 22SYNC_TEST_F('CvoxTtsBackgroundTest', 'Preprocess', function() { 23 var tts = new cvox.TtsBackground(false); 24 var preprocess = tts.preprocess.bind(tts); 25 26 // Punctuation. 27 assertEquals('dot', preprocess('.')); 28 assertEquals('x.', preprocess('x.')); 29 assertEquals('.x', preprocess('.x')); 30 assertEquals('space', preprocess(' ')); 31 assertEquals('', preprocess(' ')); 32 assertEquals('A', preprocess('a')); 33 assertEquals('A', preprocess('A')); 34 assertEquals('a.', preprocess('a.')); 35 assertEquals('.a', preprocess('.a')); 36 37 // All-caps words and camel case. 38 assertEquals('please avoid shouting', preprocess('PLEASE AVOID SHOUTING')); 39 assertEquals('abcd', preprocess('ABCD')); 40 assertEquals('L P T R', preprocess('LPTR')); 41 assertEquals('background T T S', preprocess('backgroundTTS')); 42 assertEquals('camel Case', preprocess('camelCase')); 43 44 // Pronunciation dictionary. 45 assertEquals('gee mail', preprocess('gmail')); 46 assertEquals('control', preprocess('ctrl')); 47 assertEquals('control', preprocess('CTRL')); 48 assertEquals('control', preprocess('Ctrl')); 49 assertEquals('control', preprocess(' ctrl')); 50 assertEquals('control', preprocess('ctrl ')); 51 assertEquals('control plus x', preprocess('ctrl+x')); 52 assertEquals('ctrlpt', preprocess('ctrlpt')); 53 assertEquals('Press control plus f while in chrome vox.', 54 preprocess('Press ctrl+f while in ChromeVox.')); 55 56 // Other special-case pronunciation rules. 57 assertEquals('welcome to google plus.', 58 preprocess('welcome to google+.')); 59 60 assertEquals('U P S', preprocess('UPS')); 61 62 assertEquals('UPS does deliver', preprocess('UPS DOES DELIVER')); 63 64 assertEquals('10 equal signs', preprocess('==========')); 65 66 assertEquals('new line', preprocess('\n')); 67 assertEquals('return', preprocess('\r')); 68}); 69