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

Side by Side Diff: test/statement_test.ts

Issue 2225953002: Strip more unused features. (Closed) Base URL: git@github.com:dart-lang/js_facade_gen.git@master
Patch Set: Fix types Created 4 years, 3 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
« no previous file with comments | « test/module_test.ts ('k') | test/test_support.ts » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /// <reference path="../typings/mocha/mocha.d.ts"/>
2 import {expectTranslate} from './test_support';
3
4 describe('statements', () => {
5 it('translates switch', () => {
6 expectTranslate('switch(x) { case 1: break; case 2: break; default: break; } ')
7 .to.equal(`switch (x) {
8 case 1:
9 break;
10 case 2:
11 break;
12 default:
13 break;
14 }`);
15 });
16 it('translates for loops', () => {
17 expectTranslate('for (1; 2; 3) { 4 }').to.equal(`for (1; 2; 3) {
18 4;
19 }`);
20 expectTranslate('for (var x = 1; 2; 3) { 4 }').to.equal(`for (var x = 1; 2; 3) {
21 4;
22 }`);
23 expectTranslate('for (var x, y = 1; 2; 3) { 4 }').to.equal(`for (var x, y = 1; 2; 3) {
24 4;
25 }`);
26 expectTranslate('for (var x = 0, y = 1; 2; 3) { 4 }').to.equal(`for (var x = 0, y = 1; 2; 3) {
27 4;
28 }`);
29 });
30 it('translates for-in loops', () => {
31 expectTranslate('for (var x in 1) { 2 }').to.equal(`for (var x in 1) {
32 2;
33 }`);
34 expectTranslate('for (x in 1) { 2 }').to.equal(`for (x in 1) {
35 2;
36 }`);
37 });
38 it('translates for-of loops', () => {
39 expectTranslate('for (var x of 1) { 2 }').to.equal(`for (var x in 1) {
40 2;
41 }`);
42 expectTranslate('for (x of 1) { 2 }').to.equal(`for (x in 1) {
43 2;
44 }`);
45 });
46 it('translates while loops', () => {
47 expectTranslate('while (1) { 2 }').to.equal(`while (1) {
48 2;
49 }`);
50 expectTranslate('do 1; while (2);').to.equal('do 1; while (2);');
51 });
52 it('translates if/then/else', () => {
53 expectTranslate('if (x) { 1 }').to.equal(`if (x) {
54 1;
55 }`);
56 expectTranslate('if (x) { 1 } else { 2 }').to.equal(`if (x) {
57 1;
58 } else {
59 2;
60 }`);
61 expectTranslate('if (x) 1;').to.equal('if (x) 1;');
62 expectTranslate('if (x) 1; else 2;').to.equal(`if (x)
63 1;
64 else
65 2;`);
66 });
67 it('translates try/catch', () => {
68 expectTranslate('try {} catch(e) {} finally {}')
69 .to.equal('try {} catch (e, e_stack) {} finally {}');
70 expectTranslate('try {} catch(e: MyException) {}')
71 .to.equal('try {} on MyException catch (e, e_stack) {}');
72 });
73 it('translates throw',
74 () => { expectTranslate('throw new Error("oops")').to.equal('throw new Erro r("oops");'); });
75 it('translates empty statements', () => { expectTranslate(';').to.equal(';'); });
76 it('translates break & continue', () => {
77 expectTranslate(`while (true) {
78 break;
79 }`).to.equal(`while (true) {
80 break;
81 }`);
82 expectTranslate(`while (true) {
83 continue;
84 }`).to.equal(`while (true) {
85 continue;
86 }`);
87 expectTranslate(`while (true) {
88 break foo;
89 }`).to.equal(`while (true) {
90 break foo;
91 }`);
92 });
93 it('rewrites catch block to preserve stack trace', () => {
94 expectTranslate(`try {} catch (e) {
95 console.log(e, e.stack);
96 }`).to.equal(`try {} catch (e, e_stack) {
97 console.log(e, e_stack);
98 }`);
99 });
100 it('rewrites rethrow to preserve stack trace', () => {
101 expectTranslate('try {} catch (ex) { throw ex; }').to.equal(`try {} catch (e x, ex_stack) {
102 rethrow;
103 }`);
104 });
105 });
OLDNEW
« no previous file with comments | « test/module_test.ts ('k') | test/test_support.ts » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698