IGListKit/Tests/Objects/IGTestBindingWithoutDeselectionDelegate.m
Tim Oliver 5784f6db51 Enable unit test suite for tvOS (#1649)
Summary:
## Changes in this pull request

Following up on https://github.com/instagram/IGListKit/issues/1401! This PR pulls in koenpunt's PR for tvOS test support and updates it against the latest version of IGListKit.

A few changes:

* I disabled the unit tests that require storyboards/NIBs for tvOS since we only have iOS formatted assets. We can follow this up in a future PR if need be.
* Rewrote the Travis build command for GitHub Actions
* Went through and gated any UIKit APIs that aren't available on tvOS.
* A few unit tests were failing since UICollectionView on tvOS does have a few implicit behavioral differences. I gated these for now, but if anyone using IGListKit on tvOS actually encounters these errors, please open an issue so we can track it and adjust our test suite accordingly.

### Checklist

- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/main/.github/CONTRIBUTING.md)

Pull Request resolved: https://github.com/instagram/IGListKit/pull/1649

Reviewed By: jurmarcus

Differential Revision: D88921781

Pulled By: TimOliver

fbshipit-source-id: fb8b0becde96a504a88b651343049e51ec438b6c
2025-12-11 00:46:38 -08:00

43 lines
1.4 KiB
Objective-C

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import "IGTestBindingWithoutDeselectionDelegate.h"
@implementation IGTestBindingWithoutDeselectionDelegate
- (void)sectionController:(IGListBindingSectionController *)sectionController
didSelectItemAtIndex:(NSInteger)index
viewModel:(id)viewModel {
self.selected = YES;
}
- (void)sectionController:(IGListBindingSectionController *)sectionController
didDeselectItemAtIndex:(NSInteger)index
viewModel:(id)viewModel; {
}
- (void)sectionController:(nonnull IGListBindingSectionController *)sectionController
didHighlightItemAtIndex:(NSInteger)index
viewModel:(nonnull id)viewModel {
}
- (void)sectionController:(nonnull IGListBindingSectionController *)sectionController
didUnhighlightItemAtIndex:(NSInteger)index
viewModel:(nonnull id)viewModel {
}
#if !TARGET_OS_TV
- (UIContextMenuConfiguration * _Nullable)sectionController:(nonnull IGListBindingSectionController *)sectionController
contextMenuConfigurationForItemAtIndex:(NSInteger)index
point:(CGPoint)point
viewModel:(nonnull id)viewModel API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos) {
return nil;
}
#endif
@end