mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Add copyright headers in a few files where they were missing. Trim trailing blank comment line where present, for consistency with other engine code. Use the standard libtxt copyright header in one file where it differed (extra (C) and comma compared to other files in libtxt). This also amends tools/const_finder/test/const_finder_test.dart to look for a const an additional four lines down to account for the copyright header added to the test fixture.
64 lines
2.4 KiB
Dart
64 lines
2.4 KiB
Dart
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// @dart = 2.6
|
|
import 'dart:ui';
|
|
|
|
import 'package:test/test.dart';
|
|
|
|
void main() {
|
|
// Ahem font uses a constant ideographic/alphabetic baseline ratio.
|
|
const double kAhemBaselineRatio = 1.25;
|
|
|
|
test('predictably lays out a single-line paragraph', () {
|
|
for (double fontSize in <double>[10.0, 20.0, 30.0, 40.0]) {
|
|
final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle(
|
|
fontFamily: 'Ahem',
|
|
fontStyle: FontStyle.normal,
|
|
fontWeight: FontWeight.normal,
|
|
fontSize: fontSize,
|
|
));
|
|
builder.addText('Test');
|
|
final Paragraph paragraph = builder.build();
|
|
paragraph.layout(const ParagraphConstraints(width: 400.0));
|
|
|
|
expect(paragraph.height, closeTo(fontSize, 0.001));
|
|
expect(paragraph.width, closeTo(400.0, 0.001));
|
|
expect(paragraph.minIntrinsicWidth, closeTo(fontSize * 4.0, 0.001));
|
|
expect(paragraph.maxIntrinsicWidth, closeTo(fontSize * 4.0, 0.001));
|
|
expect(paragraph.alphabeticBaseline, closeTo(fontSize * .8, 0.001));
|
|
expect(
|
|
paragraph.ideographicBaseline,
|
|
closeTo(paragraph.alphabeticBaseline * kAhemBaselineRatio, 0.001),
|
|
);
|
|
}
|
|
});
|
|
|
|
test('predictably lays out a multi-line paragraph', () {
|
|
for (double fontSize in <double>[10.0, 20.0, 30.0, 40.0]) {
|
|
final ParagraphBuilder builder = ParagraphBuilder(ParagraphStyle(
|
|
fontFamily: 'Ahem',
|
|
fontStyle: FontStyle.normal,
|
|
fontWeight: FontWeight.normal,
|
|
fontSize: fontSize,
|
|
));
|
|
builder.addText('Test Ahem');
|
|
final Paragraph paragraph = builder.build();
|
|
paragraph.layout(ParagraphConstraints(width: fontSize * 5.0));
|
|
|
|
expect(paragraph.height, closeTo(fontSize * 2.0, 0.001)); // because it wraps
|
|
expect(paragraph.width, closeTo(fontSize * 5.0, 0.001));
|
|
expect(paragraph.minIntrinsicWidth, closeTo(fontSize * 4.0, 0.001));
|
|
|
|
// TODO(yjbanov): see https://github.com/flutter/flutter/issues/21965
|
|
expect(paragraph.maxIntrinsicWidth, closeTo(fontSize * 9.0, 0.001));
|
|
expect(paragraph.alphabeticBaseline, closeTo(fontSize * .8, 0.001));
|
|
expect(
|
|
paragraph.ideographicBaseline,
|
|
closeTo(paragraph.alphabeticBaseline * kAhemBaselineRatio, 0.001),
|
|
);
|
|
}
|
|
});
|
|
}
|