Kishan Rathore 7100df24f6
Feat: Add carousel view builder (#172837)
Add carousel view builder named constructor
Fixes: #170692 

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-10-08 03:29:35 +00:00

34 lines
1.1 KiB
Dart

// Copyright 2014 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.
import 'package:flutter/material.dart';
import 'package:flutter_api_samples/material/carousel/carousel.1.dart' as example;
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('CarouselView.builder creates items lazily', (WidgetTester tester) async {
await tester.pumpWidget(const example.CarouselBuilderExampleApp());
expect(find.byType(CarouselView), findsOneWidget);
expect(find.text('Item 0'), findsOneWidget);
expect(find.text('Item 999'), findsNothing);
final Finder carousel = find.byType(CarouselView);
await tester.drag(carousel, const Offset(-350, 0));
await tester.pumpAndSettle();
expect(find.text('Item 1'), findsOneWidget);
expect(find.text('Item 0'), findsNothing);
for (int i = 0; i < 5; i++) {
await tester.drag(carousel, const Offset(-350, 0));
await tester.pumpAndSettle();
}
expect(find.text('Item 6'), findsOneWidget);
});
}