mirror of
https://github.com/flutter/flutter
synced 2024-10-14 04:02:56 +00:00
Change enum properties to use camel case instead of dash separated names
Make regular Alignment values look more like enumProperties while leaving more complex AlignmentDirectional values unchanged.
This commit is contained in:
parent
0350c9ecff
commit
ed54868c22
|
@ -1510,8 +1510,8 @@ class IterableProperty<T> extends DiagnosticsProperty<Iterable<T>> {
|
|||
|
||||
/// An property than displays enum values tersely.
|
||||
///
|
||||
/// The enum value is converted to a hyphen-separated string. For example:
|
||||
/// [HitTestBehavior.deferToChild] is shown as `defer-to-child`.
|
||||
/// The enum value is displayed with the class name stripped. For example:
|
||||
/// [HitTestBehavior.deferToChild] is shown as `deferToChild`.
|
||||
///
|
||||
/// See also:
|
||||
///
|
||||
|
@ -1536,7 +1536,7 @@ class EnumProperty<T> extends DiagnosticsProperty<T> {
|
|||
String valueToString({ TextTreeConfiguration parentConfiguration }) {
|
||||
if (value == null)
|
||||
return value.toString();
|
||||
return camelCaseToHyphenatedName(describeEnum(value));
|
||||
return describeEnum(value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2056,32 +2056,6 @@ String describeEnum(Object enumEntry) {
|
|||
return description.substring(indexOfDot + 1);
|
||||
}
|
||||
|
||||
/// Returns a lowercase hyphen-separated version of a camel case name.
|
||||
///
|
||||
/// ## Sample code
|
||||
///
|
||||
/// ```dart
|
||||
/// validateCamelCaseToHyphenatedName() {
|
||||
/// assert(camelCaseToHyphenatedName('deferToChild') == 'defer-to-child');
|
||||
/// assert(camelCaseToHyphenatedName('Monday') == 'monday');
|
||||
/// assert(camelCaseToHyphenatedName('monday') == 'monday');
|
||||
/// }
|
||||
/// ```
|
||||
String camelCaseToHyphenatedName(String word) {
|
||||
final String lowerWord = word.toLowerCase();
|
||||
if (word == lowerWord)
|
||||
return word;
|
||||
|
||||
final StringBuffer buffer = new StringBuffer();
|
||||
for (int i = 0; i < word.length; i++) {
|
||||
final String lower = lowerWord[i];
|
||||
if (word[i] != lower && i > 0)
|
||||
buffer.write('-');
|
||||
buffer.write(lower);
|
||||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
/// Builder to accumulate properties and configuration used to assemble a
|
||||
/// [DiagnosticsNode] from a [Diagnosticable] object.
|
||||
class DiagnosticPropertiesBuilder {
|
||||
|
|
|
@ -335,23 +335,23 @@ class Alignment extends AlignmentGeometry {
|
|||
|
||||
static String _stringify(double x, double y) {
|
||||
if (x == -1.0 && y == -1.0)
|
||||
return 'Alignment.topLeft';
|
||||
return 'topLeft';
|
||||
if (x == 0.0 && y == -1.0)
|
||||
return 'Alignment.topCenter';
|
||||
return 'topCenter';
|
||||
if (x == 1.0 && y == -1.0)
|
||||
return 'Alignment.topRight';
|
||||
return 'topRight';
|
||||
if (x == -1.0 && y == 0.0)
|
||||
return 'Alignment.centerLeft';
|
||||
return 'centerLeft';
|
||||
if (x == 0.0 && y == 0.0)
|
||||
return 'Alignment.center';
|
||||
return 'center';
|
||||
if (x == 1.0 && y == 0.0)
|
||||
return 'Alignment.centerRight';
|
||||
return 'centerRight';
|
||||
if (x == -1.0 && y == 1.0)
|
||||
return 'Alignment.bottomLeft';
|
||||
return 'bottomLeft';
|
||||
if (x == 0.0 && y == 1.0)
|
||||
return 'Alignment.bottomCenter';
|
||||
return 'bottomCenter';
|
||||
if (x == 1.0 && y == 1.0)
|
||||
return 'Alignment.bottomRight';
|
||||
return 'bottomRight';
|
||||
return 'Alignment(${x.toStringAsFixed(1)}, '
|
||||
'${y.toStringAsFixed(1)})';
|
||||
}
|
||||
|
|
|
@ -670,16 +670,6 @@ void main() {
|
|||
expect(describeEnum(ExampleEnum.deferToChild), equals('deferToChild'));
|
||||
});
|
||||
|
||||
test('toHyphenedName test', () {
|
||||
expect(camelCaseToHyphenatedName(''), equals(''));
|
||||
expect(camelCaseToHyphenatedName('hello'), equals('hello'));
|
||||
expect(camelCaseToHyphenatedName('Hello'), equals('hello'));
|
||||
expect(camelCaseToHyphenatedName('HELLO'), equals('h-e-l-l-o'));
|
||||
expect(camelCaseToHyphenatedName('deferToChild'), equals('defer-to-child'));
|
||||
expect(camelCaseToHyphenatedName('DeferToChild'), equals('defer-to-child'));
|
||||
expect(camelCaseToHyphenatedName('helloWorld'), equals('hello-world'));
|
||||
});
|
||||
|
||||
test('string property test', () {
|
||||
expect(
|
||||
new StringProperty('name', 'value', quoted: false).toString(),
|
||||
|
@ -1087,7 +1077,7 @@ void main() {
|
|||
|
||||
expect(deferToChild.level, equals(DiagnosticLevel.info));
|
||||
expect(deferToChild.value, equals(ExampleEnum.deferToChild));
|
||||
expect(deferToChild.toString(), equals('name: defer-to-child'));
|
||||
expect(deferToChild.toString(), equals('name: deferToChild'));
|
||||
validatePropertyJsonSerialization(deferToChild);
|
||||
|
||||
expect(nullEnum.level, equals(DiagnosticLevel.info));
|
||||
|
|
|
@ -213,10 +213,10 @@ void main() {
|
|||
|
||||
test('AlignmentGeometry toString', () {
|
||||
expect(const Alignment(1.0001, 2.0001).toString(), 'Alignment(1.0, 2.0)');
|
||||
expect(const Alignment(0.0, 0.0).toString(), 'Alignment.center');
|
||||
expect(const Alignment(-1.0, 1.0).add(const AlignmentDirectional(1.0, 0.0)).toString(), 'Alignment.bottomLeft + AlignmentDirectional.centerEnd');
|
||||
expect(const Alignment(0.0, 0.0).toString(), 'center');
|
||||
expect(const Alignment(-1.0, 1.0).add(const AlignmentDirectional(1.0, 0.0)).toString(), 'bottomLeft + AlignmentDirectional.centerEnd');
|
||||
expect(const Alignment(0.0001, 0.0001).toString(), 'Alignment(0.0, 0.0)');
|
||||
expect(const Alignment(0.0, 0.0).toString(), 'Alignment.center');
|
||||
expect(const Alignment(0.0, 0.0).toString(), 'center');
|
||||
expect(const AlignmentDirectional(0.0, 0.0).toString(), 'AlignmentDirectional.center');
|
||||
expect(const Alignment(1.0, 1.0).add(const AlignmentDirectional(1.0, 1.0)).toString(), 'Alignment(1.0, 2.0) + AlignmentDirectional.centerEnd');
|
||||
});
|
||||
|
|
|
@ -69,7 +69,7 @@ void main() {
|
|||
],
|
||||
).toString(),
|
||||
equals(
|
||||
'LinearGradient(Alignment.topLeft, Alignment.bottomLeft, [Color(0x33333333), Color(0x66666666)], null, TileMode.clamp)',
|
||||
'LinearGradient(topLeft, bottomLeft, [Color(0x33333333), Color(0x66666666)], null, TileMode.clamp)',
|
||||
),
|
||||
);
|
||||
});
|
||||
|
|
|
@ -202,7 +202,7 @@ void main() {
|
|||
' parentData: MISSING\n'
|
||||
' constraints: MISSING\n'
|
||||
' size: MISSING\n'
|
||||
' alignment: Alignment.center\n'
|
||||
' alignment: center\n'
|
||||
' textDirection: ltr\n'),
|
||||
);
|
||||
});
|
||||
|
|
|
@ -74,7 +74,7 @@ void main() {
|
|||
' constraints: BoxConstraints(25.0<=w<=100.0, 25.0<=h<=100.0)\n'
|
||||
' size: Size(25.0, 25.0)\n'
|
||||
' image: [10×10]\n'
|
||||
' alignment: Alignment.center\n'
|
||||
' alignment: center\n'
|
||||
),
|
||||
);
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ void main() {
|
|||
' │ parentData: <none>\n'
|
||||
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
|
||||
' │ size: Size(800.0, 600.0)\n'
|
||||
' │ alignment: Alignment.center\n'
|
||||
' │ alignment: center\n'
|
||||
' │ minWidth: 0.0\n'
|
||||
' │ maxWidth: Infinity\n'
|
||||
' │ minHeight: 0.0\n'
|
||||
|
@ -122,7 +122,7 @@ void main() {
|
|||
' │ parentData: <none>\n'
|
||||
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
|
||||
' │ size: Size(800.0, 600.0)\n'
|
||||
' │ alignment: Alignment.center\n'
|
||||
' │ alignment: center\n'
|
||||
' │ minWidth: 10.0\n'
|
||||
' │ maxWidth: 500.0\n'
|
||||
' │ minHeight: 0.0\n'
|
||||
|
@ -158,7 +158,7 @@ void main() {
|
|||
' │ parentData: <none>\n'
|
||||
' │ constraints: BoxConstraints(w=800.0, h=600.0)\n'
|
||||
' │ size: Size(800.0, 600.0)\n'
|
||||
' │ alignment: Alignment.center\n'
|
||||
' │ alignment: center\n'
|
||||
' │ minWidth: 10.0\n'
|
||||
' │ maxWidth: use parent maxWidth constraint\n'
|
||||
' │ minHeight: use parent minHeight constraint\n'
|
||||
|
|
|
@ -96,7 +96,7 @@ void main() {
|
|||
' │ parentData: offset=Offset(7.0, 7.0) (can use size)\n'
|
||||
' │ constraints: BoxConstraints(w=39.0, h=64.0)\n'
|
||||
' │ size: Size(39.0, 64.0)\n'
|
||||
' │ alignment: Alignment.bottomRight\n'
|
||||
' │ alignment: bottomRight\n'
|
||||
' │ widthFactor: expand\n'
|
||||
' │ heightFactor: expand\n'
|
||||
' │\n'
|
||||
|
@ -173,7 +173,7 @@ void main() {
|
|||
' │ parentData: offset=Offset(7.0, 7.0) (can use size)\n'
|
||||
' │ constraints: BoxConstraints(w=39.0, h=64.0)\n'
|
||||
' │ size: Size(39.0, 64.0)\n'
|
||||
' │ alignment: Alignment.bottomRight\n'
|
||||
' │ alignment: bottomRight\n'
|
||||
' │ widthFactor: expand\n'
|
||||
' │ heightFactor: expand\n'
|
||||
' │\n'
|
||||
|
@ -281,7 +281,7 @@ void main() {
|
|||
' │ layer: null\n'
|
||||
' │ semantics node: null\n'
|
||||
' │ size: Size(39.0, 64.0)\n'
|
||||
' │ alignment: Alignment.bottomRight\n'
|
||||
' │ alignment: bottomRight\n'
|
||||
' │ textDirection: null\n'
|
||||
' │ widthFactor: expand\n'
|
||||
' │ heightFactor: expand\n'
|
||||
|
@ -412,7 +412,7 @@ void main() {
|
|||
' │ isBlockingSemanticsOfPreviouslyPaintedNodes: false\n'
|
||||
' │ isSemanticBoundary: false\n'
|
||||
' │ size: Size(39.0, 64.0)\n'
|
||||
' │ alignment: Alignment.bottomRight\n'
|
||||
' │ alignment: bottomRight\n'
|
||||
' │ textDirection: null\n'
|
||||
' │ widthFactor: expand\n'
|
||||
' │ heightFactor: expand\n'
|
||||
|
|
|
@ -42,7 +42,7 @@ void main() {
|
|||
.where((DiagnosticsNode n) => !n.isFiltered(DiagnosticLevel.info))
|
||||
.map((DiagnosticsNode n) => n.toString()).toList();
|
||||
expect(description, <String>[
|
||||
'alignment: Alignment.center',
|
||||
'alignment: center',
|
||||
'minWidth: 1.0',
|
||||
'maxWidth: 2.0',
|
||||
'minHeight: 3.0',
|
||||
|
|
Loading…
Reference in a new issue