87 Commits

Author SHA1 Message Date
orionlee
2d1ee52014 fix imports post androidX migration 2019-11-05 11:04:23 -08:00
orionlee
fb7fb05b5e test case tweak: preserve download order test, fix test case name
(remove the incomplete expected from test case name)
2019-11-05 11:04:23 -08:00
orionlee
820b0b0793 test case bug fix: Bulk download 2nd item position should be 1 2019-11-05 11:04:23 -08:00
orionlee
ce5aa26878 refactoring test - factor out common operations of calc position,
add to queue and verify result into common helper.
2019-11-05 11:04:23 -08:00
orionlee
fb824b541d Test cases readability: change expected format from position to the actual queue
(list of IDs), to make the test case more readable.
2019-11-05 11:04:23 -08:00
orionlee
97905e5ed4 #2448: make podcast episode enqueue position respect download start order 2019-11-05 11:04:17 -08:00
orionlee
0973efa943 refactor test - break ItemEnqueuePositionCalculatorTest to be more modular
to prepare for testing more complex enqueue options.
2019-11-05 10:54:21 -08:00
orionlee
30f104f40b #2652 (part of): The in-progress podcast at the front of the queue
should remain at the front.
2019-11-05 10:54:21 -08:00
orionlee
bfde3c7315 refactor - DBWriterTest: parametrize the set of tests 2019-11-05 10:54:21 -08:00
orionlee
ba27ec6b31 refactor - DBWriter.addQueueItem() : refactor enqueue position calculation
to be a unit-testable component (static inner class)
2019-11-05 10:54:21 -08:00
orionlee
7687ffb08e Misc code style fixes. 2019-10-24 13:49:32 -07:00
orionlee
9c895ef15a Test to ensure Feed only accepts INTRA_FEED sort order 2019-10-24 12:17:31 -07:00
orionlee
bcd4b49dda feeditem sort - handle boundary conditions 2019-10-24 12:03:22 -07:00
orionlee
306b6f30a4 rename + refactor QueueSorter to FeedItemPermutors, to support both queue and podcast screen. 2019-10-24 11:32:06 -07:00
orionlee
250594827d unit test for get feeditem link with fallback 2019-10-18 11:31:46 -07:00
Max Bechtold
14db72ac35 #3248 Merge FeedVolumeReduction into VolumeReductionSetting 2019-10-17 11:54:11 +02:00
Max Bechtold
3bc55a09b1 #3248 Rename PlaybackVolumeAdaptor -> ..Updater 2019-10-17 09:56:04 +02:00
Max Bechtold
b6fc27fe12 #3248 Refactor enum mapping for more refactoring safety 2019-08-26 11:09:39 +02:00
Max Bechtold
759ce1b357 #3248 Adapt volume for playing media if its volume reduction setting is changed 2019-08-18 13:13:37 +02:00
Max Bechtold
7f0e642069 #3248 Review findings 2019-08-18 11:52:28 +02:00
Max Bechtold
03074168ce #3248 Add unit test 2019-08-18 11:52:28 +02:00
damoasda
fe9f0c8e7e Changes due to feedback in pull request #3315 2019-08-11 11:08:19 +02:00
damoasda
9b7a61471d Queue: Keep sorted #1556 2019-07-09 08:55:46 +02:00
Anderson Mesquita
fb3bfa9f80 Handle iTunes single-number duration format
Apple says this [1] about the `<itunes:duration>` tag:

    If you specify a single number as a value (without colons), Apple
    Podcasts displays the value as seconds.

This commit makes it also handle this single-number format.

Closes: #3024

[1]: https://help.apple.com/itc/podcasts_connect/#/itcb54353390
2019-05-05 00:04:06 -04:00
Anderson Mesquita
9b41139709 Extract DurationParser
This makes it easier to test the logic of parsing duration strings.

References: #3024
2019-05-05 00:04:06 -04:00
Borjan Tchakaloff
c589bd2022 Validate that the *new* and *not played* are also exclusive
The FeedItem state is actually a tri-state, complement the test
coverage by checking that the state changes from *new* to
*not played*.
2019-03-31 21:26:53 +02:00
Borjan Tchakaloff
6ebf1defe7 Validate that the item state is only changed when needed
Follow-up to commit 8172d87477dd593745d4776417ef3dd7884d17fb (#3067)
that adds test coverage for the resolved issue.

Also, fix that commit by making the update condition more explicit:
the FeedItem state is only changed when a state switch is necessary.
In other words, an item marked as *new* that gets downloaded should
lose the *new* mark and gain the *unplayed* mark instead.
2019-03-31 16:28:05 +02:00
Borjan Tchakaloff
3c7fd274de Validate that the *new* and *played* states are exclusive 2019-03-31 16:26:26 +02:00
ByteHamster
c50d37fa1b Moved some implementation tests to unit tests 2019-03-03 23:55:52 +01:00
orionlee
eff2f154b5 fix code formatting 2019-01-04 10:33:26 -08:00
orionlee
d1c73dda5b episode cleanup 12 hour option - use hours internally part 2 (persisted shared preference)
requires data migartion: app versionCode increased to 1070196
2019-01-04 10:33:26 -08:00
orionlee
4ff5690341 episode cleanup 12 hour option: add unit test to prepare for using hours
rather than days as data structure
2019-01-04 10:32:14 -08:00
egsavage
2dbcae1576 Optimize imports 2018-10-21 11:14:03 +02:00
ByteHamster
8fa3180446 Restored tests 2018-06-06 15:08:46 +02:00
ByteHamster
ba2233430e Removed FeedImage 2018-06-05 23:52:19 +02:00
orionlee
eb0ef1e201 core tests: Make DownloadServiceTest be a unit test (the portion of
DownloadService tested is all in-memory logic).
2018-05-18 13:42:39 -07:00
orionlee
46ae3e0b00 core tests: Convert tests that are effectively unit tests to be one
(standard android junit tests). Provides implementations for
android platform utils needed (in unit test environment):
1. android.util.Log, 2. android.text.TextUtils.isEmpty()
2018-05-18 13:21:36 -07:00