98671b2659
Change-Id: I3d0233cfb4002140af7cf0166cd98466d73d630c Reviewed-on: https://dart-review.googlesource.com/50580 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
115 lines
4.1 KiB
Dart
115 lines
4.1 KiB
Dart
// Copyright (c) 2016, 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/declared_variables.dart';
|
|
import 'package:analyzer/dart/element/type.dart';
|
|
import 'package:analyzer/src/generated/constant.dart';
|
|
import 'package:analyzer/src/generated/testing/test_type_provider.dart';
|
|
import 'package:test/test.dart';
|
|
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
|
|
|
import '../../generated/test_support.dart';
|
|
|
|
main() {
|
|
defineReflectiveSuite(() {
|
|
defineReflectiveTests(DeclaredVariablesTest);
|
|
});
|
|
}
|
|
|
|
@reflectiveTest
|
|
class DeclaredVariablesTest extends EngineTestCase {
|
|
void test_getBool_false() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables =
|
|
new DeclaredVariables.fromMap({variableName: 'false'});
|
|
DartObject object = variables.getBool(typeProvider, variableName);
|
|
expect(object, isNotNull);
|
|
expect(object.toBoolValue(), false);
|
|
}
|
|
|
|
void test_getBool_invalid() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables =
|
|
new DeclaredVariables.fromMap({variableName: 'not true'});
|
|
_assertNullDartObject(
|
|
typeProvider, variables.getBool(typeProvider, variableName));
|
|
}
|
|
|
|
void test_getBool_true() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables =
|
|
new DeclaredVariables.fromMap({variableName: 'true'});
|
|
DartObject object = variables.getBool(typeProvider, variableName);
|
|
expect(object, isNotNull);
|
|
expect(object.toBoolValue(), true);
|
|
}
|
|
|
|
void test_getBool_undefined() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables = new DeclaredVariables();
|
|
_assertUnknownDartObject(
|
|
typeProvider.boolType, variables.getBool(typeProvider, variableName));
|
|
}
|
|
|
|
void test_getInt_invalid() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables = new DeclaredVariables.fromMap(
|
|
{variableName: 'four score and seven years'});
|
|
_assertNullDartObject(
|
|
typeProvider, variables.getInt(typeProvider, variableName));
|
|
}
|
|
|
|
void test_getInt_undefined() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables = new DeclaredVariables();
|
|
_assertUnknownDartObject(
|
|
typeProvider.intType, variables.getInt(typeProvider, variableName));
|
|
}
|
|
|
|
void test_getInt_valid() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables =
|
|
new DeclaredVariables.fromMap({variableName: '23'});
|
|
DartObject object = variables.getInt(typeProvider, variableName);
|
|
expect(object, isNotNull);
|
|
expect(object.toIntValue(), 23);
|
|
}
|
|
|
|
void test_getString_defined() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
String value = "value";
|
|
DeclaredVariables variables =
|
|
new DeclaredVariables.fromMap({variableName: value});
|
|
DartObject object = variables.getString(typeProvider, variableName);
|
|
expect(object, isNotNull);
|
|
expect(object.toStringValue(), value);
|
|
}
|
|
|
|
void test_getString_undefined() {
|
|
TestTypeProvider typeProvider = new TestTypeProvider();
|
|
String variableName = "var";
|
|
DeclaredVariables variables = new DeclaredVariables();
|
|
_assertUnknownDartObject(typeProvider.stringType,
|
|
variables.getString(typeProvider, variableName));
|
|
}
|
|
|
|
void _assertNullDartObject(TestTypeProvider typeProvider, DartObject result) {
|
|
expect(result.type, typeProvider.nullType);
|
|
}
|
|
|
|
void _assertUnknownDartObject(
|
|
ParameterizedType expectedType, DartObject result) {
|
|
expect((result as DartObjectImpl).isUnknown, isTrue);
|
|
expect(result.type, expectedType);
|
|
}
|
|
}
|