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

Unified Diff: test/codegen/expect/language/statement_test.js

Issue 2128353002: Check in codegen test expectations. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 5 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
Index: test/codegen/expect/language/statement_test.js
diff --git a/test/codegen/expect/language/statement_test.js b/test/codegen/expect/language/statement_test.js
new file mode 100644
index 0000000000000000000000000000000000000000..1b49d3f2e92cfef69ed742c005caad8f1f2daffe
--- /dev/null
+++ b/test/codegen/expect/language/statement_test.js
@@ -0,0 +1,232 @@
+dart_library.library('language/statement_test', null, /* Imports */[
+ 'dart_sdk',
+ 'expect'
+], function load__statement_test(exports, dart_sdk, expect) {
+ 'use strict';
+ const core = dart_sdk.core;
+ const _interceptors = dart_sdk._interceptors;
+ const dart = dart_sdk.dart;
+ const dartx = dart_sdk.dartx;
+ const expect$ = expect.expect;
+ const statement_test = Object.create(null);
+ let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))();
+ let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))();
+ let ListOfint = () => (ListOfint = dart.constFn(core.List$(core.int)))();
+ let JSArrayOfListOfint = () => (JSArrayOfListOfint = dart.constFn(_interceptors.JSArray$(ListOfint())))();
+ let VoidToint = () => (VoidToint = dart.constFn(dart.definiteFunctionType(core.int, [])))();
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
+ statement_test.StatementTest = class StatementTest extends core.Object {
+ new() {
+ }
+ static testMain() {
+ let test = new statement_test.StatementTest();
+ test.testIfStatement();
+ test.testForLoop();
+ test.testWhileLoops();
+ test.testSwitch();
+ test.testExceptions();
+ test.testBreak();
+ test.testContinue();
+ test.testFunction();
+ test.testReturn();
+ }
+ testIfStatement() {
+ if (true) {
+ expect$.Expect.equals(true, true);
+ } else {
+ expect$.Expect.equals(false, true);
+ }
+ if (false) {
+ expect$.Expect.equals(false, true);
+ } else {
+ expect$.Expect.equals(true, true);
+ }
+ }
+ testForLoop() {
+ let count = 0, count2 = null;
+ for (let i = 0; i < 10; ++i) {
+ count = dart.notNull(count) + 1;
+ }
+ expect$.Expect.equals(10, count);
+ count2 = 0;
+ for (count = 0; dart.notNull(count) < 5; count = dart.notNull(count) + 1) {
+ count2 = dart.notNull(count2) + 1;
+ }
+ expect$.Expect.equals(5, count);
+ expect$.Expect.equals(5, count2);
+ count = count2 = 0;
+ for (; dart.notNull(count) < 10; count = dart.notNull(count) + 1) {
+ count2 = dart.notNull(count2) + 1;
+ }
+ expect$.Expect.equals(10, count);
+ expect$.Expect.equals(10, count2);
+ for (count = 0; dart.notNull(count) < 5;) {
+ count = dart.notNull(count) + 1;
+ }
+ expect$.Expect.equals(5, count);
+ for (count = 0;; count = dart.notNull(count) + 1) {
+ if (count == 10) {
+ break;
+ }
+ }
+ expect$.Expect.equals(10, count);
+ count = 0;
+ for (;;) {
+ if (count == 5) {
+ break;
+ }
+ count = dart.notNull(count) + 1;
+ }
+ expect$.Expect.equals(5, count);
+ }
+ testWhileLoops() {
+ let count = 0;
+ while (count < 10) {
+ ++count;
+ }
+ expect$.Expect.equals(10, count);
+ count = 0;
+ do {
+ ++count;
+ } while (count < 5);
+ expect$.Expect.equals(5, count);
+ }
+ testSwitch() {
+ let hit0 = null, hit1 = null, hitDefault = null;
+ for (let x = 0; x < 3; ++x) {
+ switch (x) {
+ case 0:
+ {
+ hit0 = true;
+ break;
+ }
+ case 1:
+ {
+ hit1 = true;
+ break;
+ }
+ default:
+ {
+ hitDefault = true;
+ break;
+ }
+ }
+ }
+ expect$.Expect.equals(true, hit0);
+ expect$.Expect.equals(true, hit1);
+ expect$.Expect.equals(true, hitDefault);
+ let strings = JSArrayOfString().of(['a', 'b', 'c']);
+ let hitA = null, hitB = null;
+ hitDefault = false;
+ for (let x = 0; x < 3; ++x) {
+ switch (strings[dartx.get](x)) {
+ case 'a':
+ {
+ hitA = true;
+ break;
+ }
+ case 'b':
+ {
+ hitB = true;
+ break;
+ }
+ default:
+ {
+ hitDefault = true;
+ break;
+ }
+ }
+ }
+ expect$.Expect.equals(true, hitA);
+ expect$.Expect.equals(true, hitB);
+ expect$.Expect.equals(true, hitDefault);
+ }
+ testExceptions() {
+ let hitCatch = null, hitFinally = null;
+ try {
+ dart.throw("foo");
+ } catch (e) {
+ expect$.Expect.equals(true, dart.equals(e, "foo"));
+ hitCatch = true;
+ }
+ finally {
+ hitFinally = true;
+ }
+ expect$.Expect.equals(true, hitCatch);
+ expect$.Expect.equals(true, hitFinally);
+ }
+ testBreak() {
+ let ints = JSArrayOfListOfint().of([JSArrayOfint().of([32, 87, 3, 589]), JSArrayOfint().of([12, 1076, 2000, 8]), JSArrayOfint().of([622, 127, 77, 955])]);
+ let i = null, j = 0;
+ let foundIt = false;
+ search:
+ for (i = 0; dart.notNull(i) < dart.notNull(ints[dartx.length]); i = dart.notNull(i) + 1) {
+ for (j = 0; j < dart.notNull(ints[dartx.get](i)[dartx.length]); j++) {
+ if (ints[dartx.get](i)[dartx.get](j) == 12) {
+ foundIt = true;
+ break search;
+ }
+ }
+ }
+ expect$.Expect.equals(true, foundIt);
+ }
+ testContinue() {
+ let searchMe = "Look for a substring in me";
+ let substring = "sub";
+ let foundIt = false;
+ let max = dart.notNull(searchMe[dartx.length]) - dart.notNull(substring[dartx.length]);
+ test:
+ for (let i = 0; i <= max; i++) {
+ let n = substring[dartx.length];
+ let j = i;
+ let k = 0;
+ while ((() => {
+ let x = n;
+ n = dart.notNull(x) - 1;
+ return x;
+ })() != 0) {
+ if (searchMe[dartx.get](j++) != substring[dartx.get](k++)) {
+ continue test;
+ }
+ }
+ foundIt = true;
+ break test;
+ }
+ }
+ testFunction() {
+ function foo() {
+ return 42;
+ }
+ dart.fn(foo, VoidToint());
+ expect$.Expect.equals(42, foo());
+ }
+ testReturn() {
+ if (true) {
+ return;
+ }
+ expect$.Expect.equals(true, false);
+ }
+ };
+ dart.setSignature(statement_test.StatementTest, {
+ constructors: () => ({new: dart.definiteFunctionType(statement_test.StatementTest, [])}),
+ methods: () => ({
+ testIfStatement: dart.definiteFunctionType(dart.dynamic, []),
+ testForLoop: dart.definiteFunctionType(dart.dynamic, []),
+ testWhileLoops: dart.definiteFunctionType(dart.dynamic, []),
+ testSwitch: dart.definiteFunctionType(dart.dynamic, []),
+ testExceptions: dart.definiteFunctionType(dart.dynamic, []),
+ testBreak: dart.definiteFunctionType(dart.dynamic, []),
+ testContinue: dart.definiteFunctionType(dart.dynamic, []),
+ testFunction: dart.definiteFunctionType(dart.dynamic, []),
+ testReturn: dart.definiteFunctionType(dart.void, [])
+ }),
+ statics: () => ({testMain: dart.definiteFunctionType(dart.dynamic, [])}),
+ names: ['testMain']
+ });
+ statement_test.main = function() {
+ statement_test.StatementTest.testMain();
+ };
+ dart.fn(statement_test.main, VoidTodynamic());
+ // Exports:
+ exports.statement_test = statement_test;
+});

Powered by Google App Engine
This is Rietveld 408576698