Skip to content

Test for currentdeckid#2

Open
aladdin-afk wants to merge 1 commit intomainfrom
test_for_currentdeckid
Open

Test for currentdeckid#2
aladdin-afk wants to merge 1 commit intomainfrom
test_for_currentdeckid

Conversation

@aladdin-afk
Copy link
Copy Markdown
Owner

@aladdin-afk aladdin-afk commented Dec 10, 2025

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

Approach

  1. Create a card
  2. Call a function that uses currentDeckId()
  3. Verify it got the right deck configuration either did or odid

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 ktlintFormat

Learning (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, oid abbreviated as deck id, original deck id
currentDeckId() returns the correct deck ID to use for configuration by prioritizing oDid when non-zero, ensuring that deck settings always come from the original deck, not temporary filtered decks.

Checklist

  • You have a descriptive commit message with a short title (first line, max 50 chars).
  • You have commented your code, particularly in hard-to-understand areas
  • You have performed a self-review of your own code
  • UI changes: N/A (unit tests only)
  • UI Changes: N/A (unit tests only)

@aladdin-afk aladdin-afk force-pushed the test_for_currentdeckid branch from ff79364 to 1b3060e Compare December 14, 2025 00:58
@aladdin-afk aladdin-afk marked this pull request as ready for review December 14, 2025 01:11
� 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
@aladdin-afk aladdin-afk force-pushed the test_for_currentdeckid branch from 965c76b to 4a891b7 Compare December 14, 2025 02:18
aladdin-afk pushed a commit that referenced this pull request Dec 22, 2025
� 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
@aladdin-afk aladdin-afk added the Needs Review Needs a Review label Jan 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Needs Review Needs a Review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant