Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2493)

Unified Diff: chrome/browser/resources/chromeos/chromevox/braille/liblouis_test.extjs

Issue 927313002: Fix and reenable liblouis chromevox tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@test_api
Patch Set: Fix BrailleTranslatorManager tests that broke when fetchTables was moved into the event handler. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/chromeos/chromevox/braille/liblouis.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/chromeos/chromevox/braille/liblouis_test.extjs
diff --git a/chrome/browser/resources/chromeos/chromevox/braille/liblouis_test.extjs b/chrome/browser/resources/chromeos/chromevox/braille/liblouis_test.extjs
index 94c7e4e48c190d88bab81fadffe02129e4f4d247..66491f4d4afd3de8527fdcafba84fd26bd8a366a 100644
--- a/chrome/browser/resources/chromeos/chromevox/braille/liblouis_test.extjs
+++ b/chrome/browser/resources/chromeos/chromevox/braille/liblouis_test.extjs
@@ -30,7 +30,12 @@ CvoxLibLouisTest.prototype = {
var liblouis = this.createLiblouis();
liblouis.attachToElement(document.body);
return liblouis;
- }
+ },
+
+ withTranslator: function(liblouis, tableNames, callback) {
+ liblouis.getTranslator(tableNames,
+ this.continueTest(WhenTestDone.ASSERT, callback));
+ },
};
function assertEqualsUint8Array(expected, actual) {
@@ -42,16 +47,14 @@ function assertEqualsUint8Array(expected, actual) {
assertEqualsJSON(expected, as_array);
}
-// Disable all of tests because they are flaky. crbug.com/458643
-
-TEST_F('CvoxLibLouisTest', 'DISABLED_checkAllTables', function() {
+TEST_F('CvoxLibLouisTest', 'checkAllTables', function() {
var liblouis = this.createAndAttachLiblouis();
- cvox.BrailleTable.getAll(function(allTables) {
+ var continuation = this.continueTest(WhenTestDone.ASSERT, function(tables) {
var i = 0;
var checkNextTable = function() {
- var table = allTables[i++];
+ var table = tables[i++];
if (table) {
- liblouis.getTranslator(table.fileNames, function(translator) {
+ this.withTranslator(liblouis, table.fileNames, function(translator) {
assertNotEquals(null, translator,
'Table ' + table + ' should be valid');
checkNextTable();
@@ -59,86 +62,116 @@ TEST_F('CvoxLibLouisTest', 'DISABLED_checkAllTables', function() {
} else {
testDone();
}
- };
+ }.bind(this);
checkNextTable();
- });
+ }.bind(this));
+ cvox.BrailleTable.getAll(continuation);
});
-TEST_F('CvoxLibLouisTest', 'DISABLED_testTranslateComputerBraille', function () {
+TEST_F('CvoxLibLouisTest', 'testTranslateComputerBraille', function() {
var liblouis = this.createAndAttachLiblouis();
- liblouis.getTranslator('en-us-comp8.ctb', function(translator) {
- translator.translate(
- 'Hello!', function(cells, textToBraille, brailleToText) {
+ this.withTranslator(liblouis, 'en-us-comp8.ctb', function(translator) {
+ var continuation = this.continueTest(
+ WhenTestDone.ALWAYS,
+ function(cells, textToBraille, brailleToText) {
assertEqualsUint8Array([0x53, 0x11, 0x07, 0x07, 0x15, 0x2e], cells);
assertEqualsJSON([0, 1, 2, 3, 4, 5], textToBraille);
assertEqualsJSON([0, 1, 2, 3, 4, 5], brailleToText);
- testDone();
});
+ translator.translate('Hello!', continuation);
});
});
-TEST_F('CvoxLibLouisTest', 'DISABLED_testBackTranslateComputerBraille', function() {
+TEST_F('CvoxLibLouisTest', 'testBackTranslateComputerBraille', function() {
var liblouis = this.createAndAttachLiblouis();
- liblouis.getTranslator('en-us-comp8.ctb', function(translator) {
+ this.withTranslator(liblouis, 'en-us-comp8.ctb', function(translator) {
var cells = new Uint8Array([0x53, 0x11, 0x07, 0x07, 0x15, 0x2e]);
- translator.backTranslate(cells.buffer, function(text) {
+ var continuation = this.continueTest(WhenTestDone.ALWAYS, function(text) {
assertEquals('Hello!', text);
- testDone();
});
+ translator.backTranslate(cells.buffer, continuation);
});
});
-TEST_F('CvoxLibLouisTest', 'DISABLED_testTranslateGermanGrade2Braille', function() {
+TEST_F('CvoxLibLouisTest', 'testTranslateGermanGrade2Braille', function() {
var liblouis = this.createAndAttachLiblouis();
// This is one of the moderately large tables.
- liblouis.getTranslator('de-de-g2.ctb', function(translator) {
- translator.translate(
- 'München', function(cells, textToBraille, brailleToText) {
- assertEqualsUint8Array([0x0d, 0x33, 0x1d, 0x39, 0x09], cells);
- assertEqualsJSON([0, 1, 2, 3, 3, 4, 4], textToBraille);
- assertEqualsJSON([0, 1, 2, 3, 5], brailleToText);
- testDone();
- });
+ this.withTranslator(liblouis, 'de-de-g2.ctb', function(translator) {
+ var continuation = this.continueTest(
+ WhenTestDone.ALWAYS, function(cells, textToBraille, brailleToText) {
+ assertEqualsUint8Array([0x0d, 0x33, 0x1d, 0x39, 0x09], cells);
+ assertEqualsJSON([0, 1, 2, 3, 3, 4, 4], textToBraille);
+ assertEqualsJSON([0, 1, 2, 3, 5], brailleToText);
+ });
+ translator.translate('München', continuation);
});
});
-TEST_F('CvoxLibLouisTest', 'DISABLED_testBackTranslateGermanComputerBraille', function() {
+TEST_F('CvoxLibLouisTest', 'testBackTranslateGermanComputerBraille', function() {
var liblouis = this.createAndAttachLiblouis();
- liblouis.getTranslator('de-de-comp8.ctb', function(translator) {
+ this.withTranslator(liblouis, 'de-de-comp8.ctb', function(translator) {
var cells = new Uint8Array([0xb3]);
- translator.backTranslate(cells.buffer, function(text) {
+ var continuation = this.continueTest(WhenTestDone.ALWAYS, function(text) {
assertEquals('ü', text);
- testDone();
});
+ translator.backTranslate(cells.buffer, continuation);
});
});
-TEST_F('CvoxLibLouisTest', 'DISABLED_testBackTranslateEmptyCells', function() {
+TEST_F('CvoxLibLouisTest', 'testBackTranslateEmptyCells', function() {
var liblouis = this.createAndAttachLiblouis();
- liblouis.getTranslator('de-de-comp8.ctb', function(translator) {
- var cells = new Uint8Array();
- translator.backTranslate(cells.buffer, function(text) {
+ this.withTranslator(liblouis, 'de-de-comp8.ctb', function(translator) {
+ var continuation = this.continueTest(WhenTestDone.ALWAYS, function(text) {
assertNotEquals(null, text);
assertEquals(0, text.length);
- testDone();
});
+ translator.backTranslate(new Uint8Array().buffer, continuation);
});
});
-TEST_F('CvoxLibLouisTest', 'DISABLED_testGetTranslatorBeforeAttach', function() {
+TEST_F('CvoxLibLouisTest', 'testGetTranslatorBeforeAttach', function() {
var liblouis = this.createLiblouis();
assertFalse(liblouis.isAttached());
- liblouis.getTranslator('en-us-comp8.ctb', function(translator) {
- assertNotEquals(null, translator);
+ this.withTranslator(liblouis, 'en-us-comp8.ctb', function(translator) {
+ assertEquals(null, translator);
testDone();
});
- liblouis.attachToElement(document.body);
});
-TEST_F('CvoxLibLouisTest', 'DISABLED_testGetInvalidTranslator', function() {
+TEST_F('CvoxLibLouisTest', 'testGetInvalidTranslator', function() {
var liblouis = this.createAndAttachLiblouis();
- liblouis.getTranslator('nonexistant-table', function(translator) {
+ this.withTranslator(liblouis, 'nonexistant-table', function(translator) {
assertEquals(null, translator);
testDone();
});
});
+
+TEST_F('CvoxLibLouisTest', 'testTranslateAfterDetach', function() {
+ var liblouis = this.createAndAttachLiblouis();
+ this.withTranslator(liblouis, 'de-de-comp8.ctb', function(translator) {
+ liblouis.detach();
+ var continuation = this.continueTest(
+ WhenTestDone.ALWAYS,
+ function(cells, textToBraille, brailleToText) {
+ assertEquals(null, cells);
+ assertEquals(null, textToBraille);
+ assertEquals(null, brailleToText);
+ });
+ translator.translate('Hamburg', continuation);
+ });
+});
+
+TEST_F('CvoxLibLouisTest', 'testDetachWithOutstandingCallbacks', function() {
+ var liblouis = this.createAndAttachLiblouis();
+ this.withTranslator(liblouis, 'de-de-comp8.ctb', function(translator) {
+ var continuation = this.continueTest(
+ WhenTestDone.ALWAYS,
+ function(cells, textToBraille, brailleToText) {
+ assertEquals(null, cells);
+ assertEquals(null, textToBraille);
+ assertEquals(null, brailleToText);
+ });
+ translator.translate('Berlin', continuation);
+ liblouis.detach();
+ });
+});
« no previous file with comments | « chrome/browser/resources/chromeos/chromevox/braille/liblouis.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698