OLD | NEW |
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 | 4 |
5 import 'compiler_helper.dart'; | 5 import 'compiler_helper.dart'; |
6 | 6 |
7 const String TEST_ONE = r""" | 7 const String TEST_ONE = r""" |
8 foo(a) { | 8 foo(a) { |
9 int b = foo(true); | 9 int b = foo(true); |
10 if (a) b = foo(2); | 10 if (a) b = foo(2); |
(...skipping 24 matching lines...) Expand all Loading... |
35 for (int i = 0; i < 1; i++) { | 35 for (int i = 0; i < 1; i++) { |
36 t = 0 + a + b; | 36 t = 0 + a + b; |
37 } | 37 } |
38 return t; | 38 return t; |
39 } | 39 } |
40 """; | 40 """; |
41 | 41 |
42 main() { | 42 main() { |
43 String generated = compile(TEST_ONE, entry: 'foo'); | 43 String generated = compile(TEST_ONE, entry: 'foo'); |
44 RegExp regexp = new RegExp(getIntTypeCheck(anyIdentifier)); | 44 RegExp regexp = new RegExp(getIntTypeCheck(anyIdentifier)); |
45 Iterator<Match> matches = regexp.allMatches(generated).iterator(); | 45 Iterator<Match> matches = regexp.allMatches(generated).iterator; |
46 checkNumberOfMatches(matches, 0); | 46 checkNumberOfMatches(matches, 0); |
47 Expect.isTrue(generated.contains(r'return a === true ? $.foo(2) : b;')); | 47 Expect.isTrue(generated.contains(r'return a === true ? $.foo(2) : b;')); |
48 | 48 |
49 generated = compile(TEST_TWO, entry: 'foo'); | 49 generated = compile(TEST_TWO, entry: 'foo'); |
50 regexp = new RegExp("foo\\(1\\)"); | 50 regexp = new RegExp("foo\\(1\\)"); |
51 matches = regexp.allMatches(generated).iterator(); | 51 matches = regexp.allMatches(generated).iterator; |
52 checkNumberOfMatches(matches, 1); | 52 checkNumberOfMatches(matches, 1); |
53 | 53 |
54 generated = compile(TEST_THREE, entry: 'foo'); | 54 generated = compile(TEST_THREE, entry: 'foo'); |
55 regexp = new RegExp(getNumberTypeCheck('a')); | 55 regexp = new RegExp(getNumberTypeCheck('a')); |
56 Expect.isTrue(regexp.hasMatch(generated)); | 56 Expect.isTrue(regexp.hasMatch(generated)); |
57 regexp = new RegExp(getNumberTypeCheck('b')); | 57 regexp = new RegExp(getNumberTypeCheck('b')); |
58 Expect.isTrue(regexp.hasMatch(generated)); | 58 Expect.isTrue(regexp.hasMatch(generated)); |
59 | 59 |
60 generated = compile(TEST_THREE_WITH_BAILOUT, entry: 'foo'); | 60 generated = compile(TEST_THREE_WITH_BAILOUT, entry: 'foo'); |
61 regexp = new RegExp(getNumberTypeCheck('a')); | 61 regexp = new RegExp(getNumberTypeCheck('a')); |
62 Expect.isTrue(regexp.hasMatch(generated)); | 62 Expect.isTrue(regexp.hasMatch(generated)); |
63 regexp = new RegExp(getNumberTypeCheck('b')); | 63 regexp = new RegExp(getNumberTypeCheck('b')); |
64 Expect.isTrue(regexp.hasMatch(generated)); | 64 Expect.isTrue(regexp.hasMatch(generated)); |
65 } | 65 } |
OLD | NEW |