Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Issue 12213009: Fix bad handling of done events in _ForwardingStream. (Closed)

Created:
7 years, 10 months ago by Lasse Reichstein Nielsen
Modified:
7 years, 10 months ago
Reviewers:
floitsch
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Fix bad handling of done events in _ForwardingStream. On a done event, the subscription is stale, but the forwarding stream uses the presence of the subscription as a state-marker for it being useful. Changed to null the subscription on a done event. BUG=http://dartbug.com/8311 Committed: https://code.google.com/p/dart/source/detail?r=18212

Patch Set 1 #

Patch Set 2 : More tests #

Total comments: 4

Patch Set 3 : Added more chaining in the test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+50 lines, -0 lines) Patch
M sdk/lib/async/stream_pipe.dart View 1 chunk +2 lines, -0 lines 0 comments Download
A tests/lib/async/stream_transform_test.dart View 1 2 1 chunk +48 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Lasse Reichstein Nielsen
7 years, 10 months ago (2013-02-05 09:18:31 UTC) #1
floitsch
LGTM. but the whole setup is currently very difficult to follow. We should clean this ...
7 years, 10 months ago (2013-02-05 15:09:51 UTC) #2
Lasse Reichstein Nielsen
7 years, 10 months ago (2013-02-07 10:16:58 UTC) #3
https://codereview.chromium.org/12213009/diff/3001/tests/lib/async/stream_tra...
File tests/lib/async/stream_transform_test.dart (right):

https://codereview.chromium.org/12213009/diff/3001/tests/lib/async/stream_tra...
tests/lib/async/stream_transform_test.dart:29: actual.onDone(() {
On 2013/02/05 15:09:51, floitsch wrote:
> expectAsync0

Done.

https://codereview.chromium.org/12213009/diff/3001/tests/lib/async/stream_tra...
tests/lib/async/stream_transform_test.dart:48: }
That won't give any more coverage for this bug. It's in their common superclass,
so it makes no difference which two you use.
I've added a few more to the existing case, to cover chains longer than two.

Powered by Google App Engine
This is Rietveld 408576698