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_unittest_base.js']); 7 8/** 9 * @extends {cvox.BrailleInterface} 10 * @constructor 11 */ 12function FakeBraille() { 13} 14 15FakeBraille.prototype = { 16 /** @override */ 17 write: function(content) { 18 this.content = content; 19 } 20}; 21 22/** @constructor */ 23function FakeNavigationManager() { 24} 25 26FakeNavigationManager.prototype = { 27 getBraille: function() { 28 return this.navBraille; 29 }, 30 31 setNavBraille: function(navBraille) { 32 this.navBraille = navBraille; 33 } 34}; 35 36 37/** 38 * Test fixture. 39 * @constructor 40 * @extends {ChromeVoxUnitTestBase} 41 */ 42function CvoxBrailleTextHandlerUnitTest() {} 43 44CvoxBrailleTextHandlerUnitTest.prototype = { 45 __proto__: ChromeVoxUnitTestBase.prototype, 46 47 /** @override */ 48 closureModuleDeps: [ 49 'cvox.BrailleInterface', 50 'cvox.BrailleTextHandler', 51 'cvox.NavBraille', 52 'cvox.NavigationManager', 53 ], 54 55 /** @override */ 56 setUp: function() { 57 this.navigationManager = new FakeNavigationManager(); 58 this.braille = new FakeBraille(); 59 cvox.ChromeVox.navigationManager = this.navigationManager; 60 this.brailleTextHandler = new cvox.BrailleTextHandler(this.braille); 61 } 62}; 63 64TEST_F('CvoxBrailleTextHandlerUnitTest', 'UpdateByUser', function() { 65 var navBraille = new cvox.NavBraille({ text: 'Hello, world!' }); 66 this.navigationManager.setNavBraille(navBraille); 67 68 this.brailleTextHandler.changed('', 0, 0, false); 69 assertEquals(navBraille, this.braille.content); 70}); 71