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