test: add test for ChannelListHeaderTheme
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
import 'package:flutter/material.dart' hide TextTheme;
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
|
||||
|
||||
void main() {
|
||||
test('ChannelListHeaderThemeData copyWith, ==, hashCode basics', () {
|
||||
expect(const ChannelListHeaderThemeData(),
|
||||
const ChannelListHeaderThemeData().copyWith());
|
||||
expect(const ChannelListHeaderThemeData().hashCode,
|
||||
const ChannelListHeaderThemeData().copyWith().hashCode);
|
||||
});
|
||||
|
||||
group('ChannelListHeaderThemeData lerps', () {
|
||||
test(
|
||||
'''Light ChannelListHeaderThemeData lerps completely to dark ChannelListHeaderThemeData''',
|
||||
() {
|
||||
expect(
|
||||
const ChannelListHeaderThemeData().lerp(
|
||||
_channelListHeaderThemeControl,
|
||||
_channelListHeaderThemeControlDark,
|
||||
1),
|
||||
_channelListHeaderThemeControlDark);
|
||||
});
|
||||
|
||||
test(
|
||||
'''Light ChannelListHeaderThemeData lerps halfway to dark ChannelListHeaderThemeData''',
|
||||
() {
|
||||
expect(
|
||||
const ChannelListHeaderThemeData().lerp(
|
||||
_channelListHeaderThemeControl,
|
||||
_channelListHeaderThemeControlDark,
|
||||
0.5),
|
||||
_channelListHeaderThemeControlMidLerp);
|
||||
});
|
||||
|
||||
test(
|
||||
'''Dark ChannelListHeaderThemeData lerps completely to light ChannelListHeaderThemeData''',
|
||||
() {
|
||||
expect(
|
||||
const ChannelListHeaderThemeData().lerp(
|
||||
_channelListHeaderThemeControlDark,
|
||||
_channelListHeaderThemeControl,
|
||||
1),
|
||||
_channelListHeaderThemeControl);
|
||||
});
|
||||
});
|
||||
|
||||
test('Merging dark and light themes results in a dark theme', () {
|
||||
expect(
|
||||
_channelListHeaderThemeControl
|
||||
.merge(_channelListHeaderThemeControlDark),
|
||||
_channelListHeaderThemeControlDark);
|
||||
});
|
||||
}
|
||||
|
||||
final _channelListHeaderThemeControl = ChannelListHeaderThemeData(
|
||||
avatarTheme: AvatarThemeData(
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
constraints: const BoxConstraints.tightFor(
|
||||
height: 40,
|
||||
width: 40,
|
||||
),
|
||||
),
|
||||
color: ColorTheme.light().barsBg,
|
||||
titleStyle: TextTheme.light().headlineBold,
|
||||
);
|
||||
|
||||
final _channelListHeaderThemeControlMidLerp = ChannelListHeaderThemeData(
|
||||
avatarTheme: AvatarThemeData(
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
constraints: const BoxConstraints.tightFor(
|
||||
height: 40,
|
||||
width: 40,
|
||||
),
|
||||
),
|
||||
color: const Color(0xff87898b),
|
||||
titleStyle: const TextStyle(
|
||||
color: Color(0xff7f7f7f),
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
);
|
||||
|
||||
final _channelListHeaderThemeControlDark = ChannelListHeaderThemeData(
|
||||
avatarTheme: AvatarThemeData(
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
constraints: const BoxConstraints.tightFor(
|
||||
height: 40,
|
||||
width: 40,
|
||||
),
|
||||
),
|
||||
color: ColorTheme.dark().barsBg,
|
||||
titleStyle: TextTheme.dark().headlineBold,
|
||||
);
|
||||
Reference in New Issue
Block a user