blob: 83b70b9b0d8519771588efc2b7a53d7bc9f1e540 [file] [log] [blame]
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'driver_resolution.dart';
main() {
defineReflectiveSuite(() {
defineReflectiveTests(IfElementTest);
defineReflectiveTests(IfElementWithNnbdTest);
});
}
@reflectiveTest
class IfElementTest extends DriverResolutionTest {
test_condition_rewrite() async {
await assertNoErrorsInCode(r'''
main(bool Function() b) {
<int>[if ( b() ) 0];
}
''');
assertFunctionExpressionInvocation(
findNode.functionExpressionInvocation('b()'),
element: null,
typeArgumentTypes: [],
invokeType: 'bool Function()',
type: 'bool',
);
}
}
@reflectiveTest
class IfElementWithNnbdTest extends IfElementTest {
@override
AnalysisOptionsImpl get analysisOptions => AnalysisOptionsImpl()
..contextFeatures = FeatureSet.forTesting(
sdkVersion: '2.6.0', additionalFeatures: [Feature.non_nullable]);
}