Commit Graph

271 Commits (master)

Author SHA1 Message Date
Bjorn 16edbf9fee
Merge pull request #51 from bonzini/master
flatten: avoid early completion
2020-01-15 10:43:54 -08:00
Paolo Bonzini 1cbd5b2ca6 flatten: avoid early completion
The flatten operator currently calls onCompleted as soon as the
parent signals that it has completed.  However, there could be
more data incoming from the returned observables; in fact, the
flattened observable might even be infinite.

Track how many subscriptions are still active, and only call
onCompleted at the time of the last completion.
2020-01-14 17:24:33 +01:00
Bjorn 98f6eaa377
Merge pull request #49 from 4O4/editorconfig
Add editorconfig
2019-10-20 14:42:55 -07:00
bjorn 355e14616e Formatting; 2019-10-20 14:43:33 -07:00
Bjorn 13a983787b
Merge pull request #45 from 4O4/observer-tests-improvements
Observer tests improvements
2019-10-20 14:40:26 -07:00
Bjorn d885bb6b86
Merge pull request #48 from 4O4/lust-update
Update lust and test runner script
2019-10-20 13:53:03 -07:00
4O4 0f81a5640b Remove redundant whitespaces 2019-10-09 10:58:01 +02:00
4O4 fd7d8fb1d4 Fix custom lust paths 2019-10-09 10:49:52 +02:00
4O4 2388041ee0 Fix wrappers
Forgot to pass-through the params
2019-10-09 10:39:05 +02:00
4O4 1e3c1d542b Add editorconfig 2019-10-09 10:30:11 +02:00
4O4 0d1d147de2 Wrap spies with anonymous functions 2019-10-09 10:27:15 +02:00
4O4 b3442b838a Spy on public api instead of implementation details 2019-10-09 00:17:31 +02:00
4O4 c3afae67e0 Update lust to resolve problems from earlier versions 2019-10-09 00:17:06 +02:00
4O4 f5d29f7758 Improve Observer tests
Basically all tests are rewritten here. Implementation details should
not be checked because tests are becoming fragile when it comes to any
refactoring.

What instead should be tested is the actual **public behavior** of the
library when using its public interfaces.

While doing all these changes the following assumptions about this codebase
have been made:
 - class fields which are prefixed with underscore (like `observer._onNext`)
 are intended to be private and thus should only be accessed by members of
 the same class or its subclasses
 - `observer.stopped` is a public **readonly** field and should never be
 modified by the outside world, because its role is considered to be
 purely informational

If the above assumptions are not correct, this will need to be discussed
further. These improvements of the tests are necessary to introduce any
changes which include refactoring of the `Observer` in order to fix some
bugs.
2019-10-02 17:24:12 +02:00
4O4 f9c29e1f17 Add testing helpers for dealing with multiple errors 2019-10-02 17:11:52 +02:00
Bjorn Swenson 78363657ed
Merge pull request #41 from StrangePan/issue-40
Fix zip operators not returning a subscription, issue #40
2019-05-07 14:03:21 -07:00
Daniel Andrus 823c9526f8 Fix zip operator not producing a Subscription 2019-05-07 10:55:38 -07:00
Daniel Andrus 4a475209f1 Add unsubscription test for zip operator 2019-05-07 10:48:47 -07:00
Bjorn Swenson cf92f8e82a
Merge pull request #39 from naxxster/fix-onError-test-code
Add an assertion like 'expect(observable).to.produce.error()' to test…
2019-05-01 12:17:44 -07:00
Junseong Jang f9ff630135 Add an assertion like 'expect(observable).to.produce.error()' to test 'onError'.
Fixed wrong test codes with the assertion.

Changed the behaviors of the following functions caused by argument types, to raise an error in the creation phase.

- Observable.defer
- Observable:buffer
- Observable:elementAt
- Observable:skipLast
- Observable:takeLast
- Observable:window
2019-03-28 03:04:58 +09:00
Bjorn Swenson c6e6c543b2
Merge pull request #36 from naxxster/fix_flatten_subscription
Fix `flatten` operator's subscription to unsubscribe from all sources
2019-03-12 02:47:36 -07:00
Junseong Jang a158200231 Fix `flatten` operator's subscription to unsubscribe from all sources
The `flatten` operator should unsubscribe from all flattened sources
2019-03-12 17:58:11 +09:00
Bjorn Swenson 3e2786130e
Merge pull request #35 from Metastruct/patch-1
Rename 'continue' -> '_continue'.
2019-03-01 12:10:27 -08:00
PotcFdk f460f9420f Rename 'continue' -> '_continue'. 2019-03-01 14:25:00 +01:00
bjorn b2c4522f4a Add debounce docs; 2019-01-29 02:59:33 -08:00
bjorn 132e8e8ae1 Iterate Subject observers in reverse;
To fix problems with removing items from a table while iterating.
2018-12-03 08:53:58 -08:00
Bjorn Swenson 687c7e53b4
Merge pull request #33 from naxxster/fix-merge-source-completed
Fix merge operator to handle onCompleted of input observables not a d…
2018-12-02 09:52:47 -08:00
Bjorn Swenson 66af07f13b
Merge pull request #32 from naxxster/fix-switch-subscription
Fix switch operator subscription to unsubscribe from inner subscription
2018-12-02 09:49:44 -08:00
Bjorn Swenson ebe4eb8ea6
Merge pull request #31 from naxxster/fix-with-subscription
Fix with operator subscription to unsubscribe from all sources
2018-12-02 09:47:49 -08:00
Junseong Jang 5e4e857c96 Fix merge operator to handle onCompleted of input observables not a destructive way
The merge operator removed the source observable if it complete.
After that the subscriptions after that source observable index can not unsubscribe.
Fix the issue by recording the completed source index, as combineLatest operator does.
2018-11-28 17:20:41 +09:00
Junseong Jang 24450712be Fix switch operator subscription to unsubscribe from inner subscription
The switch operator should unsubscribe from inner subscribed source
2018-11-22 19:10:02 +09:00
Junseong Jang 8093dcbd21 Fix with operator subscription to unsubscribe from all sources
The with operator should unsubscribe from all subscribed sources
2018-11-20 14:35:07 +09:00
bjorn 14a33c5614 Update build; 2018-09-12 11:54:43 -07:00
bjorn 6110f957ef Improve Observable.fromFileByLine test coverage; 2018-09-12 11:52:35 -07:00
bjorn 457fe4cde3 Observable.fromFileByLine: formatting; 2018-09-12 11:47:08 -07:00
bjorn 4962bdb523 Add tests for Observable.fromFileByLine; 2018-09-12 11:46:28 -07:00
bjorn ef6f80be0b Update README; 2018-09-12 11:36:04 -07:00
bjorn c8a21d456b Update rx.lua; 2018-09-12 11:23:11 -07:00
bjorn 8b825ffc44 Update tools build version; 2018-09-12 11:22:58 -07:00
Bjorn Swenson 34c8fee29a
Merge pull request #28 from naxxster/fix-combineLatest-unsubscribe-skip
Fix combineLatest operator subscription to unsubscribe from all subscription
2018-08-30 20:41:05 -07:00
Bjorn Swenson c89f0de521
Merge pull request #27 from naxxster/fix-merge-subscription
Fix merge operator to produce a subscription.
2018-08-30 20:40:56 -07:00
Junseong Jang f1363ea5c5 Fix combineLatest operator subscription to unsubscribe from all subscription
If there is any nil subscription from sources,
the subscription skips to unsubscribe from the rest source's subscriptions.
2018-08-31 12:26:56 +09:00
Junseong Jang ff284ad215 Fix merge operator to produce a subscription. 2018-08-31 12:17:50 +09:00
Bjorn Swenson 6e43f56e77
Merge pull request #25 from naxxster/fix-combineLatest-subscription
Fix combineLatest to produce the subscription.
2018-06-18 22:33:14 -07:00
xster 081b2cf55b Fix combineLatest to produce the subscription. 2018-05-17 17:25:11 +09:00
Bjorn Swenson e56cf8917e Merge pull request #23 from titouanc/fit-sample-spec
Sample should not produce anything before the source has produced a value
2017-10-03 09:49:04 -07:00
iTitou 20ec3b7bef [fix] Sample should not produce anything before the source has produced any value 2017-10-03 11:31:23 +02:00
bjorn 763ab162cd Add 0.0.3 rockspec; 2017-06-24 13:15:08 -07:00
bjorn f128b4844a Improve test coverage; 2017-06-24 13:03:56 -07:00
bjorn 611166ce36 Improve error tests; 2017-06-24 12:31:29 -07:00