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

Side by Side Diff: tests/language/type_vm_test.dart

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « tests/language/type_cast_vm_test.dart ('k') | tests/language/typed_message_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 // VMOptions=--enable_type_checks --no_show_internal_names 4 // VMOptions=--enable_type_checks --no_show_internal_names
5 // 5 //
6 // Dart test program testing type checks. 6 // Dart test program testing type checks.
7 7
8 class TypeTest { 8 class TypeTest {
9 static test() { 9 static test() {
10 int result = 0; 10 int result = 0;
(...skipping 16 matching lines...) Expand all
27 return result; 27 return result;
28 } 28 }
29 29
30 static testSideEffect() { 30 static testSideEffect() {
31 int result = 0; 31 int result = 0;
32 int index() { 32 int index() {
33 result++; 33 result++;
34 return 0; 34 return 0;
35 } 35 }
36 try { 36 try {
37 List<int> a = new List<int>(1); 37 List<int> a = new List<int>.fixedLength(1);
38 a[0] = 0; 38 a[0] = 0;
39 a[index()]++; // Type check succeeds, but does not create side effects. 39 a[index()]++; // Type check succeeds, but does not create side effects.
40 Expect.equals(1, a[0]); 40 Expect.equals(1, a[0]);
41 } on TypeError catch (error) { 41 } on TypeError catch (error) {
42 result = 100; 42 result = 100;
43 } 43 }
44 return result; 44 return result;
45 } 45 }
46 46
47 static testArgument() { 47 static testArgument() {
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 Expect.equals("type_vm_test.dart", subs); 370 Expect.equals("type_vm_test.dart", subs);
371 Expect.equals(560, error.line); 371 Expect.equals(560, error.line);
372 Expect.equals(12, error.column); 372 Expect.equals(12, error.column);
373 } 373 }
374 return result; 374 return result;
375 } 375 }
376 376
377 static int testListAssigment() { 377 static int testListAssigment() {
378 int result = 0; 378 int result = 0;
379 { 379 {
380 var a = new List(5); 380 var a = new List.fixedLength(5);
381 List a0 = a; 381 List a0 = a;
382 List<Object> ao = a; 382 List<Object> ao = a;
383 List<int> ai = a; 383 List<int> ai = a;
384 List<num> an = a; 384 List<num> an = a;
385 List<String> as = a; 385 List<String> as = a;
386 } 386 }
387 { 387 {
388 var a = new List<Object>(5); 388 var a = new List<Object>.fixedLength(5);
389 List a0 = a; 389 List a0 = a;
390 List<Object> ao = a; 390 List<Object> ao = a;
391 try { 391 try {
392 List<int> ai = a; 392 List<int> ai = a;
393 } on TypeError catch (error) { 393 } on TypeError catch (error) {
394 result++; 394 result++;
395 Expect.equals("List<int>", error.dstType); 395 Expect.equals("List<int>", error.dstType);
396 Expect.equals("List<Object>", error.srcType); 396 Expect.equals("List<Object>", error.srcType);
397 Expect.equals("ai", error.dstName); 397 Expect.equals("ai", error.dstName);
398 int pos = error.url.lastIndexOf("/", error.url.length); 398 int pos = error.url.lastIndexOf("/", error.url.length);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 if (pos == -1) { 431 if (pos == -1) {
432 pos = error.url.lastIndexOf("\\", error.url.length); 432 pos = error.url.lastIndexOf("\\", error.url.length);
433 } 433 }
434 String subs = error.url.substring(pos + 1, error.url.length); 434 String subs = error.url.substring(pos + 1, error.url.length);
435 Expect.equals("type_vm_test.dart", subs); 435 Expect.equals("type_vm_test.dart", subs);
436 Expect.equals(424, error.line); 436 Expect.equals(424, error.line);
437 Expect.equals(27, error.column); 437 Expect.equals(27, error.column);
438 } 438 }
439 } 439 }
440 { 440 {
441 var a = new List<int>(5); 441 var a = new List<int>.fixedLength(5);
442 List a0 = a; 442 List a0 = a;
443 List<Object> ao = a; 443 List<Object> ao = a;
444 List<int> ai = a; 444 List<int> ai = a;
445 List<num> an = a; 445 List<num> an = a;
446 try { 446 try {
447 List<String> as = a; 447 List<String> as = a;
448 } on TypeError catch (error) { 448 } on TypeError catch (error) {
449 result++; 449 result++;
450 Expect.equals("List<String>", error.dstType); 450 Expect.equals("List<String>", error.dstType);
451 Expect.equals("List<int>", error.srcType); 451 Expect.equals("List<int>", error.srcType);
452 Expect.equals("as", error.dstName); 452 Expect.equals("as", error.dstName);
453 int pos = error.url.lastIndexOf("/", error.url.length); 453 int pos = error.url.lastIndexOf("/", error.url.length);
454 if (pos == -1) { 454 if (pos == -1) {
455 pos = error.url.lastIndexOf("\\", error.url.length); 455 pos = error.url.lastIndexOf("\\", error.url.length);
456 } 456 }
457 String subs = error.url.substring(pos + 1, error.url.length); 457 String subs = error.url.substring(pos + 1, error.url.length);
458 Expect.equals("type_vm_test.dart", subs); 458 Expect.equals("type_vm_test.dart", subs);
459 Expect.equals(447, error.line); 459 Expect.equals(447, error.line);
460 Expect.equals(27, error.column); 460 Expect.equals(27, error.column);
461 } 461 }
462 } 462 }
463 { 463 {
464 var a = new List<num>(5); 464 var a = new List<num>.fixedLength(5);
465 List a0 = a; 465 List a0 = a;
466 List<Object> ao = a; 466 List<Object> ao = a;
467 try { 467 try {
468 List<int> ai = a; 468 List<int> ai = a;
469 } on TypeError catch (error) { 469 } on TypeError catch (error) {
470 result++; 470 result++;
471 Expect.equals("List<int>", error.dstType); 471 Expect.equals("List<int>", error.dstType);
472 Expect.equals("List<num>", error.srcType); 472 Expect.equals("List<num>", error.srcType);
473 Expect.equals("ai", error.dstName); 473 Expect.equals("ai", error.dstName);
474 int pos = error.url.lastIndexOf("/", error.url.length); 474 int pos = error.url.lastIndexOf("/", error.url.length);
(...skipping 17 matching lines...) Expand all
492 if (pos == -1) { 492 if (pos == -1) {
493 pos = error.url.lastIndexOf("\\", error.url.length); 493 pos = error.url.lastIndexOf("\\", error.url.length);
494 } 494 }
495 String subs = error.url.substring(pos + 1, error.url.length); 495 String subs = error.url.substring(pos + 1, error.url.length);
496 Expect.equals("type_vm_test.dart", subs); 496 Expect.equals("type_vm_test.dart", subs);
497 Expect.equals(485, error.line); 497 Expect.equals(485, error.line);
498 Expect.equals(27, error.column); 498 Expect.equals(27, error.column);
499 } 499 }
500 } 500 }
501 { 501 {
502 var a = new List<String>(5); 502 var a = new List<String>.fixedLength(5);
503 List a0 = a; 503 List a0 = a;
504 List<Object> ao = a; 504 List<Object> ao = a;
505 try { 505 try {
506 List<int> ai = a; 506 List<int> ai = a;
507 } on TypeError catch (error) { 507 } on TypeError catch (error) {
508 result++; 508 result++;
509 Expect.equals("List<int>", error.dstType); 509 Expect.equals("List<int>", error.dstType);
510 Expect.equals("List<String>", error.srcType); 510 Expect.equals("List<String>", error.srcType);
511 Expect.equals("ai", error.dstName); 511 Expect.equals("ai", error.dstName);
512 int pos = error.url.lastIndexOf("/", error.url.length); 512 int pos = error.url.lastIndexOf("/", error.url.length);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
558 class C { 558 class C {
559 factory C() { 559 factory C() {
560 return 1; // Implicit result type is 'C', not int. 560 return 1; // Implicit result type is 'C', not int.
561 } 561 }
562 } 562 }
563 563
564 564
565 main() { 565 main() {
566 TypeTest.testMain(); 566 TypeTest.testMain();
567 } 567 }
OLDNEW
« no previous file with comments | « tests/language/type_cast_vm_test.dart ('k') | tests/language/typed_message_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698