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

Side by Side Diff: mojo/public/js/validation_unittests.js

Issue 951573002: Add validation test cases for struct versioning. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 define([ 5 define([
6 "console", 6 "console",
7 "file", 7 "file",
8 "gin/test/expect", 8 "gin/test/expect",
9 "mojo/public/interfaces/bindings/tests/validation_test_interfaces.mojom", 9 "mojo/public/interfaces/bindings/tests/validation_test_interfaces.mojom",
10 "mojo/public/js/buffer", 10 "mojo/public/js/buffer",
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 if (actualResult != expectedResult) 218 if (actualResult != expectedResult)
219 console.log("[Test message validation failed: " + testFile + " ]"); 219 console.log("[Test message validation failed: " + testFile + " ]");
220 expect(actualResult).toEqual(expectedResult); 220 expect(actualResult).toEqual(expectedResult);
221 } 221 }
222 222
223 function testMessageValidation(key, filters) { 223 function testMessageValidation(key, filters) {
224 var testFiles = getMessageTestFiles(key); 224 var testFiles = getMessageTestFiles(key);
225 expect(testFiles.length).toBeGreaterThan(0); 225 expect(testFiles.length).toBeGreaterThan(0);
226 226
227 for (var i = 0; i < testFiles.length; i++) { 227 for (var i = 0; i < testFiles.length; i++) {
228 // TODO(hansmuller): Temporarily skipping array pointer overflow tests. 228 // TODO(hansmuller, yzshen): Temporarily skipping:
229 if (testFiles[i].indexOf("overflow") != -1) { 229 // - array pointer overflow tests;
230 // - struct versioning tests (tests with "mthd11" in the name).
231 if (testFiles[i].indexOf("overflow") != -1 ||
232 testFiles[i].indexOf("mthd11") != -1) {
230 console.log("[Skipping " + testFiles[i] + "]"); 233 console.log("[Skipping " + testFiles[i] + "]");
231 continue; 234 continue;
232 } 235 }
233 236
234 var testMessage = readTestMessage(testFiles[i]); 237 var testMessage = readTestMessage(testFiles[i]);
235 var handles = new Array(testMessage.handleCount); 238 var handles = new Array(testMessage.handleCount);
236 var message = new codec.Message(testMessage.buffer, handles); 239 var message = new codec.Message(testMessage.buffer, handles);
237 var messageValidator = new validator.Validator(message); 240 var messageValidator = new validator.Validator(message);
238 241
239 var err = messageValidator.validateMessageHeader(); 242 var err = messageValidator.validateMessageHeader();
240 for (var j = 0; err === noError && j < filters.length; ++j) 243 for (var j = 0; err === noError && j < filters.length; ++j)
241 err = filters[j](messageValidator); 244 err = filters[j](messageValidator);
242 245
243 checkValidationResult(testFiles[i], err); 246 checkValidationResult(testFiles[i], err);
244 } 247 }
245 } 248 }
246 249
247 function testConformanceMessageValidation() { 250 function testConformanceMessageValidation() {
248 testMessageValidation("conformance_", [ 251 testMessageValidation("conformance_", [
249 testInterface.ConformanceTestInterface.validateRequest]); 252 testInterface.ConformanceTestInterface.validateRequest]);
250 } 253 }
251 254
252 function testNotImplementedMessageValidation() {
253 testMessageValidation("not_implemented_", [
254 testInterface.ConformanceTestInterface.validateRequest]);
255 }
256
257 function testIntegratedMessageValidation(testFilesPattern) { 255 function testIntegratedMessageValidation(testFilesPattern) {
258 var testFiles = getMessageTestFiles(testFilesPattern); 256 var testFiles = getMessageTestFiles(testFilesPattern);
259 expect(testFiles.length).toBeGreaterThan(0); 257 expect(testFiles.length).toBeGreaterThan(0);
260 258
261 for (var i = 0; i < testFiles.length; i++) { 259 for (var i = 0; i < testFiles.length; i++) {
262 // TODO(hansmuller): Temporarily skipping array pointer overflow tests. 260 // TODO(hansmuller): Temporarily skipping array pointer overflow tests.
263 if (testFiles[i].indexOf("overflow") != -1) { 261 if (testFiles[i].indexOf("overflow") != -1) {
264 console.log("[Skipping " + testFiles[i] + "]"); 262 console.log("[Skipping " + testFiles[i] + "]");
265 continue; 263 continue;
266 } 264 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 testIntegratedMessageValidation("integration_intf_resp"); 305 testIntegratedMessageValidation("integration_intf_resp");
308 } 306 }
309 307
310 expect(checkTestMessageParser()).toBeNull(); 308 expect(checkTestMessageParser()).toBeNull();
311 testConformanceMessageValidation(); 309 testConformanceMessageValidation();
312 testIntegratedMessageHeaderValidation(); 310 testIntegratedMessageHeaderValidation();
313 testIntegratedResponseMessageValidation(); 311 testIntegratedResponseMessageValidation();
314 testIntegratedRequestMessageValidation(); 312 testIntegratedRequestMessageValidation();
315 this.result = "PASS"; 313 this.result = "PASS";
316 }); 314 });
OLDNEW
« no previous file with comments | « mojo/public/interfaces/bindings/tests/validation_test_interfaces.mojom ('k') | mojo/python/tests/validation_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698