Conversation
|
First PR! 🚀 We sincerely appreciate that you have taken the time to propose a change to AnkiDroid! Please have patience with us as we are all volunteers - we will get to this as soon as possible. |
|
sorry for this, will continue tomorrow |
|
Please run your tests locally and push when they're working |
|
sorry i will look for fixing it in local |
david-allison
left a comment
There was a problem hiding this comment.
This PR isn't testing functionality which calls currentDeckId, it's testing the implementation of currentDeckId()
|
oh mybad, i just realised.sorry for the wrong commit. |
|
@aladdin-afk Please mark as 'Ready for review' if it's ready for review. I almost skipped over the notification as tihis was a Draft 😓 |
david-allison
left a comment
There was a problem hiding this comment.
Just to add some context:
Checking git blame (annotate) on the line which adds the @NeedsTest reveals that the following code was broken:
The aim of this annotation is to be sure that there is regression cover over this scenario.
None of the previous scenarios covered this. You've now resolved this issue
No action needed here.
The git blame would guide someone to adding tests to the main implementation in NoteEditor, which would likely have caught the following regressions from appearing:
I've added tests for the first two, and the final is on my immediate TODO list, so no action is needed here
david-allison
left a comment
There was a problem hiding this comment.
happy, cheers! One nitpick
david-allison
left a comment
There was a problem hiding this comment.
Ah, forgot about the override comment, that's a minor blocker
if it was the helper function, i did remove it. if not pls tell i will change it. |
david-allison
left a comment
There was a problem hiding this comment.
Cheers! Looks great
This will be merged sooner if you squash & force push the changes into a single commit, but we'll deal with this if we have time
ff79364 to
1b3060e
Compare
� This is the 1st commit message: added test files for currentdeckid() mark test as flaky Issue 19729 fix(deckpicker): Added contentDescription to sync and add card buttons deprecation(libanki): prefer `defaultsForAdding()` over `current()` Deprecates Notetypes.current() in favor of col.defaultsForAdding() Fixes: 19650 Co-authored-by: David Allison <62114487+david-allison@users.noreply.github.com> chore: log 'Activity with no Application' error It's likely that there's another cause other than the backup manager Diagnostics for issue 19050 style: fix dangling top-level KDocs This breaks KtLint 1.8.0 > A dangling toplevel KDoc is not allowed (cannot be auto-corrected) * modify `libs.versions.toml` to use `ktlint = '1.8.0'` * ./gradlew ktLintFormat * revert all changes * manually fix warnings, searching for 'dangling' * manually check fixes ensuring only top-level comments are processed Issue 19614 - updating ktLint docs(github): Explain workflows Quality Checks can be linked to from other pages as an onboarding guide https://github.com/ankidroid/Anki-Android/tree/main/.github/workflows/README.md#quality-checks docs(deps): improve AndroidX lifecycle-process * link changelogs * rename to 'androidxLifecycleProcess' * make location consistent with other libraries Added in 7f7cd37 Disable "Scroll toolbar" if toolbar is not shown In the note editor's overflow menu, disable the "Scroll toolbar" option if the toolbar (for HTML formatting) is not shown. Add comprehensive tests for Card.currentDeckId() - Test normal deck scenario (oDid=0 returns did) - Test filtered deck scenario (oDid takes priority) - Test precedence when both IDs are positive - Test real-world filtered deck usage - Test normal deck default behavior - Test edge case where both IDs are same Addresses @NeedsTest annotation on currentDeckId() method Update Card.kt Update CardTest.kt chore: fix warnings in ExifUtil and UniqueArrayList * Convert var to val in ExifUtil * Fix KDoc references in UniqueArrayList Issue: 13282 Co-authored-by: David Allison <62114487+david-allison@users.noreply.github.com> Add comprehensive tests for Card.currentDeckId() - Test normal deck scenario (oDid=0 returns did) - Test filtered deck scenario (oDid takes priority) - Test precedence when both IDs are positive - Test real-world filtered deck usage - Test normal deck default behavior - Test edge case where both IDs are same Addresses @NeedsTest annotation on currentDeckId() method Update Card.kt Update CardTest.kt Update Card.kt Update Card.kt Update CardTest.kt Update CardTest.kt Update CardTest.kt Update Card.kt Update CardTest.kt Update CardTest.kt Update CardTest.kt Update tests to verify functionality calling currentDeckId() Update CardTest.kt Update CardTest.kt Update CardTest.kt Update CardTest.kt Update CardTest.kt Revert "added test files for currentdeckid()" This reverts commit 1b3060e. � This is the commit message #2: Update Card.kt � This is the commit message #3: Update CardTest.kt � This is the commit message #4: Update Card.kt � This is the commit message ankidroid#5: Update CardTest.kt � This is the commit message ankidroid#6: Revert "Update Card.kt & Cardtest.kt" This reverts commit 5bc3121. Test files in cardtest.kt & card.kt
965c76b to
4a891b7
Compare
|
@BrayanDSO The commit message here was weird :/ |
Purpose / Description
The tests fulfill the request by testing the methods that use currentDeckId() to ensure the correct deck configuration is applied in all scenarios
Fixes
@NeedsTest) #13283Approach
6 functions tested
1.timelimit() for normal, filtered deck
2.shouldShowTimer()
3.autoplay()
4.replayQuestionAudioOnAnswerSide()
5.timeTaken()
How Has This Been Tested?
did use
./gradlew libanki:test./gradlew ktlintFormatLearning (optional, can help others)
https://youtu.be/9yre-M1XwVw?si=5UwsCUsnT8DDaIqc
can watch this playllist for basics
usually we use 2 standard forms of decks, so 2 deck ids
did,oidabbreviated as deck id, original deck idcurrentDeckId()returns the correct deck ID to use for configuration by prioritizingoDidwhen non-zero, ensuring that deck settings always come from the original deck, not temporary filtered decks.also to find needstests annotations in Android Studio :
Click on your project root in the Project panel
Press Ctrl+Shift+F or use menu: Edit → Find → Find in Files
now type: @NeedsTest
select Scope: Project Files
cheers!
Checklist