LCOV - code coverage report
Current view: | top level - src/models/organizers - widget_element.dart (source / functions) |  |  | Hit | Total | Coverage
Test: | lcov.info |  | Lines: | 7 | 9 | 77.8 %
Date: | 2021-10-11 06:57:03 |  | Functions: | 0 | 0 | -

              Line data    Source code
           1             : import 'package:collection/collection.dart';
           2             :
           3             : import 'package:widgetbook/src/models/organizers/expandable_organizer.dart';
           4             : import 'package:widgetbook/src/models/organizers/organizers.dart';
           5             : import 'package:widgetbook/src/models/organizers/story.dart';
           6             :
           7             : ///
           8             : class WidgetElement extends ExpandableOrganizer {
           9           2 :   WidgetElement({
          10             :     required String name,
          11             :     required this.stories,
          12             :     bool isExpanded = false,
          13           2 :   }) : super(
          14             :           name: name,
          15             :           isExpanded: isExpanded,
          16             :         ) {
          17           4 :     for (final state in stories) {
          18           2 :       state.parent = this;
          19             :     }
          20             :   }
          21             :
          22             :   // TODO Maybe passing a type makes more sense than passing a name
          23             :   // that has the benefit that the WidgetElement's name will change when the
          24             :   // class name changes
          25             :   //
          26             :   // This could be avoided alltogether by using annotations
          27             :   final List<Story> stories;
          28             :
          29           2 :   @override
          30             :   bool operator ==(Object other) {
          31             :     if (identical(this, other)) return true;
          32           1 :     final listEquals = const DeepCollectionEquality().equals;
          33             :
          34           3 :     return other is WidgetElement && listEquals(other.stories, stories);
          35             :   }
          36             :
          37           0 :   @override
          38           0 :   int get hashCode => stories.hashCode;
          39             : }

Generated by: LCOV version 1.15