Revert "Update all tests"

This reverts commit ce76e9c30beaf9a193d3677b88c20a1ebb3fae8c.
This commit is contained in:
Jacob Richman
2017-03-21 16:33:18 -07:00
parent f486a21d8f
commit bf2b545150
978 changed files with 9355 additions and 9365 deletions
+14 -17
View File
@@ -15,11 +15,8 @@ final validMultitestOutcomes = new Set<String>.from([
'checked mode compile-time error'
]);
// Require at least one non-space character before '//#'
// Handle both //# and the legacy /// multitest regexp patterns.
final _multiTestRegExp = new RegExp(r"\S *//[#/] \w+:(.*)");
final _multiTestRegExpSeperator = new RegExp(r"//[#/]");
// Require at least one non-space character before '///'
final _multiTestRegExp = new RegExp(r"\S */// \w+:(.*)");
bool isMultiTest(String contents) => _multiTestRegExp.hasMatch(contents);
@@ -40,10 +37,10 @@ bool isMultiTest(String contents) => _multiTestRegExp.hasMatch(contents);
//
// For example: file I_am_a_multitest.dart
// aaa
// bbb //# 02: runtime error
// ccc //# 02: continued
// ddd //# 07: static type warning
// eee //# 10: ok
// bbb /// 02: runtime error
// ccc /// 02: continued
// ddd /// 07: static type warning
// eee /// 10: ok
// fff
//
// should create four tests:
@@ -53,24 +50,24 @@ bool isMultiTest(String contents) => _multiTestRegExp.hasMatch(contents);
//
// I_am_a_multitest_02.dart
// aaa
// bbb //# 02: runtime error
// ccc //# 02: continued
// bbb /// 02: runtime error
// ccc /// 02: continued
// fff
//
// I_am_a_multitest_07.dart
// aaa
// ddd //# 07: static type warning
// ddd /// 07: static type warning
// fff
//
// and I_am_a_multitest_10.dart
// aaa
// eee //# 10: ok
// eee /// 10: ok
// fff
//
// Note that it is possible to indicate more than one acceptable outcome
// in the case of dynamic and static type warnings
// aaa
// ddd //# 07: static type warning, dynamic type error
// ddd /// 07: static type warning, dynamic type error
// fff
void extractTestsFromMultitest(String filePath, String contents,
@@ -145,7 +142,7 @@ void extractTestsFromMultitest(String filePath, String contents,
}
}
// Represents a mutlitest annotation in the special //# comment.
// Represents a mutlitest annotation in the special /// comment.
class _Annotation {
String key;
String rest;
@@ -154,11 +151,11 @@ class _Annotation {
factory _Annotation.from(String line) {
// Do an early return with "null" if this is not a valid multitest
// annotation.
if (!line.contains(_multiTestRegExpSeperator)) {
if (!line.contains('///')) {
return null;
}
var parts = line
.split(_multiTestRegExpSeperator)[1]
.split('///')[1]
.split(':')
.map((s) => s.trim())
.where((s) => s.length > 0)
+28 -28
View File
@@ -4,13 +4,19 @@
library testing.multitest;
import 'dart:async' show Stream, StreamTransformer;
import 'dart:async' show
Stream,
StreamTransformer;
import 'dart:io' show Directory, File;
import 'dart:io' show
Directory,
File;
import 'log.dart' show splitLines;
import 'log.dart' show
splitLines;
import 'test_description.dart' show TestDescription;
import 'test_description.dart' show
TestDescription;
bool isError(Set<String> expectations) {
if (expectations.contains("compile-time error")) return true;
@@ -26,17 +32,16 @@ bool isCheckedModeError(Set<String> expectations) {
class MultitestTransformer
implements StreamTransformer<TestDescription, TestDescription> {
static RegExp multitestMarker = new RegExp(r"//[#/]");
static int _multitestMarkerLength = 3;
static const String multitestMarker = "///";
static const List<String> validOutcomesList = const <String>[
"ok",
"compile-time error",
"runtime error",
"static type warning",
"dynamic type error",
"checked mode compile-time error",
];
"ok",
"compile-time error",
"runtime error",
"static type warning",
"dynamic type error",
"checked mode compile-time error",
];
static final Set<String> validOutcomes =
new Set<String>.from(validOutcomesList);
@@ -47,9 +52,7 @@ class MultitestTransformer
errors.add(error);
print(error);
}
nextTest:
await for (TestDescription test in stream) {
nextTest: await for (TestDescription test in stream) {
String contents = await test.file.readAsString();
if (!contents.contains(multitestMarker)) {
yield test;
@@ -71,23 +74,20 @@ class MultitestTransformer
List<String> subtestOutcomesList;
if (index != -1) {
String annotationText =
line.substring(index + _multitestMarkerLength).trim();
line.substring(index + multitestMarker.length).trim();
index = annotationText.indexOf(":");
if (index != -1) {
subtestName = annotationText.substring(0, index).trim();
subtestOutcomesList = annotationText
.substring(index + 1)
.split(",")
.map((s) => s.trim())
.toList();
subtestOutcomesList = annotationText.substring(index + 1).split(",")
.map((s) => s.trim()).toList();
if (subtestName == "none") {
reportError(test.formatError(
"$lineNumber: $subtestName can't be used as test name."));
"$lineNumber: $subtestName can't be used as test name."));
continue nextTest;
}
if (subtestOutcomesList.isEmpty) {
reportError(test
.formatError("$lineNumber: Expected <testname>:<outcomes>"));
reportError(test.formatError(
"$lineNumber: Expected <testname>:<outcomes>"));
continue nextTest;
}
}
@@ -96,8 +96,8 @@ class MultitestTransformer
List<String> lines = testsAsLines.putIfAbsent(subtestName,
() => new List<String>.from(linesWithoutAnnotations));
lines.add(line);
Set<String> subtestOutcomes =
outcomes.putIfAbsent(subtestName, () => new Set<String>());
Set<String> subtestOutcomes = outcomes.putIfAbsent(subtestName,
() => new Set<String>());
if (subtestOutcomesList.length != 1 ||
subtestOutcomesList.single != "continued") {
for (String outcome in subtestOutcomesList) {
@@ -105,7 +105,7 @@ class MultitestTransformer
subtestOutcomes.add(outcome);
} else {
reportError(test.formatError(
"$lineNumber: '$outcome' isn't a recognized outcome."));
"$lineNumber: '$outcome' isn't a recognized outcome."));
continue nextTest;
}
}
+5 -5
View File
@@ -16,7 +16,7 @@ class B {
class A extends B {
m() {
(super).field = 1; //# 01: compile-time error
(super).field = 1; /// 01: compile-time error
}
}
@@ -27,12 +27,12 @@ class C {
class D extends C {
D() : super();
D.name() : (super).name(); //# 02: compile-time error
D.name() : (super).name(); /// 02: compile-time error
}
main() {
Expect.throws(new A().m); // //# 01: continued
Expect.throws(() => new D.name()); //# 02: continued
Expect.throws(() => (p).x); // //# 03: compile-time error
Expect.throws(new A().m); // /// 01: continued
Expect.throws(() => new D.name()); /// 02: continued
Expect.throws(() => (p).x); // /// 03: compile-time error
}
@@ -10,7 +10,7 @@ foo() {}
gotStream1(stream) {
foo()
. //# 01: compile-time error
. /// 01: compile-time error
.then();
}
@@ -17,11 +17,11 @@ void main() {
B b;
a = a;
a = subA;
a = b; //# 01: static type warning
a = b; /// 01: static type warning
subA = a;
subA = subA;
subA = b; //# 02: static type warning
b = a; //# 03: static type warning
b = subA; //# 04: static type warning
subA = b; /// 02: static type warning
b = a; /// 03: static type warning
b = subA; /// 04: static type warning
b = b;
}
@@ -4,14 +4,14 @@
main() {
var a = [0, 1];
a[-1]; // //# 01: runtime error
a[-1] = 4; // //# 02: runtime error
a[2]; // //# 03: runtime error
a[2] = 4; // //# 04: runtime error
checkIndex(a, -1); // //# 05: runtime error
checkIndexedAssignment(a, -1); // //# 06: runtime error
checkIndex(a, 2); // //# 07: runtime error
checkIndexedAssignment(a, 2); // //# 08: runtime error
a[-1]; // /// 01: runtime error
a[-1] = 4; // /// 02: runtime error
a[2]; // /// 03: runtime error
a[2] = 4; // /// 04: runtime error
checkIndex(a, -1); // /// 05: runtime error
checkIndexedAssignment(a, -1); // /// 06: runtime error
checkIndex(a, 2); // /// 07: runtime error
checkIndexedAssignment(a, 2); // /// 08: runtime error
checkIndex(a, 0);
checkIndexedAssignment(a, 0);
}
@@ -10,22 +10,22 @@ const g1 = x
+ "bar"
;
const g2 = x
+ null // //# 01: compile-time error
+ null // /// 01: compile-time error
;
const g3 = x
+ 499 // //# 02: compile-time error
+ 499 // /// 02: compile-time error
;
const g4 = x
+ 3.3 // //# 03: compile-time error
+ 3.3 // /// 03: compile-time error
;
const g5 = x
+ true // //# 04: compile-time error
+ true // /// 04: compile-time error
;
const g6 = x
+ false // //# 05: compile-time error
+ false // /// 05: compile-time error
;
const g7 = "foo"
+ x[0] // //# 06: compile-time error
+ x[0] // /// 06: compile-time error
;
const g8 = 1
+ x.length
@@ -11,10 +11,10 @@ const y = 12345678901234567890;
const z = x - y;
const a = 1.0;
const b = a << 3; // //# 01: compile-time error
const b = a << 3; // /// 01: compile-time error
const c = -0.0;
const d = c << 1; // //# 02: compile-time error
const d = c << 1; // /// 02: compile-time error
foo() => 12345678901234567891 - 12345678901234567890;
@@ -24,11 +24,11 @@ main() {
Expect.equals(0, foo());
Expect.isTrue(x is double);
Expect.isTrue(x is int);
Expect.equals(8, b); // //# 01: continued
Expect.equals(8, 1.0 << 3); // //# 03: static type warning
Expect.equals(8, b); // /// 01: continued
Expect.equals(8, 1.0 << 3); // /// 03: static type warning
Expect.isTrue(1 == 1.0);
Expect.equals(0, d); // //# 02: continued
Expect.equals(0, -0.0 << 1); // //# 04: static type warning
Expect.equals(0, d); // /// 02: continued
Expect.equals(0, -0.0 << 1); // /// 04: static type warning
// Make sure the 1 is not shifted into the 32 bit range.
Expect.equals(0, 0x100000000 >> 3);
// The dynamic int-check also allows -0.0.
@@ -4,10 +4,10 @@
main() {
var a = [0, 1];
a[1.2]; // //# 01: runtime error
a[1.2] = 4; // //# 02: runtime error
checkIndex(a, 1.4); //# 03: runtime error
checkIndexedAssignment(a, 1.4); //# 04: runtime error
a[1.2]; // /// 01: runtime error
a[1.2] = 4; // /// 02: runtime error
checkIndex(a, 1.4); /// 03: runtime error
checkIndexedAssignment(a, 1.4); /// 04: runtime error
checkIndex(a, 0);
checkIndexedAssignment(a, 0);
}
@@ -14,7 +14,7 @@
import 'dart:mirrors';
@Deprecated("m"
,, // //# 01: compile-time error
,, // /// 01: compile-time error
)
class A {
}
@@ -8,7 +8,7 @@
// annotation had a syntax error.
@Deprecated("m"
,, // //# 01: compile-time error
,, // /// 01: compile-time error
)
class A {}
+12 -12
View File
@@ -4,49 +4,49 @@
// A break label must be declared where it's used.
undeclaredBreakLabel1() {
foo: { break bar; break foo; } // //# 01: compile-time error
foo: { break bar; break foo; } // /// 01: compile-time error
}
undeclaredBreakLabel2() {
foo: while (true) { break bar; break foo; } // //# 02: compile-time error
foo: while (true) { break bar; break foo; } // /// 02: compile-time error
}
// An unlabeled break must be inside a loop or switch.
noBreakTarget() {
foo: if (true) { break; break foo; } // //# 03: compile-time error
foo: if (true) { break; break foo; } // /// 03: compile-time error
}
// A continue label must be declared where it's used.
undeclaredContinueLabel() {
foo: for (;;) { continue bar; break foo; } // //# 04: compile-time error
foo: for (;;) { continue bar; break foo; } // /// 04: compile-time error
}
// An unlabeled continue must be inside a loop.
noContinueTarget() {
foo: if (true) continue; else break foo; // //# 05: compile-time error
foo: if (true) continue; else break foo; // /// 05: compile-time error
}
// A continue label must point to a continue-able statement.
wrongContinueLabel() {
foo: if (true) continue foo; // //# 06: compile-time error
foo: if (true) continue foo; // /// 06: compile-time error
}
// Labels are not captured by closures.
noncaptureLabel() {
foo: { // //# 07: compile-time error
(() { break foo; })(); // //# 07: continued
break foo; // //# 07: continued
} // //# 07: continued
foo: { // /// 07: compile-time error
(() { break foo; })(); // /// 07: continued
break foo; // /// 07: continued
} // /// 07: continued
}
// Implicit break targets are not captured by closures.
noncaptureBreak() {
while(true) (() { break; })(); // //# 08: compile-time error
while(true) (() { break; })(); // /// 08: compile-time error
}
// Implicit continue targets are not captured by closures.
noncaptureContinue() {
while(true) (() { continue; })(); // //# 09: compile-time error
while(true) (() { continue; })(); // /// 09: compile-time error
}
main() {
@@ -6,13 +6,13 @@
import "package:expect/expect.dart";
const double MINUS_ZERO = -0; //# 01: static type warning, checked mode compile-time error
const double MINUS_ZERO = -0; /// 01: static type warning, checked mode compile-time error
void main() {
// Dart2js must not infer that the type-intersection of int and -0.0 is empty.
// It must get an interceptor for the addition (`i += 3`), or use the native
// JS + operation.
int i = MINUS_ZERO; // //# 01: continued
i += 3; // //# 01: continued
Expect.equals(3, i); // //# 01: continued
int i = MINUS_ZERO; // /// 01: continued
i += 3; // /// 01: continued
Expect.equals(3, i); // /// 01: continued
}
@@ -20,7 +20,7 @@ import 'dart:mirrors';
import 'crash_library_metadata.dart'; // This would crash dart2js.
// Importing dart:html to make things interesting.
import 'dart:html'; //# 01: ok
import 'dart:html'; /// 01: ok
class MirrorPrinter {
final StringBuffer buffer;
@@ -185,5 +185,5 @@ main() {
print(MirrorPrinter.stringify(currentMirrorSystem().libraries));
// Clear the nodes to avoid confusing the fine test framework (by "fine" I
// mean something else) -- ahe.
document.body.nodes.clear(); //# 01: continued
document.body.nodes.clear(); /// 01: continued
}
@@ -24,12 +24,12 @@ runTests() {
Expect.equals("foo", new A().foo);
Expect.isTrue(lines.isEmpty);
var barResult = new A().bar;
Expect.equals("bar", barResult); // //# minif: ok
Expect.equals("bar", barResult); // /// minif: ok
Expect.isTrue(lines.length == 1);
var line = lines.first;
Expect.isTrue(line.contains("Warning") &&
line.contains("bar") && // //# minif: continued
line.contains("bar") && // /// minif: continued
line.contains("minif"));
}
@@ -9,14 +9,14 @@ library symbol_literal_test;
main() {
print(#a);
print(#_a); //# 01: compile-time error
print(#_a); /// 01: compile-time error
print(#a.b);
print(#_a.b); //# 02: compile-time error
print(#a._b); //# 03: compile-time error
print(#_a.b); /// 02: compile-time error
print(#a._b); /// 03: compile-time error
print(#a.b.c);
print(#_a.b.c); //# 04: compile-time error
print(#a._b.c); //# 05: compile-time error
print(#a.b._c); //# 06: compile-time error
print(#_a.b.c); /// 04: compile-time error
print(#a._b.c); /// 05: compile-time error
print(#a.b._c); /// 06: compile-time error
}
@@ -4,7 +4,7 @@
void main() {
var foo = new Foo();
var bar = new Bar(); //# 01: compile-time error
var bar = new Bar(); /// 01: compile-time error
}
class Foo {
@@ -12,5 +12,5 @@ class Foo {
}
class Bar extends Foo {
Bar(); //# 01: continued
Bar(); /// 01: continued
}
@@ -63,9 +63,9 @@ badswitches(val) {
// 01 - a label/statement without a following case/default.
// 02 - a label without a following case/default or statement.
switch (val) {
foo: break; // //# 01: compile-time error
case 2: // //# 02: compile-time error
foo: // //# 02: continued
foo: break; // /// 01: compile-time error
case 2: // /// 02: compile-time error
foo: // /// 02: continued
}
}
@@ -3,5 +3,5 @@
// BSD-style license that can be found in the LICENSE file.
void main() {
throw "foo"; // //# 01: runtime error
throw "foo"; // /// 01: runtime error
}
@@ -31,9 +31,9 @@ void nonThrow5() {
}
void main() {
throw1(); // //# 01: runtime error
throw2(); // //# 02: runtime error
throw3(); // //# 03: runtime error
throw4(); // //# 04: runtime error
throw1(); // /// 01: runtime error
throw2(); // /// 02: runtime error
throw3(); // /// 03: runtime error
throw4(); // /// 04: runtime error
nonThrow5();
}
@@ -11,6 +11,6 @@ var v;
main() {
switch (v) {
case C: break; // //# 01: compile-time error
case C: break; // /// 01: compile-time error
}
}
@@ -3,11 +3,11 @@
// BSD-style license that can be found in the LICENSE file.
int foo(int i) {
i = 'fisk'; // //# 01: static type warning
return 'kat'; // //# 02: static type warning, dynamic type error
i = 'fisk'; // /// 01: static type warning
return 'kat'; // /// 02: static type warning, dynamic type error
}
main() {
foo(42);
foo('hest'); // //# 03: static type warning
foo('hest'); // /// 03: static type warning
}
+12 -12
View File
@@ -422,18 +422,18 @@ main() {
for (int i = 0; i < 10; i++) {
Expect.equals(1234567890123456789, foo());
Expect.equals(12345678901234567890, bar());
testSmiOverflow(); // //# overflow: ok
testBigintAdd(); // //# add: ok
testBigintSub(); // //# sub: ok
testBigintMul(); // //# mul: ok
testBigintTruncDiv(); // //# trunDiv: ok
testBigintDiv(); // //# div: ok
testBigintModulo(); // //# mod: ok
testBigintModPow(); // //# modPow: ok
testBigintModInverse(); // //# modInv: ok
testBigintGcd(); // //# gcd: ok
testBigintNegate(); // //# negate: ok
testShiftAmount(); // //# shift: ok
testSmiOverflow(); // /// overflow: ok
testBigintAdd(); // /// add: ok
testBigintSub(); // /// sub: ok
testBigintMul(); // /// mul: ok
testBigintTruncDiv(); // /// trunDiv: ok
testBigintDiv(); // /// div: ok
testBigintModulo(); // /// mod: ok
testBigintModPow(); // /// modPow: ok
testBigintModInverse(); // /// modInv: ok
testBigintGcd(); // /// gcd: ok
testBigintNegate(); // /// negate: ok
testShiftAmount(); // /// shift: ok
Expect.equals(12345678901234567890, (12345678901234567890).abs());
Expect.equals(12345678901234567890, (-12345678901234567890).abs());
var a = 10000000000000000000;
@@ -3,9 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
main() {
const bool.fromEnvironment('NOT_FOUND', defaultValue: ''); // //# 01: compile-time error
const bool.fromEnvironment('NOT_FOUND', defaultValue: 1); // //# 02: compile-time error
const bool.fromEnvironment(null); // //# 03: compile-time error
const bool.fromEnvironment(1); // //# 04: compile-time error
const bool.fromEnvironment([]); // //# 05: compile-time error
const bool.fromEnvironment('NOT_FOUND', defaultValue: ''); // /// 01: compile-time error
const bool.fromEnvironment('NOT_FOUND', defaultValue: 1); // /// 02: compile-time error
const bool.fromEnvironment(null); // /// 03: compile-time error
const bool.fromEnvironment(1); // /// 04: compile-time error
const bool.fromEnvironment([]); // /// 05: compile-time error
}
+249 -249
View File
@@ -14,7 +14,7 @@ const whiteSpace = const [
"\x0b",
"\x0c",
"\x0d",
"\x85", // //# 01: ok
"\x85", // /// 01: ok
"\xa0",
"\u1680",
"\u2000",
@@ -233,26 +233,26 @@ void main() {
"4555072551893136908362547791869486679949683240497058210285131854"
"51396213837722826145437693412532098591327667236328125",
0.0);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000024703282292062327208828439643411068627545332140664243314532" //# 03: ok
"8041234170109088178685677591650492652607243027730579814636067699" //# 03: ok
"1112238669661707327453443265068702897439863329200619332642599205" //# 03: ok
"1806252781222000513169502627641523911022607448403553068808609405" //# 03: ok
"1727798181294290864842608522062097649849550765341204993205100587" //# 03: ok
"2127469658709242016690593998242808606978027857019419997429604579" //# 03: ok
"7572623273334010723772922131119806567715298322567005234345331218" //# 03: ok
"5169920860031716486480793611343761679481328431956040281530986197" //# 03: ok
"8304604971452253283193290744072288902141724247846767401941767720" //# 03: ok
"8561650585989659548591956327689896895290365125294085321852619688" //# 03: ok
"9863888974446146846024033780172178553364579041996676675092137151" //# 03: ok
"9705456298034409473812692774776868254618683783877327369245051207" //# 03: ok
"5931578479504396230612962142122846982018227555473696607567828620" //# 03: ok
"5497859173707553281928994692862033843994140625", // //# 03: ok
5e-324); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000024703282292062327208828439643411068627545332140664243314532" /// 03: ok
"8041234170109088178685677591650492652607243027730579814636067699" /// 03: ok
"1112238669661707327453443265068702897439863329200619332642599205" /// 03: ok
"1806252781222000513169502627641523911022607448403553068808609405" /// 03: ok
"1727798181294290864842608522062097649849550765341204993205100587" /// 03: ok
"2127469658709242016690593998242808606978027857019419997429604579" /// 03: ok
"7572623273334010723772922131119806567715298322567005234345331218" /// 03: ok
"5169920860031716486480793611343761679481328431956040281530986197" /// 03: ok
"8304604971452253283193290744072288902141724247846767401941767720" /// 03: ok
"8561650585989659548591956327689896895290365125294085321852619688" /// 03: ok
"9863888974446146846024033780172178553364579041996676675092137151" /// 03: ok
"9705456298034409473812692774776868254618683783877327369245051207" /// 03: ok
"5931578479504396230612962142122846982018227555473696607567828620" /// 03: ok
"5497859173707553281928994692862033843994140625", // /// 03: ok
5e-324); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -369,44 +369,44 @@ void main() {
"8136843040991207538774075715754306035963544889052606784864342758"
"900428165258489343614201061427593231201171875",
5e-324);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000074109846876186981626485318930233205854758970392148714663837" //# 02: ok
"8523751013260905313127797949754542453988569694847043168576596389" //# 02: ok
"9850655339096945981621940161728171894510697854671067917687257517" //# 02: ok
"7347315553307795408549809608457500958111373034747658096871009590" //# 02: ok
"9754422710047573078097111189357848386756539987835030152280559340" //# 02: ok
"4659373979179073872386829939581848166016912201945649993128979841" //# 02: ok
"1362062484498678713572180352209017023903285791732520220528974020" //# 02: ok
"8029068540216066123755499834026713000358124864790413857434018755" //# 02: ok
"2090159017259254714629617513415977493871857473787096164563890871" //# 02: ok
"8119841271673056017045493004705269590165763776884908267986972573" //# 02: ok
"3665217655679410725087643375608460039849049721491174630855395563" //# 02: ok
"54188641513168478436313080237596295773983001708984375", // //# 02: ok
1e-323); // //# 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000074109846876186981626485318930233205873343654412044724850344" //# 03: ok
"8923718677971811461747287833219166123210675953743507352131000861" //# 03: ok
"5508029119022396648780866584046796426383292609958261304514284249" //# 03: ok
"6061610746879932829188941791435548141415672575056325503240888674" //# 03: ok
"0040403932604439422384254107243478095284614859960753370503720954" //# 03: ok
"5808063977144841990843464643012899935961693114687389992568869106" //# 03: ok
"5599267374834247685403237712975952143398358575711517208866987110" //# 03: ok
"6349531233468788347546753834029761025748698485508885182206645314" //# 03: ok
"0639262948657591471263120659283236968907400986955900192071499065" //# 03: ok
"6496581595870337769532410323614883653969318176216473399700896902" //# 03: ok
"4282850500785430600410615352213843786678841324490411560469406158" //# 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
1e-323); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000074109846876186981626485318930233205854758970392148714663837" /// 02: ok
"8523751013260905313127797949754542453988569694847043168576596389" /// 02: ok
"9850655339096945981621940161728171894510697854671067917687257517" /// 02: ok
"7347315553307795408549809608457500958111373034747658096871009590" /// 02: ok
"9754422710047573078097111189357848386756539987835030152280559340" /// 02: ok
"4659373979179073872386829939581848166016912201945649993128979841" /// 02: ok
"1362062484498678713572180352209017023903285791732520220528974020" /// 02: ok
"8029068540216066123755499834026713000358124864790413857434018755" /// 02: ok
"2090159017259254714629617513415977493871857473787096164563890871" /// 02: ok
"8119841271673056017045493004705269590165763776884908267986972573" /// 02: ok
"3665217655679410725087643375608460039849049721491174630855395563" /// 02: ok
"54188641513168478436313080237596295773983001708984375", // /// 02: ok
1e-323); // /// 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000074109846876186981626485318930233205873343654412044724850344" /// 03: ok
"8923718677971811461747287833219166123210675953743507352131000861" /// 03: ok
"5508029119022396648780866584046796426383292609958261304514284249" /// 03: ok
"6061610746879932829188941791435548141415672575056325503240888674" /// 03: ok
"0040403932604439422384254107243478095284614859960753370503720954" /// 03: ok
"5808063977144841990843464643012899935961693114687389992568869106" /// 03: ok
"5599267374834247685403237712975952143398358575711517208866987110" /// 03: ok
"6349531233468788347546753834029761025748698485508885182206645314" /// 03: ok
"0639262948657591471263120659283236968907400986955900192071499065" /// 03: ok
"6496581595870337769532410323614883653969318176216473399700896902" /// 03: ok
"4282850500785430600410615352213843786678841324490411560469406158" /// 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
1e-323); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -483,26 +483,26 @@ void main() {
"0239620254961370692713747131027132020441991845959370908649389667"
"01396213837722826145437693412532098591327667236328125",
1.1125369292536007e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" //# 03: ok
"5360093857793927928947412039400442434185228365340521456608629527" //# 03: ok
"0200315929606120759250932815416474352736201659755028987189999989" //# 03: ok
"3220987486513026766686796443888026815774211444057134206415720396" //# 03: ok
"3510525564718487986029401249963455450110781777556316353975973978" //# 03: ok
"4825173851725161436876623857879887229903814003929524302244972629" //# 03: ok
"6795040225381805100879491255387164751912585073962051947893527710" //# 03: ok
"5170790163081944841764003984818943810636714040207972316616704045" //# 03: ok
"0220895038833513659790739432367709097880422198053807344762226099" //# 03: ok
"3129277744388529754345873069706690065083079768940685222309466301" //# 03: ok
"4235389404255004774284573740536646273496781023858510820692328908" //# 03: ok
"0857253100067390568036719107632515767271783448958607838263400261" //# 03: ok
"9271291212296536333081616208300526650104600844121842238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
1.112536929253601e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" /// 03: ok
"5360093857793927928947412039400442434185228365340521456608629527" /// 03: ok
"0200315929606120759250932815416474352736201659755028987189999989" /// 03: ok
"3220987486513026766686796443888026815774211444057134206415720396" /// 03: ok
"3510525564718487986029401249963455450110781777556316353975973978" /// 03: ok
"4825173851725161436876623857879887229903814003929524302244972629" /// 03: ok
"6795040225381805100879491255387164751912585073962051947893527710" /// 03: ok
"5170790163081944841764003984818943810636714040207972316616704045" /// 03: ok
"0220895038833513659790739432367709097880422198053807344762226099" /// 03: ok
"3129277744388529754345873069706690065083079768940685222309466301" /// 03: ok
"4235389404255004774284573740536646273496781023858510820692328908" /// 03: ok
"0857253100067390568036719107632515767271783448958607838263400261" /// 03: ok
"9271291212296536333081616208300526650104600844121842238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
1.112536929253601e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -561,44 +561,44 @@ void main() {
"8136843040991207538774075715754306035963544889052606784864342758"
"900428165258489343614201061427593231201171875",
1.112536929253601e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000011125369292" //# 02: ok
"5360143264358512053601829696279729256322446286636762993074885578" //# 02: ok
"5482848940402484819383308231788212319506475197423260249353326444" //# 02: ok
"4130717265985540087275830129388183546908748591883986098046865342" //# 02: ok
"9694440740018214171090142139290408905547397593746087678853434622" //# 02: ok
"7708807769200010477987555066232823112546765790360487852208850575" //# 02: ok
"8752599546868752897347409845010678425979078962517411943872958339" //# 02: ok
"1841626929078828345647733525524686707077165117383988808631340302" //# 02: ok
"3919811372391502185169818655049136406061931820528945258278945377" //# 02: ok
"2640279824496362807465448266116748919295441238296611971177785355" //# 02: ok
"4605209927839760366494651758097211936470402475783551200969719627" //# 02: ok
"9349765358747644509438842714766105380341358326953487329219653376" //# 02: ok
"04188641513168478436313080237596295773983001708984375", // //# 02: ok
1.1125369292536017e-308); // //# 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" //# 03: ok
"5360143264358512053601829696279729256322464871320782889085072085" //# 03: ok
"5882816605113390968002798115252835988728581456319724432907730915" //# 03: ok
"9788091045910990754434756551706808078781343347171179484873892074" //# 03: ok
"8408735933590351591729274322268456088851697134054755085223313705" //# 03: ok
"7994788991756876822274697984118452821074840662486211070432012189" //# 03: ok
"9901289544834521015804044548441730195923859875259151943312847604" //# 03: ok
"6078831819414397317478790886291621826572237901362985796969353392" //# 03: ok
"2240274065644224408961072655052184431452505441247416583051571936" //# 03: ok
"1189383755894699564098951411984008394330984751465415998685393549" //# 03: ok
"2981950252037042118981569077006826000273956875115116332683643956" //# 03: ok
"9967398203853664384761814691371489127171149929952724258833663970" //# 03: ok
"9550533979841101562169154890806946368370134291387467238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
1.1125369292536017e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000011125369292" /// 02: ok
"5360143264358512053601829696279729256322446286636762993074885578" /// 02: ok
"5482848940402484819383308231788212319506475197423260249353326444" /// 02: ok
"4130717265985540087275830129388183546908748591883986098046865342" /// 02: ok
"9694440740018214171090142139290408905547397593746087678853434622" /// 02: ok
"7708807769200010477987555066232823112546765790360487852208850575" /// 02: ok
"8752599546868752897347409845010678425979078962517411943872958339" /// 02: ok
"1841626929078828345647733525524686707077165117383988808631340302" /// 02: ok
"3919811372391502185169818655049136406061931820528945258278945377" /// 02: ok
"2640279824496362807465448266116748919295441238296611971177785355" /// 02: ok
"4605209927839760366494651758097211936470402475783551200969719627" /// 02: ok
"9349765358747644509438842714766105380341358326953487329219653376" /// 02: ok
"04188641513168478436313080237596295773983001708984375", // /// 02: ok
1.1125369292536017e-308); // /// 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" /// 03: ok
"5360143264358512053601829696279729256322464871320782889085072085" /// 03: ok
"5882816605113390968002798115252835988728581456319724432907730915" /// 03: ok
"9788091045910990754434756551706808078781343347171179484873892074" /// 03: ok
"8408735933590351591729274322268456088851697134054755085223313705" /// 03: ok
"7994788991756876822274697984118452821074840662486211070432012189" /// 03: ok
"9901289544834521015804044548441730195923859875259151943312847604" /// 03: ok
"6078831819414397317478790886291621826572237901362985796969353392" /// 03: ok
"2240274065644224408961072655052184431452505441247416583051571936" /// 03: ok
"1189383755894699564098951411984008394330984751465415998685393549" /// 03: ok
"2981950252037042118981569077006826000273956875115116332683643956" /// 03: ok
"9967398203853664384761814691371489127171149929952724258833663970" /// 03: ok
"9550533979841101562169154890806946368370134291387467238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
1.1125369292536017e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -674,26 +674,26 @@ void main() {
"5924167958029604477064946470184777360934300451421683607013647479"
"51396213837722826145437693412532098591327667236328125",
2.2250738585072014e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" //# 03: ok
"0720163012305563795567615250361241457301819893006892300968851267" //# 03: ok
"7159413856747700265506443097450144218254107162331246067966730043" //# 03: ok
"7501049413401620872340686411548038468172262181270052386775328221" //# 03: ok
"5857650751428906748569733780796363397546806336554745935958399010" //# 03: ok
"2779558910877598836767067734754861955694039806454982002173263865" //# 03: ok
"0888265793071484125840071160815995011874751834533813898637506208" //# 03: ok
"5650354607662094473839557158134613493810593365859440904719070326" //# 03: ok
"6111637871008949721205058253390132503584229153792338745607152721" //# 03: ok
"3679398551625637847181703822407461490506663533450201028923360785" //# 03: ok
"0720758060421709123733732493928588619801419722757153753675075962" //# 03: ok
"6541800803135624352387918446790161107764092054420920536627658074" //# 03: ok
"4271291212296536333081616208300526650104600844121842238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
2.225073858507202e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" /// 03: ok
"0720163012305563795567615250361241457301819893006892300968851267" /// 03: ok
"7159413856747700265506443097450144218254107162331246067966730043" /// 03: ok
"7501049413401620872340686411548038468172262181270052386775328221" /// 03: ok
"5857650751428906748569733780796363397546806336554745935958399010" /// 03: ok
"2779558910877598836767067734754861955694039806454982002173263865" /// 03: ok
"0888265793071484125840071160815995011874751834533813898637506208" /// 03: ok
"5650354607662094473839557158134613493810593365859440904719070326" /// 03: ok
"6111637871008949721205058253390132503584229153792338745607152721" /// 03: ok
"3679398551625637847181703822407461490506663533450201028923360785" /// 03: ok
"0720758060421709123733732493928588619801419722757153753675075962" /// 03: ok
"6541800803135624352387918446790161107764092054420920536627658074" /// 03: ok
"4271291212296536333081616208300526650104600844121842238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
2.225073858507202e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -752,44 +752,44 @@ void main() {
"8136843040991207538774075715754306035963544889052606784864342758"
"900428165258489343614201061427593231201171875",
2.225073858507202e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" //# 03: ok
"0720212418870147920222032907240528279439037814303133837435107319" //# 03: ok
"2441946867544064325638818513821882185024380699999477330130056498" //# 03: ok
"8410779192874134192929720097048195199306799329096904278406473168" //# 03: ok
"2041565926728632933630474670123316852983422152744517260835859654" //# 03: ok
"5663192828352447877877998943107797838336991592885945552137141811" //# 03: ok
"2845825114558431922307989750439508685941245723089173894616936837" //# 03: ok
"2321191373658977977723286698840356390251044443035457396733706583" //# 03: ok
"9810554204566938246584137476071559811765738776267476659123871999" //# 03: ok
"3190400631733470900301279018817520344719025002806127777791679839" //# 03: ok
"1090578584006464715943810511489154282775041174682194133952466682" //# 03: ok
"5034313061815878293790042053923750720833666932415800027583911188" //# 03: ok
"54188641513168478436313080237596295773983001708984375", // //# 03: ok
2.2250738585072024e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" //# 03: ok
"0720212418870147920222032907240528279439056398987153733445293826" //# 03: ok
"2841914532254970474258308397286505854246486958895941513684460970" //# 03: ok
"4068152972799584860088646519366819731179394084384097665233499900" //# 03: ok
"0755861120300770354269606853101364036287721693053184667205738737" //# 03: ok
"5949174050909314222165141860993427546865066465011668770360303425" //# 03: ok
"3994515112524200040764624453870560455886026635830913894056826102" //# 03: ok
"6558396263994546949554344059607291509746117227014454385071719673" //# 03: ok
"8131016897819660470375391476074607837156312396985947983896498558" //# 03: ok
"1739504563131807656934782164684779819754568515974931805299288032" //# 03: ok
"9467318908203746468430727830398768346578595574013759265666391011" //# 03: ok
"5651945906921898169113014030529134467663458535415036957197921783" //# 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
2.2250738585072024e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" /// 03: ok
"0720212418870147920222032907240528279439037814303133837435107319" /// 03: ok
"2441946867544064325638818513821882185024380699999477330130056498" /// 03: ok
"8410779192874134192929720097048195199306799329096904278406473168" /// 03: ok
"2041565926728632933630474670123316852983422152744517260835859654" /// 03: ok
"5663192828352447877877998943107797838336991592885945552137141811" /// 03: ok
"2845825114558431922307989750439508685941245723089173894616936837" /// 03: ok
"2321191373658977977723286698840356390251044443035457396733706583" /// 03: ok
"9810554204566938246584137476071559811765738776267476659123871999" /// 03: ok
"3190400631733470900301279018817520344719025002806127777791679839" /// 03: ok
"1090578584006464715943810511489154282775041174682194133952466682" /// 03: ok
"5034313061815878293790042053923750720833666932415800027583911188" /// 03: ok
"54188641513168478436313080237596295773983001708984375", // /// 03: ok
2.2250738585072024e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" /// 03: ok
"0720212418870147920222032907240528279439056398987153733445293826" /// 03: ok
"2841914532254970474258308397286505854246486958895941513684460970" /// 03: ok
"4068152972799584860088646519366819731179394084384097665233499900" /// 03: ok
"0755861120300770354269606853101364036287721693053184667205738737" /// 03: ok
"5949174050909314222165141860993427546865066465011668770360303425" /// 03: ok
"3994515112524200040764624453870560455886026635830913894056826102" /// 03: ok
"6558396263994546949554344059607291509746117227014454385071719673" /// 03: ok
"8131016897819660470375391476074607837156312396985947983896498558" /// 03: ok
"1739504563131807656934782164684779819754568515974931805299288032" /// 03: ok
"9467318908203746468430727830398768346578595574013759265666391011" /// 03: ok
"5651945906921898169113014030529134467663458535415036957197921783" /// 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
2.2250738585072024e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -863,25 +863,25 @@ void main() {
"8909645359318233784351199339157645340492308605462312698364257812"
"5",
1.0020841800044864e-292);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000100208418000448650025174695" //# 03: ok
"1035150178458809017822159251011531515138151971877843746285762442" //# 03: ok
"8545112214057342269294258292239779301929355259416640067909319649" //# 03: ok
"7365336576866690449490575153391617964764463657240626936945707789" //# 03: ok
"0322677840073401894046998179185686691822730198820493814317137229" //# 03: ok
"5822164306994752582767555905533610628109411569344063803273395309" //# 03: ok
"4016739578124191615155910675820643598048478728683293279406596985" //# 03: ok
"3795142966229399885915374796852136102192598807080147602085351627" //# 03: ok
"7462738186176388661491270541112149644974737467220377156516124492" //# 03: ok
"5297987696655648150350049348782647584189423429523649017245633309" //# 03: ok
"0650703736050481424426844685046761507858235356421727632283550512" //# 03: ok
"9294184882356332903145058239310065886479547694117011957754993659" //# 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" //# 03: ok
"421878240614097350935640662328296457417309284210205078125", // //# 03: ok
1.0020841800044866e-292); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000100208418000448650025174695" /// 03: ok
"1035150178458809017822159251011531515138151971877843746285762442" /// 03: ok
"8545112214057342269294258292239779301929355259416640067909319649" /// 03: ok
"7365336576866690449490575153391617964764463657240626936945707789" /// 03: ok
"0322677840073401894046998179185686691822730198820493814317137229" /// 03: ok
"5822164306994752582767555905533610628109411569344063803273395309" /// 03: ok
"4016739578124191615155910675820643598048478728683293279406596985" /// 03: ok
"3795142966229399885915374796852136102192598807080147602085351627" /// 03: ok
"7462738186176388661491270541112149644974737467220377156516124492" /// 03: ok
"5297987696655648150350049348782647584189423429523649017245633309" /// 03: ok
"0650703736050481424426844685046761507858235356421727632283550512" /// 03: ok
"9294184882356332903145058239310065886479547694117011957754993659" /// 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" /// 03: ok
"421878240614097350935640662328296457417309284210205078125", // /// 03: ok
1.0020841800044866e-292); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -937,43 +937,43 @@ void main() {
"4847950667958479187395974848205671831957839363657783480512019685"
"578121759385902649064359337671703542582690715789794921875",
2.0041683600089726e-292);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" //# 03: ok
"5990092893382710435783708701744713907322363070003179054747514262" //# 03: ok
"7385611700512865061525449421701203817286652851291627374287240329" //# 03: ok
"3753705169156289950978164746871212513772283206234057202629821353" //# 03: ok
"8809538439162226010550634208659737749820025430842192660178060615" //# 03: ok
"3474267718174236120090795958487048484027109406716660005865875254" //# 03: ok
"7540730218997620056025234843183240653494745917236268600971966054" //# 03: ok
"2572750817920844689872038240532666937066187074066929436725783508" //# 03: ok
"0513647350599865639683590212819431367049178252060735656411044144" //# 03: ok
"5314088186163138416702979387974756763836546863081940712096908853" //# 03: ok
"9929165937080868658779320353585122361868059050079309936626251244" //# 03: ok
"0765647609431766215648800660842354659507691394537687301635742187" //# 03: ok
"5", // //# 03: ok
2.004168360008973e-292); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" //# 03: ok
"5990092893382710435783708785442689934124446215379877007119186963" //# 03: ok
"1799271173601405540673717580039876412295823431198128133887844732" //# 03: ok
"7822096271111944266498822575337206743053529154538278267721206728" //# 03: ok
"1206759279588886755511816487266193645578706075743945771432529989" //# 03: ok
"5627720577353214542977288069464672781437627568914207256313896083" //# 03: ok
"6647266336088483105727658239269018534852601546443784653776612265" //# 03: ok
"4362171708319597782738064157144965045964873355636409438294693959" //# 03: ok
"3883447613213167389211587415988230219943616159642947883454256631" //# 03: ok
"7129850578881555219447792913718868827972321214300345663373246010" //# 03: ok
"5887233720340859229642766731751409169335306833113418201122555553" //# 03: ok
"1150187132469865334442659560994775205494930483192386561026478034" //# 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" //# 03: ok
"421878240614097350935640662328296457417309284210205078125", // //# 03: ok
2.004168360008973e-292); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" /// 03: ok
"5990092893382710435783708701744713907322363070003179054747514262" /// 03: ok
"7385611700512865061525449421701203817286652851291627374287240329" /// 03: ok
"3753705169156289950978164746871212513772283206234057202629821353" /// 03: ok
"8809538439162226010550634208659737749820025430842192660178060615" /// 03: ok
"3474267718174236120090795958487048484027109406716660005865875254" /// 03: ok
"7540730218997620056025234843183240653494745917236268600971966054" /// 03: ok
"2572750817920844689872038240532666937066187074066929436725783508" /// 03: ok
"0513647350599865639683590212819431367049178252060735656411044144" /// 03: ok
"5314088186163138416702979387974756763836546863081940712096908853" /// 03: ok
"9929165937080868658779320353585122361868059050079309936626251244" /// 03: ok
"0765647609431766215648800660842354659507691394537687301635742187" /// 03: ok
"5", // /// 03: ok
2.004168360008973e-292); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" /// 03: ok
"5990092893382710435783708785442689934124446215379877007119186963" /// 03: ok
"1799271173601405540673717580039876412295823431198128133887844732" /// 03: ok
"7822096271111944266498822575337206743053529154538278267721206728" /// 03: ok
"1206759279588886755511816487266193645578706075743945771432529989" /// 03: ok
"5627720577353214542977288069464672781437627568914207256313896083" /// 03: ok
"6647266336088483105727658239269018534852601546443784653776612265" /// 03: ok
"4362171708319597782738064157144965045964873355636409438294693959" /// 03: ok
"3883447613213167389211587415988230219943616159642947883454256631" /// 03: ok
"7129850578881555219447792913718868827972321214300345663373246010" /// 03: ok
"5887233720340859229642766731751409169335306833113418201122555553" /// 03: ok
"1150187132469865334442659560994775205494930483192386561026478034" /// 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" /// 03: ok
"421878240614097350935640662328296457417309284210205078125", // /// 03: ok
2.004168360008973e-292); // /// 03: ok
testParse("0.99999999999999988897769753748434595763683319091796875",
0.9999999999999999);
testParse("0.99999999999999988897769753748434595763683319091796879176194859"
@@ -984,12 +984,12 @@ void main() {
"4809443029054117700758095643512548748358614094344726684993771234"
"576088145773464788135242997668683528900146484375",
0.9999999999999999);
testParse("0.999999999999999944488848768742172978818416595458984375", //# 03: ok
1.0); // //# 03: ok
testParse("0.99999999999999994448884876874217297881841659545898441676194859" //# 03: ok
"5190556970945882299241904356487451251641385905655273315006228765" //# 03: ok
"423911854226535211864757002331316471099853515625", // //# 03: ok
1.0); // //# 03: ok
testParse("0.999999999999999944488848768742172978818416595458984375", /// 03: ok
1.0); // /// 03: ok
testParse("0.99999999999999994448884876874217297881841659545898441676194859" /// 03: ok
"5190556970945882299241904356487451251641385905655273315006228765" /// 03: ok
"423911854226535211864757002331316471099853515625", // /// 03: ok
1.0); // /// 03: ok
testParse("0.499999999999999944488848768742172978818416595458984375",
0.49999999999999994);
testParse("0.49999999999999994448884876874217297881841659545898439588097429"
@@ -1000,12 +1000,12 @@ void main() {
"2404721514527058850379047821756274374179307047172363342496885617"
"2880440728867323940676214988343417644500732421875",
0.49999999999999994);
testParse("0.4999999999999999722444243843710864894092082977294921875", //# 03: ok
0.5); // //# 03: ok
testParse("0.49999999999999997224442438437108648940920829772949220838097429" //# 03: ok
"7595278485472941149620952178243725625820692952827636657503114382" //# 03: ok
"7119559271132676059323785011656582355499267578125", // //# 03: ok
0.5); // //# 03: ok
testParse("0.4999999999999999722444243843710864894092082977294921875", /// 03: ok
0.5); // /// 03: ok
testParse("0.49999999999999997224442438437108648940920829772949220838097429" /// 03: ok
"7595278485472941149620952178243725625820692952827636657503114382" /// 03: ok
"7119559271132676059323785011656582355499267578125", // /// 03: ok
0.5); // /// 03: ok
testParse("1.9999999999999997779553950749686919152736663818359375",
1.9999999999999998);
testParse("1.99999999999999977795539507496869191527366638183593758352389719"
@@ -1016,12 +1016,12 @@ void main() {
"9618886058108235401516191287025097496717228188689453369987542469"
"15217629154692957627048599533736705780029296875",
1.9999999999999998);
testParse("1.99999999999999988897769753748434595763683319091796875", //# 03: ok
2.0); // //# 03: ok
testParse("1.99999999999999988897769753748434595763683319091796883352389719" //# 03: ok
"0381113941891764598483808712974902503282771811310546630012457530" //# 03: ok
"84782370845307042372951400466263294219970703125", // //# 03: ok
2.0); // //# 03: ok
testParse("1.99999999999999988897769753748434595763683319091796875", /// 03: ok
2.0); // /// 03: ok
testParse("1.99999999999999988897769753748434595763683319091796883352389719" /// 03: ok
"0381113941891764598483808712974902503282771811310546630012457530" /// 03: ok
"84782370845307042372951400466263294219970703125", // /// 03: ok
2.0); // /// 03: ok
testParse("4503599627370495.5",
4503599627370495.5);
testParse("4503599627370495.50000000000000000000000000000000000018807909613"
@@ -8,31 +8,31 @@ import "package:expect/expect.dart";
class Foo {}
const
bool // //# 01: ok
int // //# 02: static type warning, checked mode compile-time error
String // //# 03: static type warning, checked mode compile-time error
Foo // //# 04: static type warning, checked mode compile-time error
bool // /// 01: ok
int // /// 02: static type warning, checked mode compile-time error
String // /// 03: static type warning, checked mode compile-time error
Foo // /// 04: static type warning, checked mode compile-time error
a = const bool.fromEnvironment('a');
const
bool // //# 05: ok
int // //# 06: static type warning, checked mode compile-time error
String // //# 07: static type warning, checked mode compile-time error
Foo // //# 08: static type warning, checked mode compile-time error
bool // /// 05: ok
int // /// 06: static type warning, checked mode compile-time error
String // /// 07: static type warning, checked mode compile-time error
Foo // /// 08: static type warning, checked mode compile-time error
b = const bool.fromEnvironment('b');
const
bool // //# 09: static type warning, checked mode compile-time error
int // //# 10: ok
String // //# 11: static type warning, checked mode compile-time error
Foo // //# 12: static type warning, checked mode compile-time error
bool // /// 09: static type warning, checked mode compile-time error
int // /// 10: ok
String // /// 11: static type warning, checked mode compile-time error
Foo // /// 12: static type warning, checked mode compile-time error
c = const int.fromEnvironment('c');
const
bool // //# 13: static type warning, checked mode compile-time error
int // //# 14: static type warning, checked mode compile-time error
String // //# 15: ok
Foo // //# 16: static type warning, checked mode compile-time error
bool // /// 13: static type warning, checked mode compile-time error
int // /// 14: static type warning, checked mode compile-time error
String // /// 15: ok
Foo // /// 16: static type warning, checked mode compile-time error
d = const String.fromEnvironment('d');
main() {
@@ -7,31 +7,31 @@ import "package:expect/expect.dart";
class Foo {}
const
bool // //# 01: ok
int // //# 02: static type warning, checked mode compile-time error
String //# 03: static type warning, checked mode compile-time error
Foo // //# 04: static type warning, checked mode compile-time error
bool // /// 01: ok
int // /// 02: static type warning, checked mode compile-time error
String /// 03: static type warning, checked mode compile-time error
Foo // /// 04: static type warning, checked mode compile-time error
a = const bool.fromEnvironment('a');
const
bool // //# 05: ok
int // //# 06: static type warning, checked mode compile-time error
String //# 07: static type warning, checked mode compile-time error
Foo // //# 08: static type warning, checked mode compile-time error
bool // /// 05: ok
int // /// 06: static type warning, checked mode compile-time error
String /// 07: static type warning, checked mode compile-time error
Foo // /// 08: static type warning, checked mode compile-time error
b = const bool.fromEnvironment('b');
const
bool // //# 09: static type warning
int // //# 10: ok
String //# 11: static type warning
Foo // //# 12: static type warning
bool // /// 09: static type warning
int // /// 10: ok
String /// 11: static type warning
Foo // /// 12: static type warning
c = const int.fromEnvironment('c');
const
bool // //# 13: static type warning
int // //# 14: static type warning
String //# 15: ok
Foo // //# 16: static type warning
bool // /// 13: static type warning
int // /// 14: static type warning
String /// 15: ok
Foo // /// 16: static type warning
d = const String.fromEnvironment('d');
main() {
+1 -1
View File
@@ -285,7 +285,7 @@ void testIdentitySet(Set create()) {
// All compile time constants are identical to themselves.
var constants = [double.INFINITY,
double.NAN, -0.0, //# 01: ok
double.NAN, -0.0, /// 01: ok
0.0, 42, "", null, false, true, #bif, testIdentitySet];
set.addAll(constants);
Expect.equals(constants.length, set.length);
+1 -1
View File
@@ -9,7 +9,7 @@ main() {
print(['x'].where((_) {
// We actually don't really care for the successful case. We just want to
// make sure that the test doesn't crash when it is negative.
throw 'fisk'; // //# 01: runtime error
throw 'fisk'; // /// 01: runtime error
return true;
}).toList());
}
@@ -3,9 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
main() {
const int.fromEnvironment('NOT_FOUND', defaultValue: ''); // //# 01: compile-time error
const int.fromEnvironment('NOT_FOUND', defaultValue: true); // //# 02: compile-time error
const int.fromEnvironment(null); // //# 03: compile-time error
const int.fromEnvironment(1); // //# 04: compile-time error
const int.fromEnvironment([]); // //# 05: compile-time error
const int.fromEnvironment('NOT_FOUND', defaultValue: ''); // /// 01: compile-time error
const int.fromEnvironment('NOT_FOUND', defaultValue: true); // /// 02: compile-time error
const int.fromEnvironment(null); // /// 03: compile-time error
const int.fromEnvironment(1); // /// 04: compile-time error
const int.fromEnvironment([]); // /// 05: compile-time error
}
+2 -2
View File
@@ -118,7 +118,7 @@ testModInverse() {
test(137, smallNumber, 856087223);
test(mediumNumber, 137, 77);
test(137, mediumNumber, 540686667207353);
test(bigNumber, 137, 128); // //# bignum: ok
test(bigNumber, 137, 128); // /// bignum: ok
// Bigger numbers as modulo is tested in big_integer_arith_vm_test.dart.
// Big doubles are not co-prime, so there is nothing to test for dart2js.
}
@@ -203,7 +203,7 @@ testGcd() {
}
main() {
testModPow(); // //# modPow: ok
testModPow(); // /// modPow: ok
testModInverse();
testGcd();
}
+10 -10
View File
@@ -9,7 +9,7 @@ void main() {
bool checkedMode = false;
assert((checkedMode = true));
const String oneByteWhiteSpace = "\x09\x0a\x0b\x0c\x0d\x20"
"\x85" // //# 01: ok
"\x85" // /// 01: ok
"\xa0";
const String whiteSpace = "$oneByteWhiteSpace\u1680"
"\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a"
@@ -61,21 +61,21 @@ void main() {
}
}
for (int i = 2; i <= 36; i++) { // //# 02: ok
// Test with bignums. // //# 02: continued
var digit = digits[i - 1]; // //# 02: continued
testParse(pow(i, 64) - 1, digit * 64, i); // //# 02: continued
testParse(0, zeros, i); // //# 02: continued
} // //# 02: continued
for (int i = 2; i <= 36; i++) { // /// 02: ok
// Test with bignums. // /// 02: continued
var digit = digits[i - 1]; // /// 02: continued
testParse(pow(i, 64) - 1, digit * 64, i); // /// 02: continued
testParse(0, zeros, i); // /// 02: continued
} // /// 02: continued
// Allow both upper- and lower-case letters.
Expect.equals(0xABCD, int.parse("ABCD", radix: 16));
Expect.equals(0xABCD, int.parse("abcd", radix: 16));
Expect.equals(15628859, int.parse("09azAZ", radix: 36));
// Big number.
Expect.equals(0x12345678123456781234567812345678, // //# 02: continued
int.parse("0x1234567812345678" // //# 02: continued
"1234567812345678")); // //# 02: continued
Expect.equals(0x12345678123456781234567812345678, // /// 02: continued
int.parse("0x1234567812345678" // /// 02: continued
"1234567812345678")); // /// 02: continued
// Allow whitespace before and after the number.
Expect.equals(1, int.parse(" 1", radix: 2));
Expect.equals(1, int.parse("1 ", radix: 2));
+18 -18
View File
@@ -51,22 +51,22 @@ main() {
// ~2^53.
test(0x1fffffffffffff, "9007199254740991");
test(0x20000000000000, "9007199254740992");
test(0x20000000000001, "9007199254740993"); // //# 01: ok
test(0x20000000000001, "9007199254740993"); // /// 01: ok
// ~2^62.
test(0x3fffffffffffffff, "4611686018427387903"); // //# 01: continued
test(0x4000000000000000, "4611686018427387904"); // //# 01: continued
test(0x4000000000000001, "4611686018427387905"); // //# 01: continued
test(0x3fffffffffffffff, "4611686018427387903"); // /// 01: continued
test(0x4000000000000000, "4611686018427387904"); // /// 01: continued
test(0x4000000000000001, "4611686018427387905"); // /// 01: continued
// ~2^63.
test(0x7fffffffffffffff, "9223372036854775807"); // //# 01: continued
test(0x8000000000000000, "9223372036854775808"); // //# 01: continued
test(0x8000000000000001, "9223372036854775809"); // //# 01: continued
test(0x7fffffffffffffff, "9223372036854775807"); // /// 01: continued
test(0x8000000000000000, "9223372036854775808"); // /// 01: continued
test(0x8000000000000001, "9223372036854775809"); // /// 01: continued
// ~2^64.
test(0xffffffffffffffff, "18446744073709551615"); // //# 01: continued
test(0x10000000000000000, "18446744073709551616"); // //# 01: continued
test(0x10000000000000001, "18446744073709551617"); // //# 01: continued
test(0xffffffffffffffff, "18446744073709551615"); // /// 01: continued
test(0x10000000000000000, "18446744073709551616"); // /// 01: continued
test(0x10000000000000001, "18446744073709551617"); // /// 01: continued
// Big bignum.
test(123456789012345678901234567890, // //# 01: continued
"123456789012345678901234567890"); // //# 01: continued
test(123456789012345678901234567890, // /// 01: continued
"123456789012345678901234567890"); // /// 01: continued
// Decimal special cases.
@@ -79,10 +79,10 @@ main() {
number *= 10;
}
// Fails to represent exactly in dart2js.
for (int i = 15; i < 22; i++) { // //# 01: continued
test(number - 1, "9" * i); // //# 01: continued
test(number, "1" + "0" * i); // //# 01: continued
test(number + 1, "1" + "0" * (i - 1) + "1"); // //# 01: continued
number *= 10; // //# 01: continued
} // //# 01: continued
for (int i = 15; i < 22; i++) { // /// 01: continued
test(number - 1, "9" * i); // /// 01: continued
test(number, "1" + "0" * i); // /// 01: continued
test(number + 1, "1" + "0" * (i - 1) + "1"); // /// 01: continued
number *= 10; // /// 01: continued
} // /// 01: continued
}
+6 -6
View File
@@ -59,12 +59,12 @@ main() {
// Invalid types:
Expect.throws(() => new Iterable<String>.generate(5));
if (checkedMode) { // //# 01: ok
Expect.throws(() => new Iterable<Null>.generate(5).elementAt(2)); //# 01: continued
} else { // //# 01: continued
Iterable<dynamic> iter5 = new Iterable<Null>.generate(5); // //# 01: continued
Expect.equals(2, iter5.elementAt(2)); // //# 01: continued
} // //# 01: continued
if (checkedMode) { // /// 01: ok
Expect.throws(() => new Iterable<Null>.generate(5).elementAt(2)); /// 01: continued
} else { // /// 01: continued
Iterable<dynamic> iter5 = new Iterable<Null>.generate(5); // /// 01: continued
Expect.equals(2, iter5.elementAt(2)); // /// 01: continued
} // /// 01: continued
Expect.throws(() => new Iterable<bool>.generate(5));
// Regression: https://github.com/dart-lang/sdk/issues/26358
+8 -8
View File
@@ -63,14 +63,14 @@ main() {
testList(new List<int>.generate(1, (x) => x + 1));
// Typed lists.
testList(new Uint8List(1)..[0] = 1); // //# 01: ok
testList(new Int8List(1)..[0] = 1); // //# 01: continued
testList(new Uint16List(1)..[0] = 1); // //# 01: continued
testList(new Int16List(1)..[0] = 1); // //# 01: continued
testList(new Uint32List(1)..[0] = 1); // //# 01: continued
testList(new Int32List(1)..[0] = 1); // //# 01: continued
testList(new Uint64List(1)..[0] = 1); // //# 02: ok
testList(new Int64List(1)..[0] = 1); // //# 02: continued
testList(new Uint8List(1)..[0] = 1); // /// 01: ok
testList(new Int8List(1)..[0] = 1); // /// 01: continued
testList(new Uint16List(1)..[0] = 1); // /// 01: continued
testList(new Int16List(1)..[0] = 1); // /// 01: continued
testList(new Uint32List(1)..[0] = 1); // /// 01: continued
testList(new Int32List(1)..[0] = 1); // /// 01: continued
testList(new Uint64List(1)..[0] = 1); // /// 02: ok
testList(new Int64List(1)..[0] = 1); // /// 02: continued
testIterable(new Set<int>()..add(1));
testIterable(new HashSet<int>()..add(1));
+5 -5
View File
@@ -28,11 +28,11 @@ main() {
testIterable(new Set<int>.from([1, 2, 3]), <int>[1, 2, 3]);
testIterable(new Queue.from([1, 2, 3]), [1, 2, 3]);
testIterable(new Queue<int>.from(<int>[1, 2, 3]), <int>[1, 2, 3]);
testIterable(new Uint8List.fromList(<int>[1, 2, 3]), // //# 01: ok
<int>[1, 2, 3]); // //# 01: continued
testIterable(new Float32List.fromList([1.0, 2.0, 3.0]), // //# 01: continued
<double>[1.0, 2.0, 3.0]); // //# 01: continued
testIterable("abc".codeUnits, <int>[97, 98, 99]); // //# 01: continued
testIterable(new Uint8List.fromList(<int>[1, 2, 3]), // /// 01: ok
<int>[1, 2, 3]); // /// 01: continued
testIterable(new Float32List.fromList([1.0, 2.0, 3.0]), // /// 01: continued
<double>[1.0, 2.0, 3.0]); // /// 01: continued
testIterable("abc".codeUnits, <int>[97, 98, 99]); // /// 01: continued
testIterable("abc".runes, <int>[97, 98, 99]);
}
+1 -1
View File
@@ -582,7 +582,7 @@ class MyFixedList<E> extends ListBase<E> {
void testListConstructor() {
Expect.throws(() { new List(0).add(4); }); // Is fixed-length.
Expect.throws(() { new List(-2); }); // Not negative. //# 01: ok
Expect.throws(() { new List(-2); }); // Not negative. /// 01: ok
Expect.throws(() { new List(null); }); // Not null.
Expect.listEquals([4], new List()..add(4));
Expect.throws(() { new List.filled(0, 42).add(4); }); // Is fixed-length.
+1 -1
View File
@@ -48,7 +48,7 @@ void main() {
Expect.equals("-Infinity", double.NEGATIVE_INFINITY.toString());
// Test identities.
Expect.isTrue(identical(double.NAN, double.NAN)); // //# 01: ok
Expect.isTrue(identical(double.NAN, double.NAN)); // /// 01: ok
Expect.isTrue(identical(double.INFINITY, double.INFINITY));
Expect.isTrue(identical(double.NEGATIVE_INFINITY, double.NEGATIVE_INFINITY));
Expect.isFalse(identical(double.NAN, double.INFINITY));
+1 -1
View File
@@ -157,7 +157,7 @@ void main() {
testDouble(9007199254740992.0);
testDouble(1.7976931348623157e+308);
testDouble(double.INFINITY);
testDouble(double.NAN); // //# 01: ok
testDouble(double.NAN); // /// 01: ok
// Strings that cannot occur from toString of a number.
testParse("000000000000", 0);
+1 -1
View File
@@ -7,7 +7,7 @@ import 'package:expect/expect.dart';
class A {
toString() {
if (false
|| true // //# 01: runtime error
|| true // /// 01: runtime error
) {
return 499;
} else {
+13 -13
View File
@@ -21,30 +21,30 @@ void testSpecialCases() {
// Letters in Latin-1 where the upper case is not in Latin-1.
// German sharp s. Upper case variant is "SS".
Expect.equals("SS", "\xdf".toUpperCase()); // //# 01: ok
Expect.equals("SS", "\xdf".toUpperCase()); // /// 01: ok
Expect.equals("\xdf", "\xdf".toLowerCase());
Expect.equals("ss", "\xdf".toUpperCase().toLowerCase()); // //# 01: continued
Expect.equals("ss", "\xdf".toUpperCase().toLowerCase()); // /// 01: continued
// Micro sign (not same as lower-case Greek letter mu, U+03BC).
Expect.equals("\u039c", "\xb5".toUpperCase()); // //# 02: ok
Expect.equals("\u039c", "\xb5".toUpperCase()); // /// 02: ok
Expect.equals("\xb5", "\xb5".toLowerCase());
Expect.equals("\u03Bc", // //# 02: continued
"\xb5".toUpperCase().toLowerCase()); // //# 02: continued
Expect.equals("\u03Bc", // /// 02: continued
"\xb5".toUpperCase().toLowerCase()); // /// 02: continued
// Small letter y diaresis.
Expect.equals("\u0178", "\xff".toUpperCase()); // //# 03: ok
Expect.equals("\u0178", "\xff".toUpperCase()); // /// 03: ok
Expect.equals("\xff", "\xff".toLowerCase());
Expect.equals("\xff", "\xff".toUpperCase().toLowerCase()); // //# 03: continued
Expect.equals("\xff", "\xff".toUpperCase().toLowerCase()); // /// 03: continued
// Zero.
Expect.equals("\x00", "\x00".toLowerCase());
Expect.equals("\x00", "\x00".toUpperCase());
// Test all combinations of ordering of lower-case, upper-case and
// special-when-upper-cased characters.
Expect.equals("AA\u0178", "Aa\xff".toUpperCase()); // //# 03: continued
Expect.equals("AA\u0178", "aA\xff".toUpperCase()); // //# 03: continued
Expect.equals("A\u0178A", "A\xffa".toUpperCase()); // //# 03: continued
Expect.equals("A\u0178A", "a\xffA".toUpperCase()); // //# 03: continued
Expect.equals("\u0178AA", "\xffAa".toUpperCase()); // //# 03: continued
Expect.equals("\u0178AA", "\xffaA".toUpperCase()); // //# 03: continued
Expect.equals("AA\u0178", "Aa\xff".toUpperCase()); // /// 03: continued
Expect.equals("AA\u0178", "aA\xff".toUpperCase()); // /// 03: continued
Expect.equals("A\u0178A", "A\xffa".toUpperCase()); // /// 03: continued
Expect.equals("A\u0178A", "a\xffA".toUpperCase()); // /// 03: continued
Expect.equals("\u0178AA", "\xffAa".toUpperCase()); // /// 03: continued
Expect.equals("\u0178AA", "\xffaA".toUpperCase()); // /// 03: continued
Expect.equals("aa\xff", "Aa\xff".toLowerCase());
Expect.equals("aa\xff", "aA\xff".toLowerCase());
@@ -3,9 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
main() {
const String.fromEnvironment('NOT_FOUND', defaultValue: 1); // //# 01: compile-time error
const String.fromEnvironment('NOT_FOUND', defaultValue: true); // //# 02: compile-time error
const String.fromEnvironment(null); // //# 03: compile-time error
const String.fromEnvironment(1); // //# 04: compile-time error
const String.fromEnvironment([]); // //# 05: compile-time error
const String.fromEnvironment('NOT_FOUND', defaultValue: 1); // /// 01: compile-time error
const String.fromEnvironment('NOT_FOUND', defaultValue: true); // /// 02: compile-time error
const String.fromEnvironment(null); // /// 03: compile-time error
const String.fromEnvironment(1); // /// 04: compile-time error
const String.fromEnvironment([]); // /// 05: compile-time error
}
+4 -4
View File
@@ -100,12 +100,12 @@ main() {
// string_trimlr_test/01 fails on these engines.
// Should be fixed in tip-of-tree V8 per 2014-02-10.
var s200B = new String.fromCharCode(0x200B);
Expect.identical(s200B, s200B.trimLeft()); // //# 01: ok
Expect.identical(s200B, s200B.trimRight()); // //# 01: ok
Expect.identical(s200B, s200B.trimLeft()); // /// 01: ok
Expect.identical(s200B, s200B.trimRight()); // /// 01: ok
// U+180E ceased to be whitespace in Unicode version 6.3.0
// string_trimlr_test/02 fails on implementations using earlier versions.
var s180E = new String.fromCharCode(0x180E);
Expect.identical(s180E, s180E.trimLeft()); // //# 02: ok
Expect.identical(s180E, s180E.trimRight()); // //# 02: ok
Expect.identical(s180E, s180E.trimLeft()); // /// 02: ok
Expect.identical(s180E, s180E.trimRight()); // /// 02: ok
}
+8 -8
View File
@@ -28,14 +28,14 @@ main() {
testSymbol(#[]=, ($[$]=$).lastMember, "[]=");
testSymbol(const Symbol("unary-"), -$, "unary-");
testSymbolThrows(">>>"); // //# 03: ok
testSymbolThrows("!"); // //# 03: continued
testSymbolThrows("&&"); // //# 03: continued
testSymbolThrows("||"); // //# 03: continued
testSymbolThrows("?"); // //# 03: continued
testSymbolThrows("?:"); // //# 03: continued
testSymbolThrows("#"); // //# 03: continued
testSymbolThrows("//"); // //# 03: continued
testSymbolThrows(">>>"); // /// 03: ok
testSymbolThrows("!"); // /// 03: continued
testSymbolThrows("&&"); // /// 03: continued
testSymbolThrows("||"); // /// 03: continued
testSymbolThrows("?"); // /// 03: continued
testSymbolThrows("?:"); // /// 03: continued
testSymbolThrows("#"); // /// 03: continued
testSymbolThrows("//"); // /// 03: continued
}
void testSymbol(Symbol constSymbol, var mirrorSymbol, String name) {
+105 -105
View File
@@ -12,113 +12,113 @@ main() {
var x;
// 'void' is allowed as a symbol name.
x = const Symbol('void'); // //# 01: ok
x = #void; // //# 02: ok
x = new Symbol('void'); // //# 03: ok
x = const Symbol('void'); // /// 01: ok
x = #void; // /// 02: ok
x = new Symbol('void'); // /// 03: ok
// However, it is not allowed as a part of a symbol name.
x = const Symbol('void.foo'); // //# 04: compile-time error
x = #void.foo; // //# 05: static type warning
checkBadSymbol('void.foo'); // //# 06: ok
x = const Symbol('foo.void'); // //# 07: compile-time error
x = #foo.void; // //# 08: compile-time error
checkBadSymbol('foo.void'); // //# 09: ok
x = const Symbol('void.foo'); // /// 04: compile-time error
x = #void.foo; // /// 05: static type warning
checkBadSymbol('void.foo'); // /// 06: ok
x = const Symbol('foo.void'); // /// 07: compile-time error
x = #foo.void; // /// 08: compile-time error
checkBadSymbol('foo.void'); // /// 09: ok
// All other reserved words are disallowed.
x = const Symbol('assert'); // //# 10: compile-time error
x = const Symbol('break'); // //# 10: continued
x = const Symbol('case'); // //# 10: continued
x = const Symbol('catch'); // //# 10: continued
x = const Symbol('class'); // //# 10: continued
x = const Symbol('const'); // //# 10: continued
x = const Symbol('continue'); // //# 10: continued
x = const Symbol('default'); // //# 10: continued
x = const Symbol('do'); // //# 10: continued
x = const Symbol('else'); // //# 10: continued
x = const Symbol('enum'); // //# 10: continued
x = const Symbol('extends'); // //# 10: continued
x = const Symbol('false'); // //# 10: continued
x = const Symbol('final'); // //# 10: continued
x = const Symbol('finally'); // //# 10: continued
x = const Symbol('for'); // //# 10: continued
x = const Symbol('if'); // //# 10: continued
x = const Symbol('in'); // //# 10: continued
x = const Symbol('is'); // //# 10: continued
x = const Symbol('new'); // //# 10: continued
x = const Symbol('null'); // //# 10: continued
x = const Symbol('rethrow'); // //# 10: continued
x = const Symbol('return'); // //# 10: continued
x = const Symbol('super'); // //# 10: continued
x = const Symbol('switch'); // //# 10: continued
x = const Symbol('this'); // //# 10: continued
x = const Symbol('throw'); // //# 10: continued
x = const Symbol('true'); // //# 10: continued
x = const Symbol('try'); // //# 10: continued
x = const Symbol('var'); // //# 10: continued
x = const Symbol('while'); // //# 10: continued
x = const Symbol('with'); // //# 10: continued
x = #assert; // //# 11: compile-time error
x = #break; // //# 11: continued
x = #case; // //# 11: continued
x = #catch; // //# 11: continued
x = #class; // //# 11: continued
x = #const; // //# 11: continued
x = #continue; // //# 11: continued
x = #default; // //# 11: continued
x = #do; // //# 11: continued
x = #else; // //# 11: continued
x = #enum; // //# 11: continued
x = #extends; // //# 11: continued
x = #false; // //# 11: continued
x = #final; // //# 11: continued
x = #finally; // //# 11: continued
x = #for; // //# 11: continued
x = #if; // //# 11: continued
x = #in; // //# 11: continued
x = #is; // //# 11: continued
x = #new; // //# 11: continued
x = #null; // //# 11: continued
x = #rethrow; // //# 11: continued
x = #return; // //# 11: continued
x = #super; // //# 11: continued
x = #switch; // //# 11: continued
x = #this; // //# 11: continued
x = #throw; // //# 11: continued
x = #true; // //# 11: continued
x = #try; // //# 11: continued
x = #var; // //# 11: continued
x = #while; // //# 11: continued
x = #with; // //# 11: continued
checkBadSymbol('assert'); // //# 12: ok
checkBadSymbol('break'); // //# 12: continued
checkBadSymbol('case'); // //# 12: continued
checkBadSymbol('catch'); // //# 12: continued
checkBadSymbol('class'); // //# 12: continued
checkBadSymbol('const'); // //# 12: continued
checkBadSymbol('continue'); // //# 12: continued
checkBadSymbol('default'); // //# 12: continued
checkBadSymbol('do'); // //# 12: continued
checkBadSymbol('else'); // //# 12: continued
checkBadSymbol('enum'); // //# 12: continued
checkBadSymbol('extends'); // //# 12: continued
checkBadSymbol('false'); // //# 12: continued
checkBadSymbol('final'); // //# 12: continued
checkBadSymbol('finally'); // //# 12: continued
checkBadSymbol('for'); // //# 12: continued
checkBadSymbol('if'); // //# 12: continued
checkBadSymbol('in'); // //# 12: continued
checkBadSymbol('is'); // //# 12: continued
checkBadSymbol('new'); // //# 12: continued
checkBadSymbol('null'); // //# 12: continued
checkBadSymbol('rethrow'); // //# 12: continued
checkBadSymbol('return'); // //# 12: continued
checkBadSymbol('super'); // //# 12: continued
checkBadSymbol('switch'); // //# 12: continued
checkBadSymbol('this'); // //# 12: continued
checkBadSymbol('throw'); // //# 12: continued
checkBadSymbol('true'); // //# 12: continued
checkBadSymbol('try'); // //# 12: continued
checkBadSymbol('var'); // //# 12: continued
checkBadSymbol('while'); // //# 12: continued
checkBadSymbol('with'); // //# 12: continued
x = const Symbol('assert'); // /// 10: compile-time error
x = const Symbol('break'); // /// 10: continued
x = const Symbol('case'); // /// 10: continued
x = const Symbol('catch'); // /// 10: continued
x = const Symbol('class'); // /// 10: continued
x = const Symbol('const'); // /// 10: continued
x = const Symbol('continue'); // /// 10: continued
x = const Symbol('default'); // /// 10: continued
x = const Symbol('do'); // /// 10: continued
x = const Symbol('else'); // /// 10: continued
x = const Symbol('enum'); // /// 10: continued
x = const Symbol('extends'); // /// 10: continued
x = const Symbol('false'); // /// 10: continued
x = const Symbol('final'); // /// 10: continued
x = const Symbol('finally'); // /// 10: continued
x = const Symbol('for'); // /// 10: continued
x = const Symbol('if'); // /// 10: continued
x = const Symbol('in'); // /// 10: continued
x = const Symbol('is'); // /// 10: continued
x = const Symbol('new'); // /// 10: continued
x = const Symbol('null'); // /// 10: continued
x = const Symbol('rethrow'); // /// 10: continued
x = const Symbol('return'); // /// 10: continued
x = const Symbol('super'); // /// 10: continued
x = const Symbol('switch'); // /// 10: continued
x = const Symbol('this'); // /// 10: continued
x = const Symbol('throw'); // /// 10: continued
x = const Symbol('true'); // /// 10: continued
x = const Symbol('try'); // /// 10: continued
x = const Symbol('var'); // /// 10: continued
x = const Symbol('while'); // /// 10: continued
x = const Symbol('with'); // /// 10: continued
x = #assert; // /// 11: compile-time error
x = #break; // /// 11: continued
x = #case; // /// 11: continued
x = #catch; // /// 11: continued
x = #class; // /// 11: continued
x = #const; // /// 11: continued
x = #continue; // /// 11: continued
x = #default; // /// 11: continued
x = #do; // /// 11: continued
x = #else; // /// 11: continued
x = #enum; // /// 11: continued
x = #extends; // /// 11: continued
x = #false; // /// 11: continued
x = #final; // /// 11: continued
x = #finally; // /// 11: continued
x = #for; // /// 11: continued
x = #if; // /// 11: continued
x = #in; // /// 11: continued
x = #is; // /// 11: continued
x = #new; // /// 11: continued
x = #null; // /// 11: continued
x = #rethrow; // /// 11: continued
x = #return; // /// 11: continued
x = #super; // /// 11: continued
x = #switch; // /// 11: continued
x = #this; // /// 11: continued
x = #throw; // /// 11: continued
x = #true; // /// 11: continued
x = #try; // /// 11: continued
x = #var; // /// 11: continued
x = #while; // /// 11: continued
x = #with; // /// 11: continued
checkBadSymbol('assert'); // /// 12: ok
checkBadSymbol('break'); // /// 12: continued
checkBadSymbol('case'); // /// 12: continued
checkBadSymbol('catch'); // /// 12: continued
checkBadSymbol('class'); // /// 12: continued
checkBadSymbol('const'); // /// 12: continued
checkBadSymbol('continue'); // /// 12: continued
checkBadSymbol('default'); // /// 12: continued
checkBadSymbol('do'); // /// 12: continued
checkBadSymbol('else'); // /// 12: continued
checkBadSymbol('enum'); // /// 12: continued
checkBadSymbol('extends'); // /// 12: continued
checkBadSymbol('false'); // /// 12: continued
checkBadSymbol('final'); // /// 12: continued
checkBadSymbol('finally'); // /// 12: continued
checkBadSymbol('for'); // /// 12: continued
checkBadSymbol('if'); // /// 12: continued
checkBadSymbol('in'); // /// 12: continued
checkBadSymbol('is'); // /// 12: continued
checkBadSymbol('new'); // /// 12: continued
checkBadSymbol('null'); // /// 12: continued
checkBadSymbol('rethrow'); // /// 12: continued
checkBadSymbol('return'); // /// 12: continued
checkBadSymbol('super'); // /// 12: continued
checkBadSymbol('switch'); // /// 12: continued
checkBadSymbol('this'); // /// 12: continued
checkBadSymbol('throw'); // /// 12: continued
checkBadSymbol('true'); // /// 12: continued
checkBadSymbol('try'); // /// 12: continued
checkBadSymbol('var'); // /// 12: continued
checkBadSymbol('while'); // /// 12: continued
checkBadSymbol('with'); // /// 12: continued
}
+3 -3
View File
@@ -9,7 +9,7 @@ main() {
print(x = const Symbol('fisk'));
try {
print(const Symbol(0)); //# 01: compile-time error
print(const Symbol(0)); /// 01: compile-time error
} on NoSuchMethodError {
print('Caught NoSuchMethodError');
} on TypeError {
@@ -17,13 +17,13 @@ main() {
}
try {
print(const Symbol('0')); //# 02: compile-time error
print(const Symbol('0')); /// 02: compile-time error
} on ArgumentError catch (e) {
print('Caught $e');
}
try {
print(const Symbol('_')); //# 03: compile-time error
print(const Symbol('_')); /// 03: compile-time error
} on ArgumentError catch (e) {
print('Caught $e');
}
@@ -7,6 +7,6 @@ main() {
if (trebleClef.length != 2) throw "String should be a surrogate pair";
// These uncaught exceptions should not caush the VM to crash attempting to
// print a malformed string.
throw trebleClef[0]; // //# 01: runtime error
throw trebleClef[1]; // //# 02: runtime error
throw trebleClef[0]; // /// 01: runtime error
throw trebleClef[1]; // /// 02: runtime error
}
@@ -421,18 +421,18 @@ main() {
for (int i = 0; i < 10; i++) {
Expect.equals(1234567890123456789, foo());
Expect.equals(12345678901234567890, bar());
testSmiOverflow(); // //# overflow: ok
testBigintAdd(); // //# add: ok
testBigintSub(); // //# sub: ok
testBigintMul(); // //# mul: ok
testBigintTruncDiv(); // //# trunDiv: ok
testBigintDiv(); // //# div: ok
testBigintModulo(); // //# mod: ok
testBigintModPow(); // //# modPow: ok
testBigintModInverse(); // //# modInv: ok
testBigintGcd(); // //# gcd: ok
testBigintNegate(); // //# negate: ok
testShiftAmount(); // //# shift: ok
testSmiOverflow(); // /// overflow: ok
testBigintAdd(); // /// add: ok
testBigintSub(); // /// sub: ok
testBigintMul(); // /// mul: ok
testBigintTruncDiv(); // /// trunDiv: ok
testBigintDiv(); // /// div: ok
testBigintModulo(); // /// mod: ok
testBigintModPow(); // /// modPow: ok
testBigintModInverse(); // /// modInv: ok
testBigintGcd(); // /// gcd: ok
testBigintNegate(); // /// negate: ok
testShiftAmount(); // /// shift: ok
Expect.equals(12345678901234567890, (12345678901234567890).abs());
Expect.equals(12345678901234567890, (-12345678901234567890).abs());
var a = 10000000000000000000;
@@ -3,9 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
main() {
const bool.fromEnvironment('NOT_FOUND', defaultValue: ''); // //# 01: compile-time error
const bool.fromEnvironment('NOT_FOUND', defaultValue: 1); // //# 02: compile-time error
const bool.fromEnvironment(null); // //# 03: compile-time error
const bool.fromEnvironment(1); // //# 04: compile-time error
const bool.fromEnvironment([]); // //# 05: compile-time error
const bool.fromEnvironment('NOT_FOUND', defaultValue: ''); // /// 01: compile-time error
const bool.fromEnvironment('NOT_FOUND', defaultValue: 1); // /// 02: compile-time error
const bool.fromEnvironment(null); // /// 03: compile-time error
const bool.fromEnvironment(1); // /// 04: compile-time error
const bool.fromEnvironment([]); // /// 05: compile-time error
}
+249 -249
View File
@@ -14,7 +14,7 @@ const whiteSpace = const [
"\x0b",
"\x0c",
"\x0d",
"\x85", // //# 01: ok
"\x85", // /// 01: ok
"\xa0",
"\u1680",
"\u2000",
@@ -233,26 +233,26 @@ void main() {
"4555072551893136908362547791869486679949683240497058210285131854"
"51396213837722826145437693412532098591327667236328125",
0.0);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000024703282292062327208828439643411068627545332140664243314532" //# 03: ok
"8041234170109088178685677591650492652607243027730579814636067699" //# 03: ok
"1112238669661707327453443265068702897439863329200619332642599205" //# 03: ok
"1806252781222000513169502627641523911022607448403553068808609405" //# 03: ok
"1727798181294290864842608522062097649849550765341204993205100587" //# 03: ok
"2127469658709242016690593998242808606978027857019419997429604579" //# 03: ok
"7572623273334010723772922131119806567715298322567005234345331218" //# 03: ok
"5169920860031716486480793611343761679481328431956040281530986197" //# 03: ok
"8304604971452253283193290744072288902141724247846767401941767720" //# 03: ok
"8561650585989659548591956327689896895290365125294085321852619688" //# 03: ok
"9863888974446146846024033780172178553364579041996676675092137151" //# 03: ok
"9705456298034409473812692774776868254618683783877327369245051207" //# 03: ok
"5931578479504396230612962142122846982018227555473696607567828620" //# 03: ok
"5497859173707553281928994692862033843994140625", // //# 03: ok
5e-324); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000024703282292062327208828439643411068627545332140664243314532" /// 03: ok
"8041234170109088178685677591650492652607243027730579814636067699" /// 03: ok
"1112238669661707327453443265068702897439863329200619332642599205" /// 03: ok
"1806252781222000513169502627641523911022607448403553068808609405" /// 03: ok
"1727798181294290864842608522062097649849550765341204993205100587" /// 03: ok
"2127469658709242016690593998242808606978027857019419997429604579" /// 03: ok
"7572623273334010723772922131119806567715298322567005234345331218" /// 03: ok
"5169920860031716486480793611343761679481328431956040281530986197" /// 03: ok
"8304604971452253283193290744072288902141724247846767401941767720" /// 03: ok
"8561650585989659548591956327689896895290365125294085321852619688" /// 03: ok
"9863888974446146846024033780172178553364579041996676675092137151" /// 03: ok
"9705456298034409473812692774776868254618683783877327369245051207" /// 03: ok
"5931578479504396230612962142122846982018227555473696607567828620" /// 03: ok
"5497859173707553281928994692862033843994140625", // /// 03: ok
5e-324); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -369,44 +369,44 @@ void main() {
"8136843040991207538774075715754306035963544889052606784864342758"
"900428165258489343614201061427593231201171875",
5e-324);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000074109846876186981626485318930233205854758970392148714663837" //# 02: ok
"8523751013260905313127797949754542453988569694847043168576596389" //# 02: ok
"9850655339096945981621940161728171894510697854671067917687257517" //# 02: ok
"7347315553307795408549809608457500958111373034747658096871009590" //# 02: ok
"9754422710047573078097111189357848386756539987835030152280559340" //# 02: ok
"4659373979179073872386829939581848166016912201945649993128979841" //# 02: ok
"1362062484498678713572180352209017023903285791732520220528974020" //# 02: ok
"8029068540216066123755499834026713000358124864790413857434018755" //# 02: ok
"2090159017259254714629617513415977493871857473787096164563890871" //# 02: ok
"8119841271673056017045493004705269590165763776884908267986972573" //# 02: ok
"3665217655679410725087643375608460039849049721491174630855395563" //# 02: ok
"54188641513168478436313080237596295773983001708984375", // //# 02: ok
1e-323); // //# 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000074109846876186981626485318930233205873343654412044724850344" //# 03: ok
"8923718677971811461747287833219166123210675953743507352131000861" //# 03: ok
"5508029119022396648780866584046796426383292609958261304514284249" //# 03: ok
"6061610746879932829188941791435548141415672575056325503240888674" //# 03: ok
"0040403932604439422384254107243478095284614859960753370503720954" //# 03: ok
"5808063977144841990843464643012899935961693114687389992568869106" //# 03: ok
"5599267374834247685403237712975952143398358575711517208866987110" //# 03: ok
"6349531233468788347546753834029761025748698485508885182206645314" //# 03: ok
"0639262948657591471263120659283236968907400986955900192071499065" //# 03: ok
"6496581595870337769532410323614883653969318176216473399700896902" //# 03: ok
"4282850500785430600410615352213843786678841324490411560469406158" //# 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
1e-323); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000074109846876186981626485318930233205854758970392148714663837" /// 02: ok
"8523751013260905313127797949754542453988569694847043168576596389" /// 02: ok
"9850655339096945981621940161728171894510697854671067917687257517" /// 02: ok
"7347315553307795408549809608457500958111373034747658096871009590" /// 02: ok
"9754422710047573078097111189357848386756539987835030152280559340" /// 02: ok
"4659373979179073872386829939581848166016912201945649993128979841" /// 02: ok
"1362062484498678713572180352209017023903285791732520220528974020" /// 02: ok
"8029068540216066123755499834026713000358124864790413857434018755" /// 02: ok
"2090159017259254714629617513415977493871857473787096164563890871" /// 02: ok
"8119841271673056017045493004705269590165763776884908267986972573" /// 02: ok
"3665217655679410725087643375608460039849049721491174630855395563" /// 02: ok
"54188641513168478436313080237596295773983001708984375", // /// 02: ok
1e-323); // /// 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000074109846876186981626485318930233205873343654412044724850344" /// 03: ok
"8923718677971811461747287833219166123210675953743507352131000861" /// 03: ok
"5508029119022396648780866584046796426383292609958261304514284249" /// 03: ok
"6061610746879932829188941791435548141415672575056325503240888674" /// 03: ok
"0040403932604439422384254107243478095284614859960753370503720954" /// 03: ok
"5808063977144841990843464643012899935961693114687389992568869106" /// 03: ok
"5599267374834247685403237712975952143398358575711517208866987110" /// 03: ok
"6349531233468788347546753834029761025748698485508885182206645314" /// 03: ok
"0639262948657591471263120659283236968907400986955900192071499065" /// 03: ok
"6496581595870337769532410323614883653969318176216473399700896902" /// 03: ok
"4282850500785430600410615352213843786678841324490411560469406158" /// 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
1e-323); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -483,26 +483,26 @@ void main() {
"0239620254961370692713747131027132020441991845959370908649389667"
"01396213837722826145437693412532098591327667236328125",
1.1125369292536007e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" //# 03: ok
"5360093857793927928947412039400442434185228365340521456608629527" //# 03: ok
"0200315929606120759250932815416474352736201659755028987189999989" //# 03: ok
"3220987486513026766686796443888026815774211444057134206415720396" //# 03: ok
"3510525564718487986029401249963455450110781777556316353975973978" //# 03: ok
"4825173851725161436876623857879887229903814003929524302244972629" //# 03: ok
"6795040225381805100879491255387164751912585073962051947893527710" //# 03: ok
"5170790163081944841764003984818943810636714040207972316616704045" //# 03: ok
"0220895038833513659790739432367709097880422198053807344762226099" //# 03: ok
"3129277744388529754345873069706690065083079768940685222309466301" //# 03: ok
"4235389404255004774284573740536646273496781023858510820692328908" //# 03: ok
"0857253100067390568036719107632515767271783448958607838263400261" //# 03: ok
"9271291212296536333081616208300526650104600844121842238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
1.112536929253601e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" /// 03: ok
"5360093857793927928947412039400442434185228365340521456608629527" /// 03: ok
"0200315929606120759250932815416474352736201659755028987189999989" /// 03: ok
"3220987486513026766686796443888026815774211444057134206415720396" /// 03: ok
"3510525564718487986029401249963455450110781777556316353975973978" /// 03: ok
"4825173851725161436876623857879887229903814003929524302244972629" /// 03: ok
"6795040225381805100879491255387164751912585073962051947893527710" /// 03: ok
"5170790163081944841764003984818943810636714040207972316616704045" /// 03: ok
"0220895038833513659790739432367709097880422198053807344762226099" /// 03: ok
"3129277744388529754345873069706690065083079768940685222309466301" /// 03: ok
"4235389404255004774284573740536646273496781023858510820692328908" /// 03: ok
"0857253100067390568036719107632515767271783448958607838263400261" /// 03: ok
"9271291212296536333081616208300526650104600844121842238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
1.112536929253601e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -561,44 +561,44 @@ void main() {
"8136843040991207538774075715754306035963544889052606784864342758"
"900428165258489343614201061427593231201171875",
1.112536929253601e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 02: ok
"0000000000000000000000000000000000000000000000000000011125369292" //# 02: ok
"5360143264358512053601829696279729256322446286636762993074885578" //# 02: ok
"5482848940402484819383308231788212319506475197423260249353326444" //# 02: ok
"4130717265985540087275830129388183546908748591883986098046865342" //# 02: ok
"9694440740018214171090142139290408905547397593746087678853434622" //# 02: ok
"7708807769200010477987555066232823112546765790360487852208850575" //# 02: ok
"8752599546868752897347409845010678425979078962517411943872958339" //# 02: ok
"1841626929078828345647733525524686707077165117383988808631340302" //# 02: ok
"3919811372391502185169818655049136406061931820528945258278945377" //# 02: ok
"2640279824496362807465448266116748919295441238296611971177785355" //# 02: ok
"4605209927839760366494651758097211936470402475783551200969719627" //# 02: ok
"9349765358747644509438842714766105380341358326953487329219653376" //# 02: ok
"04188641513168478436313080237596295773983001708984375", // //# 02: ok
1.1125369292536017e-308); // //# 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" //# 03: ok
"5360143264358512053601829696279729256322464871320782889085072085" //# 03: ok
"5882816605113390968002798115252835988728581456319724432907730915" //# 03: ok
"9788091045910990754434756551706808078781343347171179484873892074" //# 03: ok
"8408735933590351591729274322268456088851697134054755085223313705" //# 03: ok
"7994788991756876822274697984118452821074840662486211070432012189" //# 03: ok
"9901289544834521015804044548441730195923859875259151943312847604" //# 03: ok
"6078831819414397317478790886291621826572237901362985796969353392" //# 03: ok
"2240274065644224408961072655052184431452505441247416583051571936" //# 03: ok
"1189383755894699564098951411984008394330984751465415998685393549" //# 03: ok
"2981950252037042118981569077006826000273956875115116332683643956" //# 03: ok
"9967398203853664384761814691371489127171149929952724258833663970" //# 03: ok
"9550533979841101562169154890806946368370134291387467238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
1.1125369292536017e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 02: ok
"0000000000000000000000000000000000000000000000000000011125369292" /// 02: ok
"5360143264358512053601829696279729256322446286636762993074885578" /// 02: ok
"5482848940402484819383308231788212319506475197423260249353326444" /// 02: ok
"4130717265985540087275830129388183546908748591883986098046865342" /// 02: ok
"9694440740018214171090142139290408905547397593746087678853434622" /// 02: ok
"7708807769200010477987555066232823112546765790360487852208850575" /// 02: ok
"8752599546868752897347409845010678425979078962517411943872958339" /// 02: ok
"1841626929078828345647733525524686707077165117383988808631340302" /// 02: ok
"3919811372391502185169818655049136406061931820528945258278945377" /// 02: ok
"2640279824496362807465448266116748919295441238296611971177785355" /// 02: ok
"4605209927839760366494651758097211936470402475783551200969719627" /// 02: ok
"9349765358747644509438842714766105380341358326953487329219653376" /// 02: ok
"04188641513168478436313080237596295773983001708984375", // /// 02: ok
1.1125369292536017e-308); // /// 02: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000011125369292" /// 03: ok
"5360143264358512053601829696279729256322464871320782889085072085" /// 03: ok
"5882816605113390968002798115252835988728581456319724432907730915" /// 03: ok
"9788091045910990754434756551706808078781343347171179484873892074" /// 03: ok
"8408735933590351591729274322268456088851697134054755085223313705" /// 03: ok
"7994788991756876822274697984118452821074840662486211070432012189" /// 03: ok
"9901289544834521015804044548441730195923859875259151943312847604" /// 03: ok
"6078831819414397317478790886291621826572237901362985796969353392" /// 03: ok
"2240274065644224408961072655052184431452505441247416583051571936" /// 03: ok
"1189383755894699564098951411984008394330984751465415998685393549" /// 03: ok
"2981950252037042118981569077006826000273956875115116332683643956" /// 03: ok
"9967398203853664384761814691371489127171149929952724258833663970" /// 03: ok
"9550533979841101562169154890806946368370134291387467238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
1.1125369292536017e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -674,26 +674,26 @@ void main() {
"5924167958029604477064946470184777360934300451421683607013647479"
"51396213837722826145437693412532098591327667236328125",
2.2250738585072014e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" //# 03: ok
"0720163012305563795567615250361241457301819893006892300968851267" //# 03: ok
"7159413856747700265506443097450144218254107162331246067966730043" //# 03: ok
"7501049413401620872340686411548038468172262181270052386775328221" //# 03: ok
"5857650751428906748569733780796363397546806336554745935958399010" //# 03: ok
"2779558910877598836767067734754861955694039806454982002173263865" //# 03: ok
"0888265793071484125840071160815995011874751834533813898637506208" //# 03: ok
"5650354607662094473839557158134613493810593365859440904719070326" //# 03: ok
"6111637871008949721205058253390132503584229153792338745607152721" //# 03: ok
"3679398551625637847181703822407461490506663533450201028923360785" //# 03: ok
"0720758060421709123733732493928588619801419722757153753675075962" //# 03: ok
"6541800803135624352387918446790161107764092054420920536627658074" //# 03: ok
"4271291212296536333081616208300526650104600844121842238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
2.225073858507202e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" /// 03: ok
"0720163012305563795567615250361241457301819893006892300968851267" /// 03: ok
"7159413856747700265506443097450144218254107162331246067966730043" /// 03: ok
"7501049413401620872340686411548038468172262181270052386775328221" /// 03: ok
"5857650751428906748569733780796363397546806336554745935958399010" /// 03: ok
"2779558910877598836767067734754861955694039806454982002173263865" /// 03: ok
"0888265793071484125840071160815995011874751834533813898637506208" /// 03: ok
"5650354607662094473839557158134613493810593365859440904719070326" /// 03: ok
"6111637871008949721205058253390132503584229153792338745607152721" /// 03: ok
"3679398551625637847181703822407461490506663533450201028923360785" /// 03: ok
"0720758060421709123733732493928588619801419722757153753675075962" /// 03: ok
"6541800803135624352387918446790161107764092054420920536627658074" /// 03: ok
"4271291212296536333081616208300526650104600844121842238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
2.225073858507202e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -752,44 +752,44 @@ void main() {
"8136843040991207538774075715754306035963544889052606784864342758"
"900428165258489343614201061427593231201171875",
2.225073858507202e-308);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" //# 03: ok
"0720212418870147920222032907240528279439037814303133837435107319" //# 03: ok
"2441946867544064325638818513821882185024380699999477330130056498" //# 03: ok
"8410779192874134192929720097048195199306799329096904278406473168" //# 03: ok
"2041565926728632933630474670123316852983422152744517260835859654" //# 03: ok
"5663192828352447877877998943107797838336991592885945552137141811" //# 03: ok
"2845825114558431922307989750439508685941245723089173894616936837" //# 03: ok
"2321191373658977977723286698840356390251044443035457396733706583" //# 03: ok
"9810554204566938246584137476071559811765738776267476659123871999" //# 03: ok
"3190400631733470900301279018817520344719025002806127777791679839" //# 03: ok
"1090578584006464715943810511489154282775041174682194133952466682" //# 03: ok
"5034313061815878293790042053923750720833666932415800027583911188" //# 03: ok
"54188641513168478436313080237596295773983001708984375", // //# 03: ok
2.2250738585072024e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" //# 03: ok
"0720212418870147920222032907240528279439056398987153733445293826" //# 03: ok
"2841914532254970474258308397286505854246486958895941513684460970" //# 03: ok
"4068152972799584860088646519366819731179394084384097665233499900" //# 03: ok
"0755861120300770354269606853101364036287721693053184667205738737" //# 03: ok
"5949174050909314222165141860993427546865066465011668770360303425" //# 03: ok
"3994515112524200040764624453870560455886026635830913894056826102" //# 03: ok
"6558396263994546949554344059607291509746117227014454385071719673" //# 03: ok
"8131016897819660470375391476074607837156312396985947983896498558" //# 03: ok
"1739504563131807656934782164684779819754568515974931805299288032" //# 03: ok
"9467318908203746468430727830398768346578595574013759265666391011" //# 03: ok
"5651945906921898169113014030529134467663458535415036957197921783" //# 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" //# 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" //# 03: ok
"099571834741510656385798938572406768798828125", // //# 03: ok
2.2250738585072024e-308); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" /// 03: ok
"0720212418870147920222032907240528279439037814303133837435107319" /// 03: ok
"2441946867544064325638818513821882185024380699999477330130056498" /// 03: ok
"8410779192874134192929720097048195199306799329096904278406473168" /// 03: ok
"2041565926728632933630474670123316852983422152744517260835859654" /// 03: ok
"5663192828352447877877998943107797838336991592885945552137141811" /// 03: ok
"2845825114558431922307989750439508685941245723089173894616936837" /// 03: ok
"2321191373658977977723286698840356390251044443035457396733706583" /// 03: ok
"9810554204566938246584137476071559811765738776267476659123871999" /// 03: ok
"3190400631733470900301279018817520344719025002806127777791679839" /// 03: ok
"1090578584006464715943810511489154282775041174682194133952466682" /// 03: ok
"5034313061815878293790042053923750720833666932415800027583911188" /// 03: ok
"54188641513168478436313080237596295773983001708984375", // /// 03: ok
2.2250738585072024e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000022250738585" /// 03: ok
"0720212418870147920222032907240528279439056398987153733445293826" /// 03: ok
"2841914532254970474258308397286505854246486958895941513684460970" /// 03: ok
"4068152972799584860088646519366819731179394084384097665233499900" /// 03: ok
"0755861120300770354269606853101364036287721693053184667205738737" /// 03: ok
"5949174050909314222165141860993427546865066465011668770360303425" /// 03: ok
"3994515112524200040764624453870560455886026635830913894056826102" /// 03: ok
"6558396263994546949554344059607291509746117227014454385071719673" /// 03: ok
"8131016897819660470375391476074607837156312396985947983896498558" /// 03: ok
"1739504563131807656934782164684779819754568515974931805299288032" /// 03: ok
"9467318908203746468430727830398768346578595574013759265666391011" /// 03: ok
"5651945906921898169113014030529134467663458535415036957197921783" /// 03: ok
"4550533979841101562169154890806946368370134291387467238490102415" /// 03: ok
"1863156959008792461225924284245693964036455110947393215135657241" /// 03: ok
"099571834741510656385798938572406768798828125", // /// 03: ok
2.2250738585072024e-308); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -863,25 +863,25 @@ void main() {
"8909645359318233784351199339157645340492308605462312698364257812"
"5",
1.0020841800044864e-292);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000100208418000448650025174695" //# 03: ok
"1035150178458809017822159251011531515138151971877843746285762442" //# 03: ok
"8545112214057342269294258292239779301929355259416640067909319649" //# 03: ok
"7365336576866690449490575153391617964764463657240626936945707789" //# 03: ok
"0322677840073401894046998179185686691822730198820493814317137229" //# 03: ok
"5822164306994752582767555905533610628109411569344063803273395309" //# 03: ok
"4016739578124191615155910675820643598048478728683293279406596985" //# 03: ok
"3795142966229399885915374796852136102192598807080147602085351627" //# 03: ok
"7462738186176388661491270541112149644974737467220377156516124492" //# 03: ok
"5297987696655648150350049348782647584189423429523649017245633309" //# 03: ok
"0650703736050481424426844685046761507858235356421727632283550512" //# 03: ok
"9294184882356332903145058239310065886479547694117011957754993659" //# 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" //# 03: ok
"421878240614097350935640662328296457417309284210205078125", // //# 03: ok
1.0020841800044866e-292); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000100208418000448650025174695" /// 03: ok
"1035150178458809017822159251011531515138151971877843746285762442" /// 03: ok
"8545112214057342269294258292239779301929355259416640067909319649" /// 03: ok
"7365336576866690449490575153391617964764463657240626936945707789" /// 03: ok
"0322677840073401894046998179185686691822730198820493814317137229" /// 03: ok
"5822164306994752582767555905533610628109411569344063803273395309" /// 03: ok
"4016739578124191615155910675820643598048478728683293279406596985" /// 03: ok
"3795142966229399885915374796852136102192598807080147602085351627" /// 03: ok
"7462738186176388661491270541112149644974737467220377156516124492" /// 03: ok
"5297987696655648150350049348782647584189423429523649017245633309" /// 03: ok
"0650703736050481424426844685046761507858235356421727632283550512" /// 03: ok
"9294184882356332903145058239310065886479547694117011957754993659" /// 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" /// 03: ok
"421878240614097350935640662328296457417309284210205078125", // /// 03: ok
1.0020841800044866e-292); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
"0000000000000000000000000000000000000000000000000000000000000000"
@@ -937,43 +937,43 @@ void main() {
"4847950667958479187395974848205671831957839363657783480512019685"
"578121759385902649064359337671703542582690715789794921875",
2.0041683600089726e-292);
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" //# 03: ok
"5990092893382710435783708701744713907322363070003179054747514262" //# 03: ok
"7385611700512865061525449421701203817286652851291627374287240329" //# 03: ok
"3753705169156289950978164746871212513772283206234057202629821353" //# 03: ok
"8809538439162226010550634208659737749820025430842192660178060615" //# 03: ok
"3474267718174236120090795958487048484027109406716660005865875254" //# 03: ok
"7540730218997620056025234843183240653494745917236268600971966054" //# 03: ok
"2572750817920844689872038240532666937066187074066929436725783508" //# 03: ok
"0513647350599865639683590212819431367049178252060735656411044144" //# 03: ok
"5314088186163138416702979387974756763836546863081940712096908853" //# 03: ok
"9929165937080868658779320353585122361868059050079309936626251244" //# 03: ok
"0765647609431766215648800660842354659507691394537687301635742187" //# 03: ok
"5", // //# 03: ok
2.004168360008973e-292); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" //# 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" //# 03: ok
"5990092893382710435783708785442689934124446215379877007119186963" //# 03: ok
"1799271173601405540673717580039876412295823431198128133887844732" //# 03: ok
"7822096271111944266498822575337206743053529154538278267721206728" //# 03: ok
"1206759279588886755511816487266193645578706075743945771432529989" //# 03: ok
"5627720577353214542977288069464672781437627568914207256313896083" //# 03: ok
"6647266336088483105727658239269018534852601546443784653776612265" //# 03: ok
"4362171708319597782738064157144965045964873355636409438294693959" //# 03: ok
"3883447613213167389211587415988230219943616159642947883454256631" //# 03: ok
"7129850578881555219447792913718868827972321214300345663373246010" //# 03: ok
"5887233720340859229642766731751409169335306833113418201122555553" //# 03: ok
"1150187132469865334442659560994775205494930483192386561026478034" //# 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" //# 03: ok
"421878240614097350935640662328296457417309284210205078125", // //# 03: ok
2.004168360008973e-292); // //# 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" /// 03: ok
"5990092893382710435783708701744713907322363070003179054747514262" /// 03: ok
"7385611700512865061525449421701203817286652851291627374287240329" /// 03: ok
"3753705169156289950978164746871212513772283206234057202629821353" /// 03: ok
"8809538439162226010550634208659737749820025430842192660178060615" /// 03: ok
"3474267718174236120090795958487048484027109406716660005865875254" /// 03: ok
"7540730218997620056025234843183240653494745917236268600971966054" /// 03: ok
"2572750817920844689872038240532666937066187074066929436725783508" /// 03: ok
"0513647350599865639683590212819431367049178252060735656411044144" /// 03: ok
"5314088186163138416702979387974756763836546863081940712096908853" /// 03: ok
"9929165937080868658779320353585122361868059050079309936626251244" /// 03: ok
"0765647609431766215648800660842354659507691394537687301635742187" /// 03: ok
"5", // /// 03: ok
2.004168360008973e-292); // /// 03: ok
testParse("0.00000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000000000000000000000000000000" /// 03: ok
"0000000000000000000000000000000000000200416836000897266674241512" /// 03: ok
"5990092893382710435783708785442689934124446215379877007119186963" /// 03: ok
"1799271173601405540673717580039876412295823431198128133887844732" /// 03: ok
"7822096271111944266498822575337206743053529154538278267721206728" /// 03: ok
"1206759279588886755511816487266193645578706075743945771432529989" /// 03: ok
"5627720577353214542977288069464672781437627568914207256313896083" /// 03: ok
"6647266336088483105727658239269018534852601546443784653776612265" /// 03: ok
"4362171708319597782738064157144965045964873355636409438294693959" /// 03: ok
"3883447613213167389211587415988230219943616159642947883454256631" /// 03: ok
"7129850578881555219447792913718868827972321214300345663373246010" /// 03: ok
"5887233720340859229642766731751409169335306833113418201122555553" /// 03: ok
"1150187132469865334442659560994775205494930483192386561026478034" /// 03: ok
"5152049332041520812604025151794328168042160636342216519487980314" /// 03: ok
"421878240614097350935640662328296457417309284210205078125", // /// 03: ok
2.004168360008973e-292); // /// 03: ok
testParse("0.99999999999999988897769753748434595763683319091796875",
0.9999999999999999);
testParse("0.99999999999999988897769753748434595763683319091796879176194859"
@@ -984,12 +984,12 @@ void main() {
"4809443029054117700758095643512548748358614094344726684993771234"
"576088145773464788135242997668683528900146484375",
0.9999999999999999);
testParse("0.999999999999999944488848768742172978818416595458984375", //# 03: ok
1.0); // //# 03: ok
testParse("0.99999999999999994448884876874217297881841659545898441676194859" //# 03: ok
"5190556970945882299241904356487451251641385905655273315006228765" //# 03: ok
"423911854226535211864757002331316471099853515625", // //# 03: ok
1.0); // //# 03: ok
testParse("0.999999999999999944488848768742172978818416595458984375", /// 03: ok
1.0); // /// 03: ok
testParse("0.99999999999999994448884876874217297881841659545898441676194859" /// 03: ok
"5190556970945882299241904356487451251641385905655273315006228765" /// 03: ok
"423911854226535211864757002331316471099853515625", // /// 03: ok
1.0); // /// 03: ok
testParse("0.499999999999999944488848768742172978818416595458984375",
0.49999999999999994);
testParse("0.49999999999999994448884876874217297881841659545898439588097429"
@@ -1000,12 +1000,12 @@ void main() {
"2404721514527058850379047821756274374179307047172363342496885617"
"2880440728867323940676214988343417644500732421875",
0.49999999999999994);
testParse("0.4999999999999999722444243843710864894092082977294921875", //# 03: ok
0.5); // //# 03: ok
testParse("0.49999999999999997224442438437108648940920829772949220838097429" //# 03: ok
"7595278485472941149620952178243725625820692952827636657503114382" //# 03: ok
"7119559271132676059323785011656582355499267578125", // //# 03: ok
0.5); // //# 03: ok
testParse("0.4999999999999999722444243843710864894092082977294921875", /// 03: ok
0.5); // /// 03: ok
testParse("0.49999999999999997224442438437108648940920829772949220838097429" /// 03: ok
"7595278485472941149620952178243725625820692952827636657503114382" /// 03: ok
"7119559271132676059323785011656582355499267578125", // /// 03: ok
0.5); // /// 03: ok
testParse("1.9999999999999997779553950749686919152736663818359375",
1.9999999999999998);
testParse("1.99999999999999977795539507496869191527366638183593758352389719"
@@ -1016,12 +1016,12 @@ void main() {
"9618886058108235401516191287025097496717228188689453369987542469"
"15217629154692957627048599533736705780029296875",
1.9999999999999998);
testParse("1.99999999999999988897769753748434595763683319091796875", //# 03: ok
2.0); // //# 03: ok
testParse("1.99999999999999988897769753748434595763683319091796883352389719" //# 03: ok
"0381113941891764598483808712974902503282771811310546630012457530" //# 03: ok
"84782370845307042372951400466263294219970703125", // //# 03: ok
2.0); // //# 03: ok
testParse("1.99999999999999988897769753748434595763683319091796875", /// 03: ok
2.0); // /// 03: ok
testParse("1.99999999999999988897769753748434595763683319091796883352389719" /// 03: ok
"0381113941891764598483808712974902503282771811310546630012457530" /// 03: ok
"84782370845307042372951400466263294219970703125", // /// 03: ok
2.0); // /// 03: ok
testParse("4503599627370495.5",
4503599627370495.5);
testParse("4503599627370495.50000000000000000000000000000000000018807909613"
@@ -8,31 +8,31 @@ import "package:expect/expect.dart";
class Foo {}
const
bool // //# 01: ok
int // //# 02: static type warning, checked mode compile-time error
String // //# 03: static type warning, checked mode compile-time error
Foo // //# 04: static type warning, checked mode compile-time error
bool // /// 01: ok
int // /// 02: static type warning, checked mode compile-time error
String // /// 03: static type warning, checked mode compile-time error
Foo // /// 04: static type warning, checked mode compile-time error
a = const bool.fromEnvironment('a');
const
bool // //# 05: ok
int // //# 06: static type warning, checked mode compile-time error
String // //# 07: static type warning, checked mode compile-time error
Foo // //# 08: static type warning, checked mode compile-time error
bool // /// 05: ok
int // /// 06: static type warning, checked mode compile-time error
String // /// 07: static type warning, checked mode compile-time error
Foo // /// 08: static type warning, checked mode compile-time error
b = const bool.fromEnvironment('b');
const
bool // //# 09: static type warning, checked mode compile-time error
int // //# 10: ok
String // //# 11: static type warning, checked mode compile-time error
Foo // //# 12: static type warning, checked mode compile-time error
bool // /// 09: static type warning, checked mode compile-time error
int // /// 10: ok
String // /// 11: static type warning, checked mode compile-time error
Foo // /// 12: static type warning, checked mode compile-time error
c = const int.fromEnvironment('c');
const
bool // //# 13: static type warning, checked mode compile-time error
int // //# 14: static type warning, checked mode compile-time error
String // //# 15: ok
Foo // //# 16: static type warning, checked mode compile-time error
bool // /// 13: static type warning, checked mode compile-time error
int // /// 14: static type warning, checked mode compile-time error
String // /// 15: ok
Foo // /// 16: static type warning, checked mode compile-time error
d = const String.fromEnvironment('d');
main() {
@@ -7,31 +7,31 @@ import "package:expect/expect.dart";
class Foo {}
const
bool // //# 01: ok
int // //# 02: static type warning, checked mode compile-time error
String //# 03: static type warning, checked mode compile-time error
Foo // //# 04: static type warning, checked mode compile-time error
bool // /// 01: ok
int // /// 02: static type warning, checked mode compile-time error
String /// 03: static type warning, checked mode compile-time error
Foo // /// 04: static type warning, checked mode compile-time error
a = const bool.fromEnvironment('a');
const
bool // //# 05: ok
int // //# 06: static type warning, checked mode compile-time error
String //# 07: static type warning, checked mode compile-time error
Foo // //# 08: static type warning, checked mode compile-time error
bool // /// 05: ok
int // /// 06: static type warning, checked mode compile-time error
String /// 07: static type warning, checked mode compile-time error
Foo // /// 08: static type warning, checked mode compile-time error
b = const bool.fromEnvironment('b');
const
bool // //# 09: static type warning
int // //# 10: ok
String //# 11: static type warning
Foo // //# 12: static type warning
bool // /// 09: static type warning
int // /// 10: ok
String /// 11: static type warning
Foo // /// 12: static type warning
c = const int.fromEnvironment('c');
const
bool // //# 13: static type warning
int // //# 14: static type warning
String //# 15: ok
Foo // //# 16: static type warning
bool // /// 13: static type warning
int // /// 14: static type warning
String /// 15: ok
Foo // /// 16: static type warning
d = const String.fromEnvironment('d');
main() {
+1 -1
View File
@@ -285,7 +285,7 @@ void testIdentitySet(Set create()) {
// All compile time constants are identical to themselves.
var constants = [double.INFINITY,
double.NAN, -0.0, //# 01: ok
double.NAN, -0.0, /// 01: ok
0.0, 42, "", null, false, true, #bif, testIdentitySet];
set.addAll(constants);
Expect.equals(constants.length, set.length);
@@ -9,7 +9,7 @@ main() {
print(['x'].where((_) {
// We actually don't really care for the successful case. We just want to
// make sure that the test doesn't crash when it is negative.
throw 'fisk'; // //# 01: runtime error
throw 'fisk'; // /// 01: runtime error
return true;
}).toList());
}
@@ -3,9 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
main() {
const int.fromEnvironment('NOT_FOUND', defaultValue: ''); // //# 01: compile-time error
const int.fromEnvironment('NOT_FOUND', defaultValue: true); // //# 02: compile-time error
const int.fromEnvironment(null); // //# 03: compile-time error
const int.fromEnvironment(1); // //# 04: compile-time error
const int.fromEnvironment([]); // //# 05: compile-time error
const int.fromEnvironment('NOT_FOUND', defaultValue: ''); // /// 01: compile-time error
const int.fromEnvironment('NOT_FOUND', defaultValue: true); // /// 02: compile-time error
const int.fromEnvironment(null); // /// 03: compile-time error
const int.fromEnvironment(1); // /// 04: compile-time error
const int.fromEnvironment([]); // /// 05: compile-time error
}
@@ -118,7 +118,7 @@ testModInverse() {
test(137, smallNumber, 856087223);
test(mediumNumber, 137, 77);
test(137, mediumNumber, 540686667207353);
test(bigNumber, 137, 128); // //# bignum: ok
test(bigNumber, 137, 128); // /// bignum: ok
// Bigger numbers as modulo is tested in big_integer_arith_vm_test.dart.
// Big doubles are not co-prime, so there is nothing to test for dart2js.
}
@@ -203,7 +203,7 @@ testGcd() {
}
main() {
testModPow(); // //# modPow: ok
testModPow(); // /// modPow: ok
testModInverse();
testGcd();
}
+10 -10
View File
@@ -9,7 +9,7 @@ void main() {
bool checkedMode = false;
assert((checkedMode = true));
const String oneByteWhiteSpace = "\x09\x0a\x0b\x0c\x0d\x20"
"\x85" //# 01: ok
"\x85" /// 01: ok
"\xa0";
const String whiteSpace = "$oneByteWhiteSpace\u1680"
"\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a"
@@ -61,21 +61,21 @@ void main() {
}
}
for (int i = 2; i <= 36; i++) { // //# 02: ok
// Test with bignums. // //# 02: continued
var digit = digits[i - 1]; // //# 02: continued
testParse(pow(i, 64) - 1, digit * 64, i); // //# 02: continued
testParse(0, zeros, i); // //# 02: continued
} // //# 02: continued
for (int i = 2; i <= 36; i++) { // /// 02: ok
// Test with bignums. // /// 02: continued
var digit = digits[i - 1]; // /// 02: continued
testParse(pow(i, 64) - 1, digit * 64, i); // /// 02: continued
testParse(0, zeros, i); // /// 02: continued
} // /// 02: continued
// Allow both upper- and lower-case letters.
Expect.equals(0xABCD, int.parse("ABCD", radix: 16));
Expect.equals(0xABCD, int.parse("abcd", radix: 16));
Expect.equals(15628859, int.parse("09azAZ", radix: 36));
// Big number.
Expect.equals(0x12345678123456781234567812345678, // //# 02: continued
int.parse("0x1234567812345678" // //# 02: continued
"1234567812345678")); // //# 02: continued
Expect.equals(0x12345678123456781234567812345678, // /// 02: continued
int.parse("0x1234567812345678" // /// 02: continued
"1234567812345678")); // /// 02: continued
// Allow whitespace before and after the number.
Expect.equals(1, int.parse(" 1", radix: 2));
Expect.equals(1, int.parse("1 ", radix: 2));
@@ -51,22 +51,22 @@ main() {
// ~2^53.
test(0x1fffffffffffff, "9007199254740991");
test(0x20000000000000, "9007199254740992");
test(0x20000000000001, "9007199254740993"); // //# 01: ok
test(0x20000000000001, "9007199254740993"); // /// 01: ok
// ~2^62.
test(0x3fffffffffffffff, "4611686018427387903"); // //# 01: continued
test(0x4000000000000000, "4611686018427387904"); // //# 01: continued
test(0x4000000000000001, "4611686018427387905"); // //# 01: continued
test(0x3fffffffffffffff, "4611686018427387903"); // /// 01: continued
test(0x4000000000000000, "4611686018427387904"); // /// 01: continued
test(0x4000000000000001, "4611686018427387905"); // /// 01: continued
// ~2^63.
test(0x7fffffffffffffff, "9223372036854775807"); // //# 01: continued
test(0x8000000000000000, "9223372036854775808"); // //# 01: continued
test(0x8000000000000001, "9223372036854775809"); // //# 01: continued
test(0x7fffffffffffffff, "9223372036854775807"); // /// 01: continued
test(0x8000000000000000, "9223372036854775808"); // /// 01: continued
test(0x8000000000000001, "9223372036854775809"); // /// 01: continued
// ~2^64.
test(0xffffffffffffffff, "18446744073709551615"); // //# 01: continued
test(0x10000000000000000, "18446744073709551616"); // //# 01: continued
test(0x10000000000000001, "18446744073709551617"); // //# 01: continued
test(0xffffffffffffffff, "18446744073709551615"); // /// 01: continued
test(0x10000000000000000, "18446744073709551616"); // /// 01: continued
test(0x10000000000000001, "18446744073709551617"); // /// 01: continued
// Big bignum.
test(123456789012345678901234567890, // //# 01: continued
"123456789012345678901234567890"); // //# 01: continued
test(123456789012345678901234567890, // /// 01: continued
"123456789012345678901234567890"); // /// 01: continued
// Decimal special cases.
@@ -79,10 +79,10 @@ main() {
number *= 10;
}
// Fails to represent exactly in dart2js.
for (int i = 15; i < 22; i++) { // //# 01: continued
test(number - 1, "9" * i); // //# 01: continued
test(number, "1" + "0" * i); // //# 01: continued
test(number + 1, "1" + "0" * (i - 1) + "1"); // //# 01: continued
number *= 10; // //# 01: continued
} // //# 01: continued
for (int i = 15; i < 22; i++) { // /// 01: continued
test(number - 1, "9" * i); // /// 01: continued
test(number, "1" + "0" * i); // /// 01: continued
test(number + 1, "1" + "0" * (i - 1) + "1"); // /// 01: continued
number *= 10; // /// 01: continued
} // /// 01: continued
}
@@ -63,14 +63,14 @@ main() {
testList(new List<int>.generate(1, (x) => x + 1));
// Typed lists.
testList(new Uint8List(1)..[0] = 1); // //# 01: ok
testList(new Int8List(1)..[0] = 1); // //# 01: continued
testList(new Uint16List(1)..[0] = 1); // //# 01: continued
testList(new Int16List(1)..[0] = 1); // //# 01: continued
testList(new Uint32List(1)..[0] = 1); // //# 01: continued
testList(new Int32List(1)..[0] = 1); // //# 01: continued
testList(new Uint64List(1)..[0] = 1); // //# 02: ok
testList(new Int64List(1)..[0] = 1); // //# 02: continued
testList(new Uint8List(1)..[0] = 1); // /// 01: ok
testList(new Int8List(1)..[0] = 1); // /// 01: continued
testList(new Uint16List(1)..[0] = 1); // /// 01: continued
testList(new Int16List(1)..[0] = 1); // /// 01: continued
testList(new Uint32List(1)..[0] = 1); // /// 01: continued
testList(new Int32List(1)..[0] = 1); // /// 01: continued
testList(new Uint64List(1)..[0] = 1); // /// 02: ok
testList(new Int64List(1)..[0] = 1); // /// 02: continued
testIterable(new Set<int>()..add(1));
testIterable(new HashSet<int>()..add(1));
+1 -1
View File
@@ -582,7 +582,7 @@ class MyFixedList<E> extends ListBase<E> {
void testListConstructor() {
Expect.throws(() { new List(0).add(4); }); // Is fixed-length.
Expect.throws(() { new List(-2); }); // Not negative. //# 01: ok
Expect.throws(() { new List(-2); }); // Not negative. /// 01: ok
Expect.throws(() { new List(null); }); // Not null.
Expect.listEquals([4], new List()..add(4));
Expect.throws(() { new List.filled(0, 42).add(4); }); // Is fixed-length.
+1 -1
View File
@@ -48,7 +48,7 @@ void main() {
Expect.equals("-Infinity", double.NEGATIVE_INFINITY.toString());
// Test identities.
Expect.isTrue(identical(double.NAN, double.NAN)); // //# 01: ok
Expect.isTrue(identical(double.NAN, double.NAN)); // /// 01: ok
Expect.isTrue(identical(double.INFINITY, double.INFINITY));
Expect.isTrue(identical(double.NEGATIVE_INFINITY, double.NEGATIVE_INFINITY));
Expect.isFalse(identical(double.NAN, double.INFINITY));
+1 -1
View File
@@ -157,7 +157,7 @@ void main() {
testDouble(9007199254740992.0);
testDouble(1.7976931348623157e+308);
testDouble(double.INFINITY);
testDouble(double.NAN); // //# 01: ok
testDouble(double.NAN); // /// 01: ok
// Strings that cannot occur from toString of a number.
testParse("000000000000", 0);
+1 -1
View File
@@ -7,7 +7,7 @@ import 'package:expect/expect.dart';
class A {
toString() {
if (false
|| true // //# 01: runtime error
|| true // /// 01: runtime error
) {
return 499;
} else {
+13 -13
View File
@@ -21,30 +21,30 @@ void testSpecialCases() {
// Letters in Latin-1 where the upper case is not in Latin-1.
// German sharp s. Upper case variant is "SS".
Expect.equals("SS", "\xdf".toUpperCase()); // //# 01: ok
Expect.equals("SS", "\xdf".toUpperCase()); // /// 01: ok
Expect.equals("\xdf", "\xdf".toLowerCase());
Expect.equals("ss", "\xdf".toUpperCase().toLowerCase()); // //# 01: continued
Expect.equals("ss", "\xdf".toUpperCase().toLowerCase()); // /// 01: continued
// Micro sign (not same as lower-case Greek letter mu, U+03BC).
Expect.equals("\u039c", "\xb5".toUpperCase()); // //# 02: ok
Expect.equals("\u039c", "\xb5".toUpperCase()); // /// 02: ok
Expect.equals("\xb5", "\xb5".toLowerCase());
Expect.equals("\u03Bc", // //# 02: continued
"\xb5".toUpperCase().toLowerCase()); // //# 02: continued
Expect.equals("\u03Bc", // /// 02: continued
"\xb5".toUpperCase().toLowerCase()); // /// 02: continued
// Small letter y diaresis.
Expect.equals("\u0178", "\xff".toUpperCase()); // //# 03: ok
Expect.equals("\u0178", "\xff".toUpperCase()); // /// 03: ok
Expect.equals("\xff", "\xff".toLowerCase());
Expect.equals("\xff", "\xff".toUpperCase().toLowerCase()); // //# 03: continued
Expect.equals("\xff", "\xff".toUpperCase().toLowerCase()); // /// 03: continued
// Zero.
Expect.equals("\x00", "\x00".toLowerCase());
Expect.equals("\x00", "\x00".toUpperCase());
// Test all combinations of ordering of lower-case, upper-case and
// special-when-upper-cased characters.
Expect.equals("AA\u0178", "Aa\xff".toUpperCase()); // //# 03: continued
Expect.equals("AA\u0178", "aA\xff".toUpperCase()); // //# 03: continued
Expect.equals("A\u0178A", "A\xffa".toUpperCase()); // //# 03: continued
Expect.equals("A\u0178A", "a\xffA".toUpperCase()); // //# 03: continued
Expect.equals("\u0178AA", "\xffAa".toUpperCase()); // //# 03: continued
Expect.equals("\u0178AA", "\xffaA".toUpperCase()); // //# 03: continued
Expect.equals("AA\u0178", "Aa\xff".toUpperCase()); // /// 03: continued
Expect.equals("AA\u0178", "aA\xff".toUpperCase()); // /// 03: continued
Expect.equals("A\u0178A", "A\xffa".toUpperCase()); // /// 03: continued
Expect.equals("A\u0178A", "a\xffA".toUpperCase()); // /// 03: continued
Expect.equals("\u0178AA", "\xffAa".toUpperCase()); // /// 03: continued
Expect.equals("\u0178AA", "\xffaA".toUpperCase()); // /// 03: continued
Expect.equals("aa\xff", "Aa\xff".toLowerCase());
Expect.equals("aa\xff", "aA\xff".toLowerCase());
@@ -3,9 +3,9 @@
// BSD-style license that can be found in the LICENSE file.
main() {
const String.fromEnvironment('NOT_FOUND', defaultValue: 1); // //# 01: compile-time error
const String.fromEnvironment('NOT_FOUND', defaultValue: true); // //# 02: compile-time error
const String.fromEnvironment(null); // //# 03: compile-time error
const String.fromEnvironment(1); // //# 04: compile-time error
const String.fromEnvironment([]); // //# 05: compile-time error
const String.fromEnvironment('NOT_FOUND', defaultValue: 1); // /// 01: compile-time error
const String.fromEnvironment('NOT_FOUND', defaultValue: true); // /// 02: compile-time error
const String.fromEnvironment(null); // /// 03: compile-time error
const String.fromEnvironment(1); // /// 04: compile-time error
const String.fromEnvironment([]); // /// 05: compile-time error
}
+1 -1
View File
@@ -92,7 +92,7 @@ main() {
// This line makes string_trimlr_test/none fail but /01 succeede where
// this bug is in the JS. Both succeede on the VM and where the bug is
// not. Remove this line and comment if all JS engines fix it.
if (i == 0x200b) continue; // //# 01: ok
if (i == 0x200b) continue; // /// 01: ok
var s = new String.fromCharCode(i);
Expect.identical(s, s.trimLeft());
@@ -28,14 +28,14 @@ main() {
testSymbol(#[]=, ($[$]=$).lastMember, "[]=");
testSymbol(const Symbol("unary-"), -$, "unary-");
testSymbolThrows(">>>"); // //# 03: ok
testSymbolThrows("!"); // //# 03: continued
testSymbolThrows("&&"); // //# 03: continued
testSymbolThrows("||"); // //# 03: continued
testSymbolThrows("?"); // //# 03: continued
testSymbolThrows("?:"); // //# 03: continued
testSymbolThrows("#"); // //# 03: continued
testSymbolThrows("//"); // //# 03: continued
testSymbolThrows(">>>"); // /// 03: ok
testSymbolThrows("!"); // /// 03: continued
testSymbolThrows("&&"); // /// 03: continued
testSymbolThrows("||"); // /// 03: continued
testSymbolThrows("?"); // /// 03: continued
testSymbolThrows("?:"); // /// 03: continued
testSymbolThrows("#"); // /// 03: continued
testSymbolThrows("//"); // /// 03: continued
}
void testSymbol(Symbol constSymbol, var mirrorSymbol, String name) {
@@ -12,113 +12,113 @@ main() {
var x;
// 'void' is allowed as a symbol name.
x = const Symbol('void'); // //# 01: ok
x = #void; // //# 02: ok
x = new Symbol('void'); // //# 03: ok
x = const Symbol('void'); // /// 01: ok
x = #void; // /// 02: ok
x = new Symbol('void'); // /// 03: ok
// However, it is not allowed as a part of a symbol name.
x = const Symbol('void.foo'); // //# 04: compile-time error
x = #void.foo; // //# 05: static type warning
checkBadSymbol('void.foo'); // //# 06: ok
x = const Symbol('foo.void'); // //# 07: compile-time error
x = #foo.void; // //# 08: compile-time error
checkBadSymbol('foo.void'); // //# 09: ok
x = const Symbol('void.foo'); // /// 04: compile-time error
x = #void.foo; // /// 05: static type warning
checkBadSymbol('void.foo'); // /// 06: ok
x = const Symbol('foo.void'); // /// 07: compile-time error
x = #foo.void; // /// 08: compile-time error
checkBadSymbol('foo.void'); // /// 09: ok
// All other reserved words are disallowed.
x = const Symbol('assert'); // //# 10: compile-time error
x = const Symbol('break'); // //# 10: continued
x = const Symbol('case'); // //# 10: continued
x = const Symbol('catch'); // //# 10: continued
x = const Symbol('class'); // //# 10: continued
x = const Symbol('const'); // //# 10: continued
x = const Symbol('continue'); // //# 10: continued
x = const Symbol('default'); // //# 10: continued
x = const Symbol('do'); // //# 10: continued
x = const Symbol('else'); // //# 10: continued
x = const Symbol('enum'); // //# 10: continued
x = const Symbol('extends'); // //# 10: continued
x = #assert; // //# 11: compile-time error
x = const Symbol('false'); // //# 10: continued
x = const Symbol('final'); // //# 10: continued
x = const Symbol('finally'); // //# 10: continued
x = const Symbol('for'); // //# 10: continued
x = const Symbol('if'); // //# 10: continued
x = const Symbol('in'); // //# 10: continued
x = const Symbol('is'); // //# 10: continued
x = const Symbol('new'); // //# 10: continued
x = const Symbol('null'); // //# 10: continued
x = const Symbol('rethrow'); // //# 10: continued
x = const Symbol('return'); // //# 10: continued
x = const Symbol('super'); // //# 10: continued
x = const Symbol('switch'); // //# 10: continued
x = const Symbol('this'); // //# 10: continued
x = const Symbol('throw'); // //# 10: continued
x = const Symbol('true'); // //# 10: continued
x = const Symbol('try'); // //# 10: continued
x = const Symbol('var'); // //# 10: continued
x = const Symbol('while'); // //# 10: continued
x = const Symbol('with'); // //# 10: continued
x = #break; // //# 11: continued
x = #case; // //# 11: continued
x = #catch; // //# 11: continued
x = #class; // //# 11: continued
x = #const; // //# 11: continued
x = #continue; // //# 11: continued
x = #default; // //# 11: continued
x = #do; // //# 11: continued
x = #else; // //# 11: continued
x = #enum; // //# 11: continued
x = #extends; // //# 11: continued
x = #false; // //# 11: continued
x = #final; // //# 11: continued
x = #finally; // //# 11: continued
x = #for; // //# 11: continued
x = #if; // //# 11: continued
x = #in; // //# 11: continued
x = #is; // //# 11: continued
x = #new; // //# 11: continued
x = #null; // //# 11: continued
x = #rethrow; // //# 11: continued
x = #return; // //# 11: continued
x = #super; // //# 11: continued
x = #switch; // //# 11: continued
x = #this; // //# 11: continued
x = #throw; // //# 11: continued
x = #true; // //# 11: continued
x = #try; // //# 11: continued
x = #var; // //# 11: continued
x = #while; // //# 11: continued
x = #with; // //# 11: continued
checkBadSymbol('assert'); // //# 12: ok
checkBadSymbol('break'); // //# 12: continued
checkBadSymbol('case'); // //# 12: continued
checkBadSymbol('catch'); // //# 12: continued
checkBadSymbol('class'); // //# 12: continued
checkBadSymbol('const'); // //# 12: continued
checkBadSymbol('continue'); // //# 12: continued
checkBadSymbol('default'); // //# 12: continued
checkBadSymbol('do'); // //# 12: continued
checkBadSymbol('else'); // //# 12: continued
checkBadSymbol('enum'); // //# 12: continued
checkBadSymbol('extends'); // //# 12: continued
checkBadSymbol('false'); // //# 12: continued
checkBadSymbol('final'); // //# 12: continued
checkBadSymbol('finally'); // //# 12: continued
checkBadSymbol('for'); // //# 12: continued
checkBadSymbol('if'); // //# 12: continued
checkBadSymbol('in'); // //# 12: continued
checkBadSymbol('is'); // //# 12: continued
checkBadSymbol('new'); // //# 12: continued
checkBadSymbol('null'); // //# 12: continued
checkBadSymbol('rethrow'); // //# 12: continued
checkBadSymbol('return'); // //# 12: continued
checkBadSymbol('super'); // //# 12: continued
checkBadSymbol('switch'); // //# 12: continued
checkBadSymbol('this'); // //# 12: continued
checkBadSymbol('throw'); // //# 12: continued
checkBadSymbol('true'); // //# 12: continued
checkBadSymbol('try'); // //# 12: continued
checkBadSymbol('var'); // //# 12: continued
checkBadSymbol('while'); // //# 12: continued
checkBadSymbol('with'); // //# 12: continued
x = const Symbol('assert'); // /// 10: compile-time error
x = const Symbol('break'); // /// 10: continued
x = const Symbol('case'); // /// 10: continued
x = const Symbol('catch'); // /// 10: continued
x = const Symbol('class'); // /// 10: continued
x = const Symbol('const'); // /// 10: continued
x = const Symbol('continue'); // /// 10: continued
x = const Symbol('default'); // /// 10: continued
x = const Symbol('do'); // /// 10: continued
x = const Symbol('else'); // /// 10: continued
x = const Symbol('enum'); // /// 10: continued
x = const Symbol('extends'); // /// 10: continued
x = #assert; // /// 11: compile-time error
x = const Symbol('false'); // /// 10: continued
x = const Symbol('final'); // /// 10: continued
x = const Symbol('finally'); // /// 10: continued
x = const Symbol('for'); // /// 10: continued
x = const Symbol('if'); // /// 10: continued
x = const Symbol('in'); // /// 10: continued
x = const Symbol('is'); // /// 10: continued
x = const Symbol('new'); // /// 10: continued
x = const Symbol('null'); // /// 10: continued
x = const Symbol('rethrow'); // /// 10: continued
x = const Symbol('return'); // /// 10: continued
x = const Symbol('super'); // /// 10: continued
x = const Symbol('switch'); // /// 10: continued
x = const Symbol('this'); // /// 10: continued
x = const Symbol('throw'); // /// 10: continued
x = const Symbol('true'); // /// 10: continued
x = const Symbol('try'); // /// 10: continued
x = const Symbol('var'); // /// 10: continued
x = const Symbol('while'); // /// 10: continued
x = const Symbol('with'); // /// 10: continued
x = #break; // /// 11: continued
x = #case; // /// 11: continued
x = #catch; // /// 11: continued
x = #class; // /// 11: continued
x = #const; // /// 11: continued
x = #continue; // /// 11: continued
x = #default; // /// 11: continued
x = #do; // /// 11: continued
x = #else; // /// 11: continued
x = #enum; // /// 11: continued
x = #extends; // /// 11: continued
x = #false; // /// 11: continued
x = #final; // /// 11: continued
x = #finally; // /// 11: continued
x = #for; // /// 11: continued
x = #if; // /// 11: continued
x = #in; // /// 11: continued
x = #is; // /// 11: continued
x = #new; // /// 11: continued
x = #null; // /// 11: continued
x = #rethrow; // /// 11: continued
x = #return; // /// 11: continued
x = #super; // /// 11: continued
x = #switch; // /// 11: continued
x = #this; // /// 11: continued
x = #throw; // /// 11: continued
x = #true; // /// 11: continued
x = #try; // /// 11: continued
x = #var; // /// 11: continued
x = #while; // /// 11: continued
x = #with; // /// 11: continued
checkBadSymbol('assert'); // /// 12: ok
checkBadSymbol('break'); // /// 12: continued
checkBadSymbol('case'); // /// 12: continued
checkBadSymbol('catch'); // /// 12: continued
checkBadSymbol('class'); // /// 12: continued
checkBadSymbol('const'); // /// 12: continued
checkBadSymbol('continue'); // /// 12: continued
checkBadSymbol('default'); // /// 12: continued
checkBadSymbol('do'); // /// 12: continued
checkBadSymbol('else'); // /// 12: continued
checkBadSymbol('enum'); // /// 12: continued
checkBadSymbol('extends'); // /// 12: continued
checkBadSymbol('false'); // /// 12: continued
checkBadSymbol('final'); // /// 12: continued
checkBadSymbol('finally'); // /// 12: continued
checkBadSymbol('for'); // /// 12: continued
checkBadSymbol('if'); // /// 12: continued
checkBadSymbol('in'); // /// 12: continued
checkBadSymbol('is'); // /// 12: continued
checkBadSymbol('new'); // /// 12: continued
checkBadSymbol('null'); // /// 12: continued
checkBadSymbol('rethrow'); // /// 12: continued
checkBadSymbol('return'); // /// 12: continued
checkBadSymbol('super'); // /// 12: continued
checkBadSymbol('switch'); // /// 12: continued
checkBadSymbol('this'); // /// 12: continued
checkBadSymbol('throw'); // /// 12: continued
checkBadSymbol('true'); // /// 12: continued
checkBadSymbol('try'); // /// 12: continued
checkBadSymbol('var'); // /// 12: continued
checkBadSymbol('while'); // /// 12: continued
checkBadSymbol('with'); // /// 12: continued
}
+3 -3
View File
@@ -9,7 +9,7 @@ main() {
print(x = const Symbol('fisk'));
try {
print(const Symbol(0)); //# 01: compile-time error
print(const Symbol(0)); /// 01: compile-time error
} on NoSuchMethodError {
print('Caught NoSuchMethodError');
} on TypeError {
@@ -17,13 +17,13 @@ main() {
}
try {
print(const Symbol('0')); //# 02: compile-time error
print(const Symbol('0')); /// 02: compile-time error
} on ArgumentError catch (e) {
print('Caught $e');
}
try {
print(const Symbol('_')); //# 03: compile-time error
print(const Symbol('_')); /// 03: compile-time error
} on ArgumentError catch (e) {
print('Caught $e');
}
@@ -7,6 +7,6 @@ main() {
if (trebleClef.length != 2) throw "String should be a surrogate pair";
// These uncaught exceptions should not caush the VM to crash attempting to
// print a malformed string.
throw trebleClef[0]; // //# 01: runtime error
throw trebleClef[1]; // //# 02: runtime error
throw trebleClef[0]; // /// 01: runtime error
throw trebleClef[1]; // /// 02: runtime error
}
@@ -27,7 +27,7 @@ _injectJs() {
class Foo {
// Note: it's invalid to provide a default value.
external static num get42([num b
= 3 // //# default_value: compile-time error
= 3 // /// default_value: compile-time error
]);
external static num get43([num b]);
}
@@ -43,14 +43,14 @@ main() {
test('call tearoff from dart with arg', () {
var f = Foo.get42;
expect(f(2), 2); //# explicit_argument: ok
expect(f(2), 2); /// explicit_argument: ok
});
test('call tearoff from dart with default', () {
var f = Foo.get42;
// Note: today both SSA and CPS remove the extra argument on static calls,
// but they fail to do so on tearoffs.
expect(f(), 3); //# default_value: continued
expect(f(), 3); /// default_value: continued
f = Foo.get43;
expect(f(), 43);
+1 -1
View File
@@ -53,7 +53,7 @@ main() {
var f = new F(6);
Expect.equals(testA(a), 1);
Expect.equals(testF(f), 6); //# 01: ok
Expect.equals(testF(f), 6); /// 01: ok
}
+1 -1
View File
@@ -47,7 +47,7 @@ main() {
var d = new D(foo: 4);
var f = new F(6);
Expect.equals(testC(d), 4);
Expect.equals(testF(f), 6); //# 01: ok
Expect.equals(testF(f), 6); /// 01: ok
}
+3 -3
View File
@@ -79,10 +79,10 @@ main() {
var a = new A(1);
var d = new D(foo: 4);
Expect.equals(testA(a), 1); //# 01: ok
Expect.equals(testA(a), 1); //# 02: ok
Expect.equals(testA(a), 1); /// 01: ok
Expect.equals(testA(a), 1); /// 02: ok
Expect.equals(testA(d), 4);
Expect.equals(testD(d), 4); //# 02: continued
Expect.equals(testD(d), 4); /// 02: continued
}
+1 -1
View File
@@ -14,7 +14,7 @@ class TestClass {
TestClass.named(num this.fld1)
// Should cause a compilation error (for the spawned isolate). It is a
// runtime error for the test.
: fld2 = this.fld1 // //# 01: compile-time error
: fld2 = this.fld1 // /// 01: compile-time error
;
num fld1;
num fld2;
+2 -2
View File
@@ -14,8 +14,8 @@ verify(val) {
}
main() {
test1(); //# 01: ok
test2(); //# 02: ok
test1(); /// 01: ok
test2(); /// 02: ok
}
test1() => verify(Foo.BAR);
+2 -2
View File
@@ -4,9 +4,9 @@
library IsolateImportNegativeTest;
// Omitting the following import is an error:
/* // //# 01: runtime error, static type warning
/* // /// 01: runtime error, static type warning
import 'dart:isolate';
*/ // //# 01: continued
*/ // /// 01: continued
import 'package:async_helper/async_helper.dart';
void entry(msg) {}
@@ -53,5 +53,5 @@ void helperFunction() {
}
main() {
helperFunction(); //# 01: runtime error
helperFunction(); /// 01: runtime error
}
+23 -23
View File
@@ -151,10 +151,10 @@ void runTests(SendPort ping, Queue checks) {
Expect.isTrue(x is List);
Expect.listEquals([1, 2], x);
// Make sure the list is immutable.
Expect.throws(() => x[0] = 0); // //# constList: ok
Expect.throws(() => x[0] = 0); // /// constList: ok
// List must not be extendable.
Expect.throws(() => x.add(3));
Expect.identical(x, constList); // //# constList_identical: ok
Expect.identical(x, constList); // /// constList_identical: ok
});
Uint8List uint8 = new Uint8List(2);
@@ -172,8 +172,8 @@ void runTests(SendPort ping, Queue checks) {
uint16[0] = 0;
uint16[1] = 1;
ByteBuffer byteBuffer = uint16.buffer;
ping.send(byteBuffer); // //# byteBuffer: ok
checks.add( // //# byteBuffer: ok
ping.send(byteBuffer); // /// byteBuffer: ok
checks.add( // /// byteBuffer: ok
(x) {
Expect.isTrue(x is ByteBuffer);
Uint16List uint16View = new Uint16List.view(x);
@@ -181,14 +181,14 @@ void runTests(SendPort ping, Queue checks) {
Expect.equals(0, uint16View[0]);
Expect.equals(1, uint16View[1]);
}
) // //# byteBuffer: ok
) // /// byteBuffer: ok
;
Int32x4List list32x4 = new Int32x4List(2);
list32x4[0] = new Int32x4(1, 2, 3, 4);
list32x4[1] = new Int32x4(5, 6, 7, 8);
ping.send(list32x4); // //# int32x4: ok
checks.add( // //# int32x4: ok
ping.send(list32x4); // /// int32x4: ok
checks.add( // /// int32x4: ok
(x) {
Expect.isTrue(x is Int32x4List);
Expect.equals(2, x.length);
@@ -203,7 +203,7 @@ void runTests(SendPort ping, Queue checks) {
Expect.equals(7, entry2.z);
Expect.equals(8, entry2.w);
}
) // //# int32x4: ok
) // /// int32x4: ok
;
ping.send({"foo": 499, "bar": 32});
@@ -277,7 +277,7 @@ void runTests(SendPort ping, Queue checks) {
print(x.length);
Expect.equals(1, x.length);
Expect.equals(499, x['foo']);
Expect.identical(constMap, x); // //# constMap: ok
Expect.identical(constMap, x); // /// constMap: ok
Expect.throws(() => constMap['bar'] = 42);
});
@@ -352,17 +352,17 @@ void runTests(SendPort ping, Queue checks) {
Expect.throws(() => x.field2 = 22);
});
ping.send(new E(E.fooFun)); // //# fun: ok
checks.add((x) { // //# fun: continued
Expect.equals(E.fooFun, x.fun); // //# fun: continued
Expect.equals(499, x.fun()); // //# fun: continued
}); // //# fun: continued
ping.send(new E(E.fooFun)); // /// fun: ok
checks.add((x) { // /// fun: continued
Expect.equals(E.fooFun, x.fun); // /// fun: continued
Expect.equals(499, x.fun()); // /// fun: continued
}); // /// fun: continued
ping.send(new E(barFun)); // //# fun: continued
checks.add((x) { // //# fun: continued
Expect.equals(barFun, x.fun); // //# fun: continued
Expect.equals(42, x.fun()); // //# fun: continued
}); // //# fun: continued
ping.send(new E(barFun)); // /// fun: continued
checks.add((x) { // /// fun: continued
Expect.equals(barFun, x.fun); // /// fun: continued
Expect.equals(42, x.fun()); // /// fun: continued
}); // /// fun: continued
Expect.throws(() => ping.send(new E(new E(null).instanceFun)));
@@ -377,7 +377,7 @@ void runTests(SendPort ping, Queue checks) {
ping.send(constF);
checks.add((x) {
Expect.equals("field", x.field);
Expect.identical(constF, x); // //# constInstance: ok
Expect.identical(constF, x); // /// constInstance: ok
});
G g1 = new G(nonConstF);
@@ -399,14 +399,14 @@ void runTests(SendPort ping, Queue checks) {
Expect.isFalse(identical(g1, x));
F f = x.field;
Expect.equals("field", f.field);
Expect.identical(constF, f); // //# constInstance: continued
Expect.identical(constF, f); // /// constInstance: continued
});
checks.add((x) { // g3.
Expect.isTrue(x is G);
Expect.identical(g3, x); // //# constInstance: continued
Expect.identical(g3, x); // /// constInstance: continued
F f = x.field;
Expect.equals("field", f.field);
Expect.identical(constF, f); // //# constInstance: continued
Expect.identical(constF, f); // /// constInstance: continued
});
// Make sure objects in a map are serialized and deserialized in the correct
+1 -1
View File
@@ -11,7 +11,7 @@ import "package:async_helper/async_helper.dart";
void entry(SendPort replyTo) {
var message = "foo";
message = "bar"; // //# 01: runtime error
message = "bar"; // /// 01: runtime error
replyTo.send(message);
}
+1 -1
View File
@@ -20,7 +20,7 @@ main() {
port.first.then(expectAsync((msg) {
String expectedMessage = 're: hi';
// Should be hi, not hello.
expectedMessage = 're: hello'; //# 01: runtime error
expectedMessage = 're: hello'; /// 01: runtime error
expect(msg, equals(expectedMessage));
}));
@@ -8,7 +8,7 @@
import "package:expect/expect.dart";
import "compiler_annotations.dart";
abstract //# 01: static type warning
abstract /// 01: static type warning
class Foo {
noSuchMethod(im) => 42;
}
@@ -19,11 +19,11 @@ abstract class A1 {
class A2 {
// Intentionally abstract method.
method(); // //# 00: static type warning
method(); // /// 00: static type warning
A2.make() {}
}
main() {
new A1.make();
new A2.make(); //# 00: continued
new A2.make(); /// 00: continued
}
+4 -4
View File
@@ -8,7 +8,7 @@ import "package:expect/expect.dart";
class Foo {
// Intentionally abstract:
get i; // //# 01: static type warning
get i; // /// 01: static type warning
}
class Bar {
@@ -17,9 +17,9 @@ class Bar {
noMethod(e) => e is NoSuchMethodError;
checkIt(f) {
Expect.throws(() { f.i = 'hi'; }, noMethod); // //# 01: continued
Expect.throws(() { print(f.i); }, noMethod); // //# 01: continued
Expect.throws(() { print(f.i()); }, noMethod); // //# 01: continued
Expect.throws(() { f.i = 'hi'; }, noMethod); // /// 01: continued
Expect.throws(() { print(f.i); }, noMethod); // /// 01: continued
Expect.throws(() { print(f.i()); }, noMethod); // /// 01: continued
}
main() {
@@ -12,7 +12,7 @@ import "package:expect/expect.dart";
abstract class Interface {
void foo(); //# 03: static type warning
void foo(); /// 03: static type warning
}
abstract class AbstractClass {
@@ -27,19 +27,19 @@ class NonAbstractClass implements Interface {
toString() => 'NonAbstractClass';
}
Interface interface() => new Interface(); //# 01: static type warning
Interface interface() => new Interface(); /// 01: static type warning
AbstractClass abstractClass() => new AbstractClass(); //# 02: static type warning
AbstractClass abstractClass() => new AbstractClass(); /// 02: static type warning
bool isAbstractClassInstantiationError(e) {
return e is AbstractClassInstantiationError;
}
void main() {
Expect.throws(interface, isAbstractClassInstantiationError, // //# 01: continued
"expected AbstractClassInstantiationError"); // //# 01: continued
Expect.throws(abstractClass, isAbstractClassInstantiationError, // //# 02: continued
"expected AbstractClassInstantiationError"); // //# 02: continued
Expect.throws(interface, isAbstractClassInstantiationError, // /// 01: continued
"expected AbstractClassInstantiationError"); // /// 01: continued
Expect.throws(abstractClass, isAbstractClassInstantiationError, // /// 02: continued
"expected AbstractClassInstantiationError"); // /// 02: continued
Expect.stringEquals('ConcreteSubclass', '${new ConcreteSubclass()}');
Expect.stringEquals('NonAbstractClass', '${new NonAbstractClass()}');
}
+2 -2
View File
@@ -10,8 +10,8 @@ main() {
}
class A {
foo(); // //# 00: static type warning
static bar(); // //# 01: compile-time error
foo(); // /// 00: static type warning
static bar(); // /// 01: compile-time error
}
class B extends A {
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -7,7 +7,7 @@
import "package:expect/expect.dart";
int test(a, {b, c}) {
if (?b) return b; // //# 01: compile-time error
if (?b) return b; // /// 01: compile-time error
return a + b + c;
}
+41 -41
View File
@@ -9,7 +9,7 @@ bool assertsEnabled = false;
main() {
assert((assertsEnabled = true));
runtimeAsserts(); // //# none: ok
runtimeAsserts(); // /// none: ok
// Passing const expressions.
const c00 = const AssertArgument.constFirst(true, 0, 1);
@@ -32,53 +32,53 @@ main() {
// Failing const expressions
const c = const AssertArgument.constFirst(false, 0, 1); // //# 01: compile-time error
const c = const AssertArgument.constLast(false, 0, 1); // //# 02: compile-time error
const c = const AssertArgument.constMiddle(false, 0, 1); // //# 03: compile-time error
const c = const AssertArgument.constMulti(false, 0, 1); // //# 04: compile-time error
const c = const AssertArgument.constFirstSuper(false, 0, 1); // //# 05: compile-time error
const c = const AssertArgument.constLastSuper(false, 0, 1); // //# 06: compile-time error
const c = const AssertArgument.constMiddleSuper(false, 0, 1); // //# 07: compile-time error
const c = const AssertArgument.constMultiSuper(false, 0, 1); // //# 08: compile-time error
const c = const AssertArgument.constFirst(false, 0, 1); // /// 01: compile-time error
const c = const AssertArgument.constLast(false, 0, 1); // /// 02: compile-time error
const c = const AssertArgument.constMiddle(false, 0, 1); // /// 03: compile-time error
const c = const AssertArgument.constMulti(false, 0, 1); // /// 04: compile-time error
const c = const AssertArgument.constFirstSuper(false, 0, 1); // /// 05: compile-time error
const c = const AssertArgument.constLastSuper(false, 0, 1); // /// 06: compile-time error
const c = const AssertArgument.constMiddleSuper(false, 0, 1); // /// 07: compile-time error
const c = const AssertArgument.constMultiSuper(false, 0, 1); // /// 08: compile-time error
const c = const AssertArgument.constFirst("str", 0, 1); // //# 11: compile-time error
const c = const AssertArgument.constLast("str", 0, 1); // //# 12: compile-time error
const c = const AssertArgument.constMiddle("str", 0, 1); // //# 13: compile-time error
const c = const AssertArgument.constMulti("str", 0, 1); // //# 14: compile-time error
const c = const AssertArgument.constFirstSuper("str", 0, 1); // //# 15: compile-time error
const c = const AssertArgument.constLastSuper("str", 0, 1); // //# 16: compile-time error
const c = const AssertArgument.constMiddleSuper("str", 0, 1); // //# 17: compile-time error
const c = const AssertArgument.constMultiSuper("str", 0, 1); // //# 18: compile-time error
const c = const AssertArgument.constFirst("str", 0, 1); // /// 11: compile-time error
const c = const AssertArgument.constLast("str", 0, 1); // /// 12: compile-time error
const c = const AssertArgument.constMiddle("str", 0, 1); // /// 13: compile-time error
const c = const AssertArgument.constMulti("str", 0, 1); // /// 14: compile-time error
const c = const AssertArgument.constFirstSuper("str", 0, 1); // /// 15: compile-time error
const c = const AssertArgument.constLastSuper("str", 0, 1); // /// 16: compile-time error
const c = const AssertArgument.constMiddleSuper("str", 0, 1); // /// 17: compile-time error
const c = const AssertArgument.constMultiSuper("str", 0, 1); // /// 18: compile-time error
const c = const AssertCompare.constFirst(3, 2); // //# 21: compile-time error
const c = const AssertCompare.constLast(3, 2); // //# 22: compile-time error
const c = const AssertCompare.constMiddle(3, 2); // //# 23: compile-time error
const c = const AssertCompare.constMulti(3, 2); // //# 24: compile-time error
const c = const AssertCompare.constFirstSuper(3, 2); // //# 25: compile-time error
const c = const AssertCompare.constLastSuper(3, 2); // //# 26: compile-time error
const c = const AssertCompare.constMiddleSuper(3, 2); // //# 27: compile-time error
const c = const AssertCompare.constMultiSuper(3, 2); // //# 28: compile-time error
const c = const AssertCompare.constFirst(3, 2); // /// 21: compile-time error
const c = const AssertCompare.constLast(3, 2); // /// 22: compile-time error
const c = const AssertCompare.constMiddle(3, 2); // /// 23: compile-time error
const c = const AssertCompare.constMulti(3, 2); // /// 24: compile-time error
const c = const AssertCompare.constFirstSuper(3, 2); // /// 25: compile-time error
const c = const AssertCompare.constLastSuper(3, 2); // /// 26: compile-time error
const c = const AssertCompare.constMiddleSuper(3, 2); // /// 27: compile-time error
const c = const AssertCompare.constMultiSuper(3, 2); // /// 28: compile-time error
// Functions not allowed in asserts in const execution.
const c = const AssertArgument.constFirst(kTrue, 0, 1); // //# 31: compile-time error
const c = const AssertArgument.constLast(kTrue, 0, 1); // //# 32: compile-time error
const c = const AssertArgument.constMiddle(kTrue, 0, 1); // //# 33: compile-time error
const c = const AssertArgument.constMulti(kTrue, 0, 1); // //# 34: compile-time error
const c = const AssertArgument.constFirstSuper(kTrue, 0, 1); // //# 35: compile-time error
const c = const AssertArgument.constLastSuper(kTrue, 0, 1); // //# 36: compile-time error
const c = const AssertArgument.constMiddleSuper(kTrue, 0, 1); // //# 37: compile-time error
const c = const AssertArgument.constMultiSuper(kTrue, 0, 1); // //# 38: compile-time error
const c = const AssertArgument.constFirst(kTrue, 0, 1); // /// 31: compile-time error
const c = const AssertArgument.constLast(kTrue, 0, 1); // /// 32: compile-time error
const c = const AssertArgument.constMiddle(kTrue, 0, 1); // /// 33: compile-time error
const c = const AssertArgument.constMulti(kTrue, 0, 1); // /// 34: compile-time error
const c = const AssertArgument.constFirstSuper(kTrue, 0, 1); // /// 35: compile-time error
const c = const AssertArgument.constLastSuper(kTrue, 0, 1); // /// 36: compile-time error
const c = const AssertArgument.constMiddleSuper(kTrue, 0, 1); // /// 37: compile-time error
const c = const AssertArgument.constMultiSuper(kTrue, 0, 1); // /// 38: compile-time error
const cTrue = const TrickCompare(true);
// Value must be integer for potential-const expression to be actually const.
const c = const AssertCompare.constFirst(cTrue, 2); // //# 41: compile-time error
const c = const AssertCompare.constLast(cTrue, 2); // //# 42: compile-time error
const c = const AssertCompare.constMiddle(cTrue, 2); // //# 43: compile-time error
const c = const AssertCompare.constMulti(cTrue, 2); // //# 44: compile-time error
const c = const AssertCompare.constFirstSuper(cTrue, 2); // //# 45: compile-time error
const c = const AssertCompare.constLastSuper(cTrue, 2); // //# 46: compile-time error
const c = const AssertCompare.constMiddleSuper(cTrue, 2); // //# 47: compile-time error
const c = const AssertCompare.constMultiSuper(cTrue, 2); // //# 48: compile-time error
const c = const AssertCompare.constFirst(cTrue, 2); // /// 41: compile-time error
const c = const AssertCompare.constLast(cTrue, 2); // /// 42: compile-time error
const c = const AssertCompare.constMiddle(cTrue, 2); // /// 43: compile-time error
const c = const AssertCompare.constMulti(cTrue, 2); // /// 44: compile-time error
const c = const AssertCompare.constFirstSuper(cTrue, 2); // /// 45: compile-time error
const c = const AssertCompare.constLastSuper(cTrue, 2); // /// 46: compile-time error
const c = const AssertCompare.constMiddleSuper(cTrue, 2); // /// 47: compile-time error
const c = const AssertCompare.constMultiSuper(cTrue, 2); // /// 48: compile-time error
}
+11 -11
View File
@@ -5,28 +5,28 @@
// This test insures that statically initialized variables, fields, and parameters
// report static type warnings.
int a = "String"; // //# 01: static type warning, dynamic type error
int a = "String"; // /// 01: static type warning, dynamic type error
class A {
static const int c = "String"; //# 02: static type warning, checked mode compile-time error
final int d = "String"; //# 03: static type warning, dynamic type error
int e = "String"; //# 04: static type warning, dynamic type error
static const int c = "String"; /// 02: static type warning, checked mode compile-time error
final int d = "String"; /// 03: static type warning, dynamic type error
int e = "String"; /// 04: static type warning, dynamic type error
A() {
int f = "String"; //# 05: static type warning, dynamic type error
int f = "String"; /// 05: static type warning, dynamic type error
}
method([
int // //# 06: static type warning
int // /// 06: static type warning
g = "String"]) {
return g;
}
}
int main() {
var w = a; //# 01: continued
var w = a; /// 01: continued
var x;
x = A.c; // //# 02: continued
x = A.c; // /// 02: continued
var v = new A();
x = v.d; // //# 03: continued
x = v.e; // //# 04: continued
x = v.method(1); //# 06: continued
x = v.d; // /// 03: continued
x = v.e; // /// 04: continued
x = v.method(1); /// 06: continued
}
+4 -4
View File
@@ -11,7 +11,7 @@ noMethod(e) => e is NoSuchMethodError;
class C<T> {
f() {
Expect.throws(() => T = null, noMethod); //# 01: static type warning
Expect.throws(() => T = null, noMethod); /// 01: static type warning
}
}
@@ -23,7 +23,7 @@ typedef void F();
main() {
new C<D>().f();
Expect.throws(() => D = null, noMethod); //# 02: static type warning
Expect.throws(() => E = null, noMethod); //# 03: static type warning
Expect.throws(() => F = null, noMethod); //# 04: static type warning
Expect.throws(() => D = null, noMethod); /// 02: static type warning
Expect.throws(() => E = null, noMethod); /// 03: static type warning
Expect.throws(() => F = null, noMethod); /// 04: static type warning
}
+2 -2
View File
@@ -8,6 +8,6 @@ method() { return 0; }
main() {
// Illegal, can't change a top level method
Expect.throws(() { method = () { return 1; }; }, // //# 01: static type warning
(e) => e is NoSuchMethodError); // //# 01: continued
Expect.throws(() { method = () { return 1; }; }, // /// 01: static type warning
(e) => e is NoSuchMethodError); // /// 01: continued
}
+16 -16
View File
@@ -13,32 +13,32 @@ var tl_static_var = 0;
main() {
tl_static_var = 0;
(tl_static_var) = 0; // //# 01: compile-time error
(tl_static_var)++; // //# 02: compile-time error
++(tl_static_var); // //# 03: compile-time error
(tl_static_var) = 0; // /// 01: compile-time error
(tl_static_var)++; // /// 02: compile-time error
++(tl_static_var); // /// 03: compile-time error
C.static_field = 0;
(C.static_field) = 0; // //# 11: compile-time error
(C.static_field)++; // //# 12: compile-time error
++(C.static_field); // //# 13: compile-time error
(C.static_field) = 0; // /// 11: compile-time error
(C.static_field)++; // /// 12: compile-time error
++(C.static_field); // /// 13: compile-time error
tl_static_var = [1, 2, 3];
tl_static_var[0] = 0;
(tl_static_var)[0] = 0;
(tl_static_var[0]) = 0; // //# 21: compile-time error
(tl_static_var[0])++; // //# 22: compile-time error
++(tl_static_var[0]); // //# 23: compile-time error
(tl_static_var[0]) = 0; // /// 21: compile-time error
(tl_static_var[0])++; // /// 22: compile-time error
++(tl_static_var[0]); // /// 23: compile-time error
C.static_field = [1, 2, 3];
(C.static_field[0]) = 0; // //# 31: compile-time error
(C.static_field[0])++; // //# 32: compile-time error
++(C.static_field[0]); // //# 33: compile-time error
(C.static_field[0]) = 0; // /// 31: compile-time error
(C.static_field[0])++; // /// 32: compile-time error
++(C.static_field[0]); // /// 33: compile-time error
var a = 0;
(a) = 0; // //# 41: compile-time error
(a)++; // //# 42: compile-time error
++(a); // //# 43: compile-time error
(a) = 0; // /// 41: compile-time error
(a)++; // /// 42: compile-time error
++(a); // /// 43: compile-time error
// Neat palindrome expression. x is assignable, ((x)) is not.
var funcnuf = (x) => ((x))=((x)) <= (x); // //# 50: compile-time error
var funcnuf = (x) => ((x))=((x)) <= (x); // /// 50: compile-time error
}
+253 -253
View File
@@ -10,292 +10,292 @@ var yield = 0;
var await = 0;
get st => new Stream.fromIterable([]);
a01a() async => null; // //# a01a: ok
a01b() async* => null; // //# a01b: compile-time error
a01c() sync* => null; // //# a01c: compile-time error
a01d() async => yield 5; // //# a01d: compile-time error
a02a() async {} // //# a02a: ok
a03a() async* {} // //# a03a: ok
a03b() async * {} // //# a03b: ok
a04a() sync* {} // //# a04a: ok
a04b() sync {} // //# a04b: compile-time error
a04c() sync * {} // //# a04c: ok
a05a() async { await 0; } // //# a05a: ok
a05b() async { // //# a05b: ok
await(a) {}; // //# a05b: continued
await(0); // //# a05b: continued
} // //# a05b: continued
a05c() { // //# a05c: ok
await(a) {}; // //# a05c: continued
await(0); // //# a05c: continued
} // //# a05c: continued
a05d() async { // //# a05d: compile-time error
await(a) {} // //# a05d: continued
await(0); // //# a05d: continued
} // //# a05d: continued
a05e() { // //# a05e: ok
await(a) {} // //# a05e: continued
await(0); // //# a05e: continued
} // //# a05e: continued
a05f() async { // //# a05f: compile-time error
var await = (a) {}; // //# a05f: continued
await(0); // //# a05f: continued
} // //# a05f: continued
a05g() async { // //# a05g: continued
yield 5; // //# a05g: compile-time error
} // //# a05g: continued
a05h() async { // //# a05h: continued
yield* st; // //# a05h: compile-time error
} // //# a05h: continued
a06a() async { await for (var o in st) {} } // //# a06a: ok
a06b() sync* { await for (var o in st) {} } // //# a06b: compile-time error
a07a() sync* { yield 0; } // //# a07a: ok
a07b() sync { yield 0; } // //# a07b: compile-time error
a08a() sync* { yield* []; } // //# a08a: ok
a08b() sync { yield 0; } // //# a08b: compile-time error
a09a() async* { yield 0; } // //# a09a: ok
a10a() async* { yield* []; } // //# a10a: static type warning
a01a() async => null; // /// a01a: ok
a01b() async* => null; // /// a01b: compile-time error
a01c() sync* => null; // /// a01c: compile-time error
a01d() async => yield 5; // /// a01d: compile-time error
a02a() async {} // /// a02a: ok
a03a() async* {} // /// a03a: ok
a03b() async * {} // /// a03b: ok
a04a() sync* {} // /// a04a: ok
a04b() sync {} // /// a04b: compile-time error
a04c() sync * {} // /// a04c: ok
a05a() async { await 0; } // /// a05a: ok
a05b() async { // /// a05b: ok
await(a) {}; // /// a05b: continued
await(0); // /// a05b: continued
} // /// a05b: continued
a05c() { // /// a05c: ok
await(a) {}; // /// a05c: continued
await(0); // /// a05c: continued
} // /// a05c: continued
a05d() async { // /// a05d: compile-time error
await(a) {} // /// a05d: continued
await(0); // /// a05d: continued
} // /// a05d: continued
a05e() { // /// a05e: ok
await(a) {} // /// a05e: continued
await(0); // /// a05e: continued
} // /// a05e: continued
a05f() async { // /// a05f: compile-time error
var await = (a) {}; // /// a05f: continued
await(0); // /// a05f: continued
} // /// a05f: continued
a05g() async { // /// a05g: continued
yield 5; // /// a05g: compile-time error
} // /// a05g: continued
a05h() async { // /// a05h: continued
yield* st; // /// a05h: compile-time error
} // /// a05h: continued
a06a() async { await for (var o in st) {} } // /// a06a: ok
a06b() sync* { await for (var o in st) {} } // /// a06b: compile-time error
a07a() sync* { yield 0; } // /// a07a: ok
a07b() sync { yield 0; } // /// a07b: compile-time error
a08a() sync* { yield* []; } // /// a08a: ok
a08b() sync { yield 0; } // /// a08b: compile-time error
a09a() async* { yield 0; } // /// a09a: ok
a10a() async* { yield* []; } // /// a10a: static type warning
get sync sync {} // //# a11a: compile-time error
get sync sync* {} // //# a11b: ok
get async async {} // //# a11c: ok
get async async* {} // //# a11d: ok
get sync sync {} // /// a11a: compile-time error
get sync sync* {} // /// a11b: ok
get async async {} // /// a11c: ok
get async async* {} // /// a11d: ok
get sync {} // //# a12a: ok
get sync* {} // //# a12b: compile-time error
get async {} // //# a12c: ok
get async* {} // //# a12d: compile-time error
get a12e sync* => null; // //# a12e: compile-time error
get a12f async* => null; // //# a12f: compile-time error
get a12g async => null; // //# a12g: ok
get sync {} // /// a12a: ok
get sync* {} // /// a12b: compile-time error
get async {} // /// a12c: ok
get async* {} // /// a12d: compile-time error
get a12e sync* => null; // /// a12e: compile-time error
get a12f async* => null; // /// a12f: compile-time error
get a12g async => null; // /// a12g: ok
int sync; // //# a13a: ok
int sync*; // //# a13b: compile-time error
int async; // //# a13c: ok
int async*; // //# a13d: compile-time error
int sync; // /// a13a: ok
int sync*; // /// a13b: compile-time error
int async; // /// a13c: ok
int async*; // /// a13d: compile-time error
var sync; // //# a14a: ok
var sync*; // //# a14b: compile-time error
var async; // //# a14c: ok
var async*; // //# a14d: compile-time error
var sync; // /// a14a: ok
var sync*; // /// a14b: compile-time error
var async; // /// a14c: ok
var async*; // /// a14d: compile-time error
sync() {} // //# a15a: ok
sync*() {} // //# a15b: compile-time error
async() {} // //# a15c: ok
async*() {} // //# a15d: compile-time error
sync() {} // /// a15a: ok
sync*() {} // /// a15b: compile-time error
async() {} // /// a15c: ok
async*() {} // /// a15d: compile-time error
abstract class B {
b00a() async; // //# b00a: compile-time error
b00b() async*; // //# b00b: compile-time error
b00c() sync*; // //# b00c: compile-time error
b00d() sync; // //# b00d: compile-time error
b00a() async; // /// b00a: compile-time error
b00b() async*; // /// b00b: compile-time error
b00c() sync*; // /// b00c: compile-time error
b00d() sync; // /// b00d: compile-time error
}
class C extends B {
C();
factory C.e1() async { return null; } // //# e1: compile-time error
factory C.e2() async* { return null; } // //# e2: compile-time error
factory C.e3() sync* { return null; } // //# e3: compile-time error
factory C.e4() async = C; // //# e4: compile-time error
factory C.e5() async* = C; // //# e5: compile-time error
factory C.e6() sync* = C; // //# e6: compile-time error
C.e7() async {} // //# e7: compile-time error
C.e8() async* {} // //# e8: compile-time error
C.e9() sync* {} // //# e9: compile-time error
factory C.e1() async { return null; } // /// e1: compile-time error
factory C.e2() async* { return null; } // /// e2: compile-time error
factory C.e3() sync* { return null; } // /// e3: compile-time error
factory C.e4() async = C; // /// e4: compile-time error
factory C.e5() async* = C; // /// e5: compile-time error
factory C.e6() sync* = C; // /// e6: compile-time error
C.e7() async {} // /// e7: compile-time error
C.e8() async* {} // /// e8: compile-time error
C.e9() sync* {} // /// e9: compile-time error
b00a() {} // //# b00a: continued
b00b() {} // //# b00b: continued
b00c() {} // //# b00c: continued
b00d() {} // //# b00d: continued
b00a() {} // /// b00a: continued
b00b() {} // /// b00b: continued
b00c() {} // /// b00c: continued
b00d() {} // /// b00d: continued
b01a() async => null; // //# b01a: ok
b01b() async* => null; // //# b01b: compile-time error
b01c() sync* => null; // //# b01c: compile-time error
b02a() async {} // //# b02a: ok
b03a() async* {} // //# b03a: ok
b04a() sync* {} // //# b04a: ok
b04b() sync {} // //# b04b: compile-time error
b05a() async { await 0; } // //# b05a: ok
b06a() async { await for (var o in st) {} } // //# b06a: ok
b06b() async { await for ( ; ; ) {} } // //# b06b: compile-time error
b07a() sync* { yield 0; } // //# b07a: ok
b08a() sync* { yield* []; } // //# b08a: ok
b09a() async* { yield 0; } // //# b09a: ok
b10a() async* { yield* []; } // //# b10a: static type warning
b10b() async { yield 0; } // //# b10b: compile-time error
b01a() async => null; // /// b01a: ok
b01b() async* => null; // /// b01b: compile-time error
b01c() sync* => null; // /// b01c: compile-time error
b02a() async {} // /// b02a: ok
b03a() async* {} // /// b03a: ok
b04a() sync* {} // /// b04a: ok
b04b() sync {} // /// b04b: compile-time error
b05a() async { await 0; } // /// b05a: ok
b06a() async { await for (var o in st) {} } // /// b06a: ok
b06b() async { await for ( ; ; ) {} } // /// b06b: compile-time error
b07a() sync* { yield 0; } // /// b07a: ok
b08a() sync* { yield* []; } // /// b08a: ok
b09a() async* { yield 0; } // /// b09a: ok
b10a() async* { yield* []; } // /// b10a: static type warning
b10b() async { yield 0; } // /// b10b: compile-time error
get sync sync {} // //# b11a: compile-time error
get sync sync* {} // //# b11b: ok
get async async {} // //# b11c: ok
get async async* {} // //# b11d: ok
get sync sync {} // /// b11a: compile-time error
get sync sync* {} // /// b11b: ok
get async async {} // /// b11c: ok
get async async* {} // /// b11d: ok
get sync {} // //# b12a: ok
get sync* {} // //# b12b: compile-time error
get async {} // //# b12c: ok
get async* {} // //# b12d: compile-time error
get b12e sync* => null; // //# b12e: compile-time error
get b12f async* => null; // //# b12f: compile-time error
get b12g async => null; // //# b12g: ok
get sync {} // /// b12a: ok
get sync* {} // /// b12b: compile-time error
get async {} // /// b12c: ok
get async* {} // /// b12d: compile-time error
get b12e sync* => null; // /// b12e: compile-time error
get b12f async* => null; // /// b12f: compile-time error
get b12g async => null; // /// b12g: ok
int sync; // //# b13a: ok
int sync*; // //# b13b: compile-time error
int async; // //# b13c: ok
int async*; // //# b13d: compile-time error
int sync; // /// b13a: ok
int sync*; // /// b13b: compile-time error
int async; // /// b13c: ok
int async*; // /// b13d: compile-time error
var sync; // //# b14a: ok
var sync*; // //# b14b: compile-time error
var async; // //# b14c: ok
var async*; // //# b14d: compile-time error
var sync; // /// b14a: ok
var sync*; // /// b14b: compile-time error
var async; // /// b14c: ok
var async*; // /// b14d: compile-time error
sync() {} // //# b15a: ok
sync*() {} // //# b15b: compile-time error
async() {} // //# b15c: ok
async*() {} // //# b15d: compile-time error
sync() {} // /// b15a: ok
sync*() {} // /// b15b: compile-time error
async() {} // /// b15c: ok
async*() {} // /// b15d: compile-time error
}
method1() {
c01a() async => null; c01a(); // //# c01a: ok
c01b() async* => null; c01b(); // //# c01b: compile-time error
c01c() sync* => null; c01c(); // //# c01c: compile-time error
c02a() async {} c02a(); // //# c02a: ok
c03a() async* {} c03a(); // //# c03a: ok
c04a() sync* {} c04a(); // //# c04a: ok
c04b() sync {} c04b(); // //# c04b: compile-time error
c05a() async { await 0; } c05a(); // //# c05a: ok
c06a() async { await for (var o in st) {} } c06a(); // //# c06a: ok
c07a() sync* { yield 0; } c07a(); // //# c07a: ok
c08a() sync* { yield* []; } c08a(); // //# c08a: ok
c09a() async* { yield 0; } c09a(); // //# c09a: ok
c10a() async* { yield* []; } c10a(); // //# c10a: static type warning
c11a() async { yield -5; } c11a(); // //# c11a: compile-time error
c11b() async { yield* st; } c11b(); // //# c11b: compile-time error
c01a() async => null; c01a(); // /// c01a: ok
c01b() async* => null; c01b(); // /// c01b: compile-time error
c01c() sync* => null; c01c(); // /// c01c: compile-time error
c02a() async {} c02a(); // /// c02a: ok
c03a() async* {} c03a(); // /// c03a: ok
c04a() sync* {} c04a(); // /// c04a: ok
c04b() sync {} c04b(); // /// c04b: compile-time error
c05a() async { await 0; } c05a(); // /// c05a: ok
c06a() async { await for (var o in st) {} } c06a(); // /// c06a: ok
c07a() sync* { yield 0; } c07a(); // /// c07a: ok
c08a() sync* { yield* []; } c08a(); // /// c08a: ok
c09a() async* { yield 0; } c09a(); // /// c09a: ok
c10a() async* { yield* []; } c10a(); // /// c10a: static type warning
c11a() async { yield -5; } c11a(); // /// c11a: compile-time error
c11b() async { yield* st; } c11b(); // /// c11b: compile-time error
}
method2() {
var d01a = () async => null; d01a(); // //# d01a: ok
var d01b = () async* => null; d01b(); // //# d01b: compile-time error
var d01c = () sync* => null; d01c(); // //# d01c: compile-time error
var d02a = () async {}; d02a(); // //# d02a: ok
var d03a = () async* {}; d03a(); // //# d03a: ok
var d04a = () sync* {}; d04a(); // //# d04a: ok
var d04b = () sync {}; d04b(); // //# d04b: compile-time error
var d05a = () async { await 0; }; d05a(); // //# d05a: ok
var d06a = () async { await for (var o in st) {} }; d06a(); // //# d06a: ok
var d07a = () sync* { yield 0; }; d07a(); // //# d07a: ok
var d08a = () sync* { yield* []; }; d08a(); // //# d08a: ok
var d08b = () sync* { yield*0+1; }; d08b(); // //# d08b: static type warning
var d08c = () { yield*0+1; }; d08c(); // //# d08c: ok
var d09a = () async* { yield 0; }; d09a(); // //# d09a: ok
var d10a = () async* { yield* []; }; d10a(); // //# d10a: static type warning
var d01a = () async => null; d01a(); // /// d01a: ok
var d01b = () async* => null; d01b(); // /// d01b: compile-time error
var d01c = () sync* => null; d01c(); // /// d01c: compile-time error
var d02a = () async {}; d02a(); // /// d02a: ok
var d03a = () async* {}; d03a(); // /// d03a: ok
var d04a = () sync* {}; d04a(); // /// d04a: ok
var d04b = () sync {}; d04b(); // /// d04b: compile-time error
var d05a = () async { await 0; }; d05a(); // /// d05a: ok
var d06a = () async { await for (var o in st) {} }; d06a(); // /// d06a: ok
var d07a = () sync* { yield 0; }; d07a(); // /// d07a: ok
var d08a = () sync* { yield* []; }; d08a(); // /// d08a: ok
var d08b = () sync* { yield*0+1; }; d08b(); // /// d08b: static type warning
var d08c = () { yield*0+1; }; d08c(); // /// d08c: ok
var d09a = () async* { yield 0; }; d09a(); // /// d09a: ok
var d10a = () async* { yield* []; }; d10a(); // /// d10a: static type warning
}
void main() {
var a;
var c = new C();
c = new C.e1(); //# e1: continued
c = new C.e2(); //# e2: continued
c = new C.e3(); //# e3: continued
c = new C.e4(); //# e4: continued
c = new C.e5(); //# e5: continued
c = new C.e6(); //# e6: continued
c = new C.e7(); //# e7: continued
c = new C.e8(); //# e8: continued
c = new C.e9(); //# e9: continued
c = new C.e1(); /// e1: continued
c = new C.e2(); /// e2: continued
c = new C.e3(); /// e3: continued
c = new C.e4(); /// e4: continued
c = new C.e5(); /// e5: continued
c = new C.e6(); /// e6: continued
c = new C.e7(); /// e7: continued
c = new C.e8(); /// e8: continued
c = new C.e9(); /// e9: continued
a01a(); // //# a01a: continued
a01b(); // //# a01b: continued
a01c(); // //# a01c: continued
a01d(); // //# a01d: continued
a02a(); // //# a02a: continued
a03a(); // //# a03a: continued
a03b(); // //# a03b: continued
a04a(); // //# a04a: continued
a04b(); // //# a04b: continued
a04c(); // //# a04c: continued
a05a(); // //# a05a: continued
a05b(); // //# a05b: continued
a05c(); // //# a05c: continued
a05d(); // //# a05d: continued
a05e(); // //# a05e: continued
a05f(); // //# a05f: continued
a05g(); // //# a05g: continued
a05h(); // //# a05h: continued
a06a(); // //# a06a: continued
a06b(); // //# a06b: continued
a07a(); // //# a07a: continued
a07b(); // //# a07b: continued
a08a(); // //# a08a: continued
a08b(); // //# a08b: continued
a09a(); // //# a09a: continued
a10a(); // //# a10a: continued
a = sync; // //# a11a: continued
a = sync; // //# a11b: continued
a = async; // //# a11c: continued
a = async; // //# a11d: continued
a = sync; // //# a12a: continued
a = sync; // //# a12b: continued
a = async; // //# a12c: continued
a = async; // //# a12d: continued
a = a12e; // //# a12e: continued
a = a12f; // //# a12f: continued
a = a12g; // //# a12g: continued
a = sync; // //# a13a: continued
a = sync; // //# a13b: continued
a = async; // //# a13c: continued
a = async; // //# a13d: continued
a = sync; // //# a14a: continued
a = sync; // //# a14b: continued
a = async; // //# a14c: continued
a = async; // //# a14d: continued
sync(); // //# a15a: continued
sync(); // //# a15b: continued
async(); // //# a15c: continued
async(); // //# a15d: continued
a01a(); // /// a01a: continued
a01b(); // /// a01b: continued
a01c(); // /// a01c: continued
a01d(); // /// a01d: continued
a02a(); // /// a02a: continued
a03a(); // /// a03a: continued
a03b(); // /// a03b: continued
a04a(); // /// a04a: continued
a04b(); // /// a04b: continued
a04c(); // /// a04c: continued
a05a(); // /// a05a: continued
a05b(); // /// a05b: continued
a05c(); // /// a05c: continued
a05d(); // /// a05d: continued
a05e(); // /// a05e: continued
a05f(); // /// a05f: continued
a05g(); // /// a05g: continued
a05h(); // /// a05h: continued
a06a(); // /// a06a: continued
a06b(); // /// a06b: continued
a07a(); // /// a07a: continued
a07b(); // /// a07b: continued
a08a(); // /// a08a: continued
a08b(); // /// a08b: continued
a09a(); // /// a09a: continued
a10a(); // /// a10a: continued
a = sync; // /// a11a: continued
a = sync; // /// a11b: continued
a = async; // /// a11c: continued
a = async; // /// a11d: continued
a = sync; // /// a12a: continued
a = sync; // /// a12b: continued
a = async; // /// a12c: continued
a = async; // /// a12d: continued
a = a12e; // /// a12e: continued
a = a12f; // /// a12f: continued
a = a12g; // /// a12g: continued
a = sync; // /// a13a: continued
a = sync; // /// a13b: continued
a = async; // /// a13c: continued
a = async; // /// a13d: continued
a = sync; // /// a14a: continued
a = sync; // /// a14b: continued
a = async; // /// a14c: continued
a = async; // /// a14d: continued
sync(); // /// a15a: continued
sync(); // /// a15b: continued
async(); // /// a15c: continued
async(); // /// a15d: continued
c.b00a(); // //# b00a: continued
c.b00b(); // //# b00b: continued
c.b00c(); // //# b00c: continued
c.b00d(); // //# b00d: continued
c.b01a(); // //# b01a: continued
c.b01b(); // //# b01b: continued
c.b01c(); // //# b01c: continued
c.b02a(); // //# b02a: continued
c.b03a(); // //# b03a: continued
c.b04a(); // //# b04a: continued
c.b04b(); // //# b04b: continued
c.b05a(); // //# b05a: continued
c.b06a(); // //# b06a: continued
c.b06b(); // //# b06b: continued
c.b07a(); // //# b07a: continued
c.b08a(); // //# b08a: continued
c.b09a(); // //# b09a: continued
c.b10a(); // //# b10a: continued
c.b10b(); // //# b10b: continued
a = c.sync; // //# b11a: continued
a = c.sync; // //# b11b: continued
a = c.async; // //# b11c: continued
a = c.async; // //# b11d: continued
a = c.sync; // //# b12a: continued
a = c.sync; // //# b12b: continued
a = c.async; // //# b12c: continued
a = c.async; // //# b12d: continued
a = c.b12e; // //# b12e: continued
a = c.b12f; // //# b12f: continued
a = c.b12g; // //# b12g: continued
a = c.sync; // //# b13a: continued
a = c.sync; // //# b13b: continued
a = c.async; // //# b13c: continued
a = c.async; // //# b13d: continued
a = c.sync; // //# b14a: continued
a = c.sync; // //# b14b: continued
a = c.async; // //# b14c: continued
a = c.async; // //# b14d: continued
c.sync(); // //# b15a: continued
c.sync(); // //# b15b: continued
c.async(); // //# b15c: continued
c.async(); // //# b15d: continued
c.b00a(); // /// b00a: continued
c.b00b(); // /// b00b: continued
c.b00c(); // /// b00c: continued
c.b00d(); // /// b00d: continued
c.b01a(); // /// b01a: continued
c.b01b(); // /// b01b: continued
c.b01c(); // /// b01c: continued
c.b02a(); // /// b02a: continued
c.b03a(); // /// b03a: continued
c.b04a(); // /// b04a: continued
c.b04b(); // /// b04b: continued
c.b05a(); // /// b05a: continued
c.b06a(); // /// b06a: continued
c.b06b(); // /// b06b: continued
c.b07a(); // /// b07a: continued
c.b08a(); // /// b08a: continued
c.b09a(); // /// b09a: continued
c.b10a(); // /// b10a: continued
c.b10b(); // /// b10b: continued
a = c.sync; // /// b11a: continued
a = c.sync; // /// b11b: continued
a = c.async; // /// b11c: continued
a = c.async; // /// b11d: continued
a = c.sync; // /// b12a: continued
a = c.sync; // /// b12b: continued
a = c.async; // /// b12c: continued
a = c.async; // /// b12d: continued
a = c.b12e; // /// b12e: continued
a = c.b12f; // /// b12f: continued
a = c.b12g; // /// b12g: continued
a = c.sync; // /// b13a: continued
a = c.sync; // /// b13b: continued
a = c.async; // /// b13c: continued
a = c.async; // /// b13d: continued
a = c.sync; // /// b14a: continued
a = c.sync; // /// b14b: continued
a = c.async; // /// b14c: continued
a = c.async; // /// b14d: continued
c.sync(); // /// b15a: continued
c.sync(); // /// b15b: continued
c.async(); // /// b15c: continued
c.async(); // /// b15d: continued
method1();
method2();
+16 -16
View File
@@ -10,14 +10,14 @@ test1() async {
var r = 0;
label:
for(var i = 1, j =
await //# await_in_init: ok
await /// await_in_init: ok
10; i < 10 && j >
await //# await_in_condition: ok
await /// await_in_condition: ok
-5; j--, i +=
await //# await_in_update: ok
await /// await_in_update: ok
1) {
if (i <
await //# await_in_body: ok
await /// await_in_body: ok
5 || j < -5) {
continue label;
}
@@ -31,14 +31,14 @@ test2() async {
var r = 0;
label:
for(var i =
await //# await_in_init: ok
await /// await_in_init: ok
0; i <
await //# await_in_condition: ok
await /// await_in_condition: ok
10; i +=
await //# await_in_update: ok
await /// await_in_update: ok
1) {
if (i <
await //# await_in_body: ok
await /// await_in_body: ok
5) {
continue label;
}
@@ -52,14 +52,14 @@ test3() async {
var r = 0, i, j;
label:
for(i =
await //# await_in_init: ok
await /// await_in_init: ok
0; i <
await //# await_in_condition: ok
await /// await_in_condition: ok
10; i +=
await //# await_in_update: ok
await /// await_in_update: ok
1) {
if (i <
await //# await_in_body: ok
await /// await_in_body: ok
5) {
continue label;
}
@@ -73,14 +73,14 @@ test4() async {
var r = 0;
label:
for(var i =
await //# await_in_init: ok
await /// await_in_init: ok
0; i <
await //# await_in_condition: ok
await /// await_in_condition: ok
10; i+=
await //# await_in_update: ok
await /// await_in_update: ok
1) {
if (i <
await //# await_in_body: ok
await /// await_in_body: ok
5) {
for (int i = 0; i < 10; i++) {
continue label;
@@ -4,13 +4,13 @@
import "package:expect/expect.dart";
void badReturnTypeAsync() async {} // //# 01: static type warning
void badReturnTypeAsyncStar() async* {} // //# 02: static type warning
void badReturnTypeSyncStar() sync* {} // //# 03: static type warning
void badReturnTypeAsync() async {} // /// 01: static type warning
void badReturnTypeAsyncStar() async* {} // /// 02: static type warning
void badReturnTypeSyncStar() sync* {} // /// 03: static type warning
main() {
try {
badReturnTypeAsync(); // //# 01: continued
badReturnTypeAsync(); // /// 01: continued
} catch(e, st) {
Expect.isTrue(e is TypeError, "wrong exception type");
Expect.isTrue(st.toString().contains("badReturnTypeAsync"),
@@ -18,7 +18,7 @@ main() {
}
try {
badReturnTypeAsyncStar(); // //# 02: continued
badReturnTypeAsyncStar(); // /// 02: continued
} catch(e, st) {
Expect.isTrue(e is TypeError, "wrong exception type");
Expect.isTrue(st.toString().contains("badReturnTypeAsyncStar"),
@@ -26,7 +26,7 @@ main() {
}
try {
badReturnTypeSyncStar(); // //# 03: continued
badReturnTypeSyncStar(); // /// 03: continued
} catch(e, st) {
Expect.isTrue(e is TypeError, "wrong exception type");
Expect.isTrue(st.toString().contains("badReturnTypeSyncStar"),
+6 -6
View File
@@ -14,18 +14,18 @@ Future<int> foo2() async {
return 3;
}
Future<int> //# wrongTypeParameter: static type warning, dynamic type error
Future<int> /// wrongTypeParameter: static type warning, dynamic type error
foo3() async {
return "String";
}
// Future<int, String> is treated like Future<dynamic>
Future<int, String> //# tooManyTypeParameters: static type warning
Future<int, String> /// tooManyTypeParameters: static type warning
foo4() async {
return "String";
}
int //# wrongReturnType: static type warning, dynamic type error
int /// wrongReturnType: static type warning, dynamic type error
foo5() async {
return 3;
}
@@ -35,7 +35,7 @@ Future<int> foo6() async {
return new Future<int>.value(3);
}
Future<Future<int>> //# nestedFuture: static type warning, dynamic type error
Future<Future<int>> /// nestedFuture: static type warning, dynamic type error
foo7() async {
return new Future<int>.value(3);
}
@@ -45,7 +45,7 @@ Iterable<int> foo8() sync* {
yield 1;
// Can only have valueless return in sync* functions.
return
8 //# return_value_sync_star: compile-time error
8 /// return_value_sync_star: compile-time error
;
}
@@ -53,7 +53,7 @@ Stream<int> foo9() async* {
yield 1;
// Can only have valueless return in async* functions.
return
8 //# return_value_sync_star: compile-time error
8 /// return_value_sync_star: compile-time error
;
}
+12 -12
View File
@@ -16,7 +16,7 @@ foo1(a) async {
case 2:
k += a;
return k+2;
default: k = 2; //# withDefault: ok
default: k = 2; /// withDefault: ok
}
return k;
}
@@ -31,7 +31,7 @@ foo2(a) async {
case 2:
k += await a;
return k+2;
default: k = 2; //# withDefault: ok
default: k = 2; /// withDefault: ok
}
return k;
}
@@ -45,7 +45,7 @@ foo3(a) async {
case 2:
k += a;
return k+2;
default: k = 2; //# withDefault: ok
default: k = 2; /// withDefault: ok
}
return k;
}
@@ -59,7 +59,7 @@ foo4(value) async {
case 2:
k += 2;
return 2 + k;
default: k = 2; //# withDefault: ok
default: k = 2; /// withDefault: ok
}
return k;
}
@@ -69,20 +69,20 @@ futureOf(a) async => await a;
test() async {
Expect.equals(1, await foo1(1));
Expect.equals(4, await foo1(2));
Expect.equals(2, await foo1(3)); //# withDefault: ok
Expect.equals(0, await foo1(3)); //# none: ok
Expect.equals(2, await foo1(3)); /// withDefault: ok
Expect.equals(0, await foo1(3)); /// none: ok
Expect.equals(1, await foo2(futureOf(1)));
Expect.equals(4, await foo2(futureOf(2)));
Expect.equals(2, await foo2(futureOf(3))); //# withDefault: ok
Expect.equals(0, await foo2(futureOf(3))); //# none: ok
Expect.equals(2, await foo2(futureOf(3))); /// withDefault: ok
Expect.equals(0, await foo2(futureOf(3))); /// none: ok
Expect.equals(1, await foo3(1));
Expect.equals(4, await foo3(2));
Expect.equals(2, await foo3(3)); //# withDefault: ok
Expect.equals(0, await foo3(3)); //# none: ok
Expect.equals(2, await foo3(3)); /// withDefault: ok
Expect.equals(0, await foo3(3)); /// none: ok
Expect.equals(1, await foo4(futureOf(1)));
Expect.equals(4, await foo4(futureOf(2)));
Expect.equals(2, await foo4(futureOf(3))); //# withDefault: ok
Expect.equals(0, await foo4(futureOf(3))); //# none: ok
Expect.equals(2, await foo4(futureOf(3))); /// withDefault: ok
Expect.equals(0, await foo4(futureOf(3))); /// none: ok
}
void main() {
+19 -19
View File
@@ -13,7 +13,7 @@ Future<int> topLevelWithParameter(int a) async {
return 7 + a;
}
int //# type-mismatch2: static type warning, dynamic type error
int /// type-mismatch2: static type warning, dynamic type error
topLevelWithParameterWrongType(int a) async {
return 7 + a;
}
@@ -32,11 +32,11 @@ class A {
int _x;
A(this._x);
A.fail() async; // //# constructor2: compile-time error
factory A.create() async {return null; } //# constructor3: compile-time error
A.fail() async; // /// constructor2: compile-time error
factory A.create() async {return null; } /// constructor3: compile-time error
int someMethod(int param1, int param2, int param3) async => _x + param2; //# type-mismatch3: static type warning, dynamic type error
int get getter async { return 5 + _x; } //# type-mismatch4: static type warning, dynamic type error
int someMethod(int param1, int param2, int param3) async => _x + param2; /// type-mismatch3: static type warning, dynamic type error
int get getter async { return 5 + _x; } /// type-mismatch4: static type warning, dynamic type error
operator+(A other) async {
return new A(_x + other._x);
}
@@ -47,11 +47,11 @@ class A {
class B {
final _y;
const B._internal(this._y);
const factory B.createConst(int y) async = A._internal; // //# constructor4: compile-time error
const factory B.createConst(int y) async = A._internal; // /// constructor4: compile-time error
B() : _y = null;
set dontDoThat(value) async {} // //# setter1: compile-time error
set dontDoThat(value) async {} // /// setter1: compile-time error
}
@@ -61,8 +61,8 @@ main() {
asyncReturn = topLevelFunction();
Expect.isTrue(asyncReturn is Future);
int a1 = topLevelWithParameter(2); // //# type-mismatch1: static type warning, dynamic type error
int a2 = topLevelWithParameterWrongType(2); // //# type-mismatch2: continued
int a1 = topLevelWithParameter(2); // /// type-mismatch1: static type warning, dynamic type error
int a2 = topLevelWithParameterWrongType(2); // /// type-mismatch2: continued
asyncReturn = topLevelWithParameter(4);
Expect.isTrue(asyncReturn is Future);
asyncReturn.then((int result) => Expect.equals(result, 11));
@@ -82,13 +82,13 @@ main() {
A a = new A(13);
asyncReturn = a.someMethod(1,2,3); // //# type-mismatch3: continued
Expect.isTrue(asyncReturn is Future); // //# type-mismatch3: continued
asyncReturn.then((int result) => Expect.equals(result, 15)); // //# type-mismatch3: continued
asyncReturn = a.someMethod(1,2,3); // /// type-mismatch3: continued
Expect.isTrue(asyncReturn is Future); // /// type-mismatch3: continued
asyncReturn.then((int result) => Expect.equals(result, 15)); // /// type-mismatch3: continued
asyncReturn = a.getter; // //# type-mismatch4: continued
Expect.isTrue(asyncReturn is Future); // //# type-mismatch4: continued
asyncReturn.then((int result) => Expect.equals(result, 18)); // //# type-mismatch4: continued
asyncReturn = a.getter; // /// type-mismatch4: continued
Expect.isTrue(asyncReturn is Future); // /// type-mismatch4: continued
asyncReturn.then((int result) => Expect.equals(result, 18)); // /// type-mismatch4: continued
var b = new A(9);
asyncReturn = a + b;
@@ -115,9 +115,9 @@ main() {
Expect.isTrue(asyncReturn is Future);
asyncReturn.then((int result) => Expect.equals(result, 28));
var b1 = const B.createConst(4); // //# constructor4: compile-time error
var b1 = const B.createConst(4); // /// constructor4: compile-time error
var b2 = new B();
b2.dontDoThat = 4; // //# setter1: compile-time error
b2.dontDoThat = 4; // /// setter1: compile-time error
var checkAsync = (var someFunc) {
var toTest = someFunc();
@@ -126,6 +126,6 @@ main() {
};
checkAsync(() async => 4);
new A.fail(); //# constructor2: continued
new A.create(); //# constructor3: continued
new A.fail(); /// constructor2: continued
new A.create(); /// constructor3: continued
}
+18 -18
View File
@@ -31,7 +31,7 @@ foo1(Tracer tracer) async {
tracer.trace("a");
// This await forces dart2js to rewrite the try into a state machine
// instead of relying on the existing structure.
await new Future.value(3); //# forceAwait: ok
await new Future.value(3); /// forceAwait: ok
tracer.trace("b");
throw "Error";
} catch (error) {
@@ -48,7 +48,7 @@ foo1(Tracer tracer) async {
foo2(Tracer tracer) async {
try {
tracer.trace("a");
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("b");
throw "Error";
tracer.trace("c");
@@ -65,7 +65,7 @@ foo2(Tracer tracer) async {
foo3(Tracer tracer) async {
try {
tracer.trace("a");
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("b");
throw "Error";
tracer.trace("c");
@@ -82,7 +82,7 @@ foo3(Tracer tracer) async {
foo4(Tracer tracer) async {
try {
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("a");
throw "Error";
} catch(error) {
@@ -102,7 +102,7 @@ foo5(Tracer tracer) async {
try {
tracer.trace("a");
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("b");
throw "Error";
} catch(error) {
@@ -120,7 +120,7 @@ foo5(Tracer tracer) async {
foo6(Tracer tracer) async {
try {
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("a");
throw "Error";
} catch(error) {
@@ -141,7 +141,7 @@ foo6(Tracer tracer) async {
foo7(Tracer tracer) async {
try {
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("a");
throw "Error";
} catch(error) {
@@ -161,7 +161,7 @@ foo7(Tracer tracer) async {
foo8(Tracer tracer) async {
try {
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("a");
throw "Error";
} catch(error) {
@@ -182,7 +182,7 @@ foo9(Tracer tracer) async {
try {
while(true) {
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("a");
throw "Error";
} catch(error) {
@@ -212,7 +212,7 @@ foo10(Tracer tracer) async {
} catch (error) {
tracer.trace("b");
try {
await new Future.value(3); // //# forceAwait: continued
await new Future.value(3); // /// forceAwait: continued
throw "Error2";
} catch(error) {
tracer.trace("c");
@@ -245,7 +245,7 @@ foo11(Tracer tracer) async {
tracer.trace("a");
if (firstTime) {
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("b");
throw "Error";
} catch(error) {
@@ -274,7 +274,7 @@ foo12(Tracer tracer) async {
tracer.trace("a");
if (firstTime) {
try {
await new Future.value(3); //# forceAwait: continued
await new Future.value(3); /// forceAwait: continued
tracer.trace("b");
throw "Error";
} catch(error) {
@@ -308,7 +308,7 @@ foo13(Tracer tracer) async {
tracer.trace("c");
try {
try {
await new Future.value(3); // //# forceAwait: continued
await new Future.value(3); // /// forceAwait: continued
tracer.trace("d");
throw "Error";
} finally {
@@ -332,7 +332,7 @@ foo14(Tracer tracer) async {
} catch (error) {
tracer.trace("b");
try {
await new Future.value(3); // //# forceAwait: continued
await new Future.value(3); // /// forceAwait: continued
throw "Error2";
} catch(error) {
tracer.trace("c");
@@ -358,7 +358,7 @@ foo15(Tracer tracer) async {
} catch (error) {
tracer.trace("b");
try {
await new Future.value(3); // //# forceAwait: continued
await new Future.value(3); // /// forceAwait: continued
throw "Error2";
} catch(error) {
tracer.trace("c");
@@ -385,7 +385,7 @@ foo16(Tracer tracer) async {
} catch (error) {
tracer.trace("b");
try {
await new Future.value(3); // //# forceAwait: continued
await new Future.value(3); // /// forceAwait: continued
throw "Error2";
} catch(error) {
tracer.trace("c");
@@ -412,7 +412,7 @@ foo17(Tracer tracer) async {
tracer.trace("b");
throw "Error";
} catch (error) {
await new Future.value(3); // //# forceAwait: continued
await new Future.value(3); // /// forceAwait: continued
Expect.equals("Error", error);
tracer.trace("c");
} finally {
@@ -430,7 +430,7 @@ foo18(Tracer tracer) async {
try {
tracer.trace("b");
} finally {
await new Future.value(3); // //# forceAwait: continued
await new Future.value(3); // /// forceAwait: continued
tracer.trace("c");
}
tracer.trace("d");

Some files were not shown because too many files have changed in this diff Show More