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

Side by Side Diff: test/mjsunit/harmony/typesystem/testgen.js

Issue 1817353003: Add tests for variable declarations (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@types
Patch Set: Created 4 years, 9 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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project 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 var debug = false; 5 var debug = false;
6 6
7 function CheckValid(type) { 7 function CheckValid(script) {
8 if (debug) { print("V:", type); } 8 if (debug) { print("V:", script); }
9 assertDoesNotThrow("'use types'; var x: " + type + ";"); 9 assertDoesNotThrow("'use types'; " + script);
10 } 10 }
11 11
12 function CheckInvalid(type) { 12 function CheckInvalid(script, exception=SyntaxError) {
13 if (debug) { print("I:", type); } 13 if (debug) { print("I:", script); }
14 assertThrows("'use types'; var x: " + type + ";", SyntaxError); 14 assertThrows("'use types'; " + script, exception);
15 }
16
17 function CheckValidType(type) {
18 CheckValid("var x: " + type + ";");
19 }
20
21 function CheckInvalidType(type, exception=SyntaxError) {
22 CheckInvalid("var x: " + type + ";", exception);
15 } 23 }
16 24
17 // Parameters: 25 // Parameters:
18 // multiplicity: positive integer 26 // multiplicity: positive integer
19 // generator: (size: positive integer, ...params: any[]) => Iterator<SomeType> 27 // generator: (size: positive integer, ...params: any[]) => Iterator<SomeType>
20 // transformations: [false | ((t: SomeType) => OtherType)] 28 // transformations: [false | ((t: SomeType) => OtherType)]
21 // params: any[] 29 // params: any[]
22 // 30 //
23 // A "test generator" object will have its "generator" generate tests, 31 // A "test generator" object will have its "generator" generate tests,
24 // will transform each generated test with all of its "transformations" 32 // will transform each generated test with all of its "transformations"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 } 116 }
109 } 117 }
110 } 118 }
111 119
112 // Parameters: 120 // Parameters:
113 // size: positive integer 121 // size: positive integer
114 // generators: [string | TestGen] 122 // generators: [string | TestGen]
115 // 123 //
116 // This function will generate all tests yielded by Generate and will 124 // This function will generate all tests yielded by Generate and will
117 // discard the results. It will normally be called with test generators 125 // discard the results. It will normally be called with test generators
118 // whose transformation functions test for validity (e.g. CheckValid or 126 // whose transformation functions test for validity (e.g. CheckValidType
119 // CheckInvalid) and do not return anything interesting. 127 // or CheckInvalidType) and do not return anything interesting.
120 function Test(size, generators) { 128 function Test(size, generators) {
121 for (let attempt of Generate(size, generators)) continue; 129 for (let attempt of Generate(size, generators)) continue;
122 } 130 }
OLDNEW
« no previous file with comments | « test/mjsunit/harmony/typesystem/string-literal-types.js ('k') | test/mjsunit/harmony/typesystem/tuple-types.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698