mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
Updates to debugFillProperties to test all properties in slider.dart and slider_test.dart (#39632)
This commit is contained in:
parent
663d0b13bc
commit
4c254e5e8a
|
@ -381,8 +381,16 @@ class Slider extends StatefulWidget {
|
|||
void debugFillProperties(DiagnosticPropertiesBuilder properties) {
|
||||
super.debugFillProperties(properties);
|
||||
properties.add(DoubleProperty('value', value));
|
||||
properties.add(ObjectFlagProperty<ValueChanged<double>>('onChanged', onChanged, ifNull: 'disabled'));
|
||||
properties.add(ObjectFlagProperty<ValueChanged<double>>.has('onChangeStart', onChangeStart));
|
||||
properties.add(ObjectFlagProperty<ValueChanged<double>>.has('onChangeEnd', onChangeEnd));
|
||||
properties.add(DoubleProperty('min', min));
|
||||
properties.add(DoubleProperty('max', max));
|
||||
properties.add(IntProperty('divisions', divisions));
|
||||
properties.add(StringProperty('label', label));
|
||||
properties.add(ColorProperty('activeColor', activeColor));
|
||||
properties.add(ColorProperty('inactiveColor', inactiveColor));
|
||||
properties.add(ObjectFlagProperty<ValueChanged<double>>.has('semanticFormatterCallback', semanticFormatterCallback));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1547,4 +1547,38 @@ void main() {
|
|||
final RenderBox renderObject = tester.renderObject<RenderBox>(find.byType(Slider));
|
||||
expect(renderObject.size.height, 200);
|
||||
});
|
||||
|
||||
testWidgets(
|
||||
'Slider implements debugFillProperties', (WidgetTester tester) async {
|
||||
final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder();
|
||||
|
||||
const Slider(
|
||||
activeColor: Colors.blue,
|
||||
divisions: 10,
|
||||
inactiveColor: Colors.grey,
|
||||
label: 'Set a value',
|
||||
max: 100.0,
|
||||
min: 0.0,
|
||||
onChanged: null,
|
||||
onChangeEnd: null,
|
||||
onChangeStart: null,
|
||||
semanticFormatterCallback: null,
|
||||
value: 50.0,
|
||||
).debugFillProperties(builder);
|
||||
|
||||
final List<String> description = builder.properties
|
||||
.where((DiagnosticsNode node) => !node.isFiltered(DiagnosticLevel.info))
|
||||
.map((DiagnosticsNode node) => node.toString()).toList();
|
||||
|
||||
expect(description, <String>[
|
||||
'value: 50.0',
|
||||
'disabled',
|
||||
'min: 0.0',
|
||||
'max: 100.0',
|
||||
'divisions: 10',
|
||||
'label: "Set a value"',
|
||||
'activeColor: MaterialColor(primary value: Color(0xff2196f3))',
|
||||
'inactiveColor: MaterialColor(primary value: Color(0xff9e9e9e))',
|
||||
]);
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue