1
0
mirror of https://github.com/danog/amp.git synced 2024-12-03 18:07:57 +01:00
Commit Graph

225 Commits

Author SHA1 Message Date
Aaron Piotrowski
8b7fb9ece3 Merge pull request #72 from amphp/issue-68
Implement yielding arrays as implicit all operator
2017-03-12 22:45:31 -05:00
Niklas Keller
77bd05b807 Fix tests and Producer React adaption 2017-03-12 22:09:19 +01:00
Niklas Keller
8f903b62db Add more tests for React promise adaption in various places 2017-03-12 21:02:26 +01:00
Niklas Keller
e8ea4e2ba9 Implement yielding arrays as implicit all operator, fixes #68 2017-03-12 19:42:25 +01:00
Aaron Piotrowski
cd4328ab48 Merge branch 'react-compatibility' 2017-03-12 11:38:48 -05:00
Pieter Hordijk
2db7bed1b6 Fixed typos an promise -> a promise 2017-03-12 17:36:07 +01:00
Niklas Keller
d748855a51 Fix some risky tests 2017-03-12 17:33:46 +01:00
Niklas Keller
766b3224d1 Rename drivers to have a Driver instead of Loop suffix 2017-03-12 11:21:44 +01:00
Aaron Piotrowski
7ad10f5d7d Add support for React promises 2017-03-11 09:17:43 -06:00
Niklas Keller
fe88413a17 Upgrade to PHPUnit 6
This commit removes Humbug, as it's no longer maintained and not
compatible with PHPUnit 6.
2017-03-11 14:57:03 +01:00
Niklas Keller
61d7f1b8d7 Remove remaining group use statements 2017-03-11 14:43:57 +01:00
Aaron Piotrowski
d505a13e18 Update promise test 2017-03-10 23:40:30 -06:00
Niklas Keller
be34c49a2d Fixup all remaining issues, tests pass locally 2017-03-10 22:20:28 +01:00
Niklas Keller
4f021220a2 Merge async-interop/promise-test into amphp/amp 2017-03-10 22:07:26 +01:00
Niklas Keller
0be9ae9ade Switch from AsyncInterop\Promise to Amp\Promise 2017-03-10 21:58:46 +01:00
Niklas Keller
e64bbfb9f5 Add Loop::set, auto-wrapping, fixup things 2017-03-10 21:31:57 +01:00
Niklas Keller
f4f9008ca0 Merge amphp/amp repository into amphp/amp 2017-03-10 18:26:17 +01:00
Niklas Keller
942cf801bd Merge async-interop/event-loop repository into amphp/amp 2017-03-10 18:07:13 +01:00
Aaron Piotrowski
72378e2b82 Add Amp\call() 2017-02-22 15:52:30 -06:00
Aaron Piotrowski
1369f5fd47 Assert callback count 2017-02-10 09:41:43 -06:00
Aaron Piotrowski
b72e504eab Ensure correct argument order in multi-argument lift 2017-02-09 22:34:24 -06:00
Aaron Piotrowski
5dade2443f Fix error in Message with empty stream 2017-01-31 17:30:05 -06:00
Aaron Piotrowski
5f284b2f70 Refactor Message, add Iterator 2017-01-31 17:09:38 -06:00
Aaron Piotrowski
0631560c65 Merge pull request #62 from amphp/drop-choose
Drop Amp\choose
2017-01-15 08:49:11 -06:00
Aaron Piotrowski
84917e7786 Add Message and Listener::getBuffered() 2017-01-13 18:46:32 -06:00
Aaron Piotrowski
df901a0305 Remove stream() method from Listener 2017-01-13 18:12:38 -06:00
Niklas Keller
36df722e95 Remove ChooseTest 2017-01-13 20:09:46 +01:00
Aaron Piotrowski
a643f9a260 Remove last consumed value from listener before drain 2017-01-11 20:13:12 -06:00
Niklas Keller
5a92c31197 Fix bootstrap test and execute it 2017-01-08 17:24:25 +01:00
Niklas Keller
30a6ac24ed Test bootstrap file 2017-01-08 17:12:04 +01:00
Aaron Piotrowski
4c48037295 Add reference/unreference methods to Pause 2017-01-08 01:15:57 -06:00
Aaron Piotrowski
ae28eae552 Lazy → LazyPromise 2017-01-08 01:02:11 -06:00
Aaron Piotrowski
0a79a063a6 Drop redundant tests
Covered by testInvalidYieldCatchingThrownException and testInvalidYieldCatchingThrownExceptionAndThrowing.
2017-01-08 00:34:41 -06:00
Aaron Piotrowski
5ad1fdb38b Add more Listener tests and kill another Humbug mutant 2017-01-08 00:22:07 -06:00
Niklas Keller
3b46c168a5 Improve tests and kill some Humbug mutants 2017-01-07 22:55:34 +01:00
Aaron Piotrowski
2976ebdbb5 Throw on consecutive calls to Listener::advance(); better property names 2017-01-07 12:31:36 -06:00
Aaron Piotrowski
cf5ebb1408 Better error message when emitting after resolve 2017-01-07 12:25:04 -06:00
Niklas Keller
bc110c4d63 Add test for callback combination in WhenQueue 2017-01-07 14:24:21 +01:00
Niklas Keller
ae69e92266 Update to promise 0.4.0 and event-loop 0.5.0, add humbug config 2017-01-07 13:47:45 +01:00
Niklas Keller
568183b261 Update to event-loop 0.5.0 2017-01-07 13:45:03 +01:00
Niklas Keller
559c64fdb8 Add test for invalid stream arguments 2017-01-06 23:16:06 +01:00
Aaron Piotrowski
c80f264e7e Remove unneeded support check 2017-01-05 17:21:30 -06:00
Aaron Piotrowski
02c2fcf0fa Add implementation using event extension 2017-01-05 14:08:33 -06:00
Aaron Piotrowski
210b6ff258 Observable → Stream 2017-01-03 19:10:27 -06:00
Josh Di Fabio
b9b49b3eaf Change namespace to AsyncInterop\Loop 2017-01-02 20:48:48 +00:00
Aaron Piotrowski
7cd505342a Update PromiseTest
setUp() and tearDown() code moved to async-interop/promise-test
2016-12-30 13:01:09 -06:00
Aaron Piotrowski
a872f14fd4 Drop Amp\range(), add Amp\observableFromIterable() 2016-12-30 12:50:09 -06:00
Aaron Piotrowski
b5d5b8dff1 Drop loop wrapper functions 2016-12-29 16:57:08 -06:00
Aaron Piotrowski
5651240615 Update to promise spec v0.3
Dropped strict-types due to spec requiring weak types in callbacks.
2016-12-29 16:29:27 -06:00
Aaron Piotrowski
b1e58862b2 Add extension required annotations on Ev and Uv loop tests 2016-12-29 14:47:06 -06:00
Aaron Piotrowski
225c0703ee Merge branch 'event-loop-v0.4' into uv 2016-12-28 13:02:20 -06:00
Niklas Keller
53bd12bbbd Rename Loop::info to Loop::getInfo
We use `get` for all other similar methods, too. Closes #102.
2016-12-23 10:58:26 +01:00
Aaron Piotrowski
8ef760f53c More tests 2016-12-17 08:16:17 -06:00
Aaron Piotrowski
11f1c7e7c4 Amp\lazy() → Amp\Lazy
Plus some tests!
2016-12-15 18:50:33 -06:00
Aaron Piotrowski
6e97e6630d Fix some function bugs and add more tests 2016-12-15 17:31:57 -06:00
Aaron Piotrowski
c73ca4e427 Add Emitter and Observer tests 2016-12-13 15:29:54 -06:00
Niklas Keller
1299e51ca6 Add tests for InvalidYieldError, improve key display
Without something like var_export, null and false are casted to an empty string.
2016-12-11 17:08:17 +01:00
Niklas Keller
a66f25e4f6 Fix tests 2016-12-11 16:39:58 +01:00
Aaron Piotrowski
3f2e0e1b72 Fix method name in wait() test 2016-11-14 16:29:49 -06:00
Aaron Piotrowski
9927ad5b4f Awaitable → Promise 2016-11-14 13:59:21 -06:00
Aaron Piotrowski
96e1178b89 Code, docblock, and comment cleanup 2016-08-17 22:25:54 -05:00
Aaron Piotrowski
a8d7d71a1a Drop Future and Producer 2016-08-17 21:17:31 -05:00
Aaron Piotrowski
36bfc3e20a Fix namespace 2016-08-16 23:27:10 -05:00
Aaron Piotrowski
8eda038155 Use strict types in tests; update some tests 2016-08-16 16:39:25 -05:00
Aaron Piotrowski
7bc08b9a6a Replace leftover LogicExceptions exceptions with Error 2016-08-12 16:58:53 -05:00
Aaron Piotrowski
496152282e Update Amp\coroutine() tests 2016-08-12 16:56:13 -05:00
Aaron Piotrowski
69ec812bc0 Require PHP 7 2016-08-11 14:52:40 -05:00
Niklas Keller
74e2577b25 Rename fetch/storeState to get/setState 2016-08-06 14:49:08 +02:00
Niklas Keller
6cde9f5495 Merge Registry into Driver 2016-08-04 21:08:52 +02:00
Aaron Piotrowski
9055f159e7 Revert some() to v1 behavior 2016-07-31 00:31:04 -05:00
Aaron Piotrowski
5a06b1cdc1 Update tests and remove unused tests 2016-07-19 00:05:40 -05:00
Aaron Piotrowski
ade997688a Merge branch 'awaitable' into v2 2016-07-18 23:20:05 -05:00
Aaron Piotrowski
3f654cbd5b Initial tests plus some fixes 2016-07-12 11:20:06 -05:00
Bob Weinand
3603d5b1ec EvLoop::enabled() -> supported() 2016-06-26 17:35:25 +02:00
Aaron Piotrowski
33338324d4 Add UvLoop 2016-06-09 12:57:46 -05:00
Aaron Piotrowski
666cc42a5f Better ref/unref in EvLoop; fix EvLoopTest 2016-06-08 16:03:37 -05:00
Aaron Piotrowski
a49d333f1b Add EvLoop; Split shared components into Loop 2016-06-08 09:22:14 -05:00
Aaron Piotrowski
ae441eb179 Fix DummyDriver
Conflict due to merge of #68
2016-05-31 10:08:10 -05:00
Aaron Piotrowski
5a82cd9b6b Merge pull request #67 from async-interop/defer-callback
Put Loop::execute() $callback into Driver::defer()
2016-05-31 10:00:11 -05:00
Aaron Piotrowski
4aa8c5d550 Add loop tests 2016-05-27 15:07:05 -05:00
Aaron Piotrowski
237a9c45ad Update registry test 2016-05-27 11:38:19 -05:00
Bob Weinand
b197b2c07d Put Loop::execute() $callback into Driver::defer()
This also ensures that potential throwing in the callback will be handled inside a potential error handler instead of immediately falling through.
2016-05-26 23:45:27 +02:00
Aaron Piotrowski
7a2c5cdc88 Cleanup namespace 2016-05-26 10:05:17 -05:00
Niklas Keller
47edee535d Forbid new factories while running, add scope test 2016-05-25 13:55:36 +02:00
Niklas Keller
3992374209 Apply ugly FIG braces style 2016-05-16 11:33:58 +02:00
Niklas Keller
8b3555c552 Change namespace of Registry 2016-05-16 11:02:14 +02:00
Niklas Keller
679651b242 Refactor Registry into a trait, so it can be tested separately 2016-05-16 11:02:13 +02:00
Chris Wright
6f4433dd1c Add tests for resolve callables 2016-05-11 18:07:58 +01:00
Niklas Keller
7046ca47e1 Expose combined exceptions in combinator exception
Also fix indent, escape sequences and docs
2016-03-09 14:09:15 +01:00
Bob Weinand
4b667478f4 Fixed bug causing NativeReactor to run at 100% CPU
See also https://github.com/amphp/aerys/issues/68
2016-02-22 23:17:50 +01:00
Bob Weinand
72683085c5 Fix signal tests for when pcntl isn't loaded, but UvReactor is 2015-11-16 14:53:19 +01:00
Bob Weinand
3057329a5c Update tests for CombinatorException, prepare tag 1.0.5 2015-09-30 14:31:53 +02:00
Daniel Lowrey
5cad406795 Normalize coroutine() return to Promise type 2015-08-07 11:01:36 -04:00
Daniel Lowrey
e209ee189d Don't unload watchers when the run loop finishes 2015-08-05 13:13:16 -04:00
Daniel Lowrey
70f4971ae1 Remove stream() in favor of PromiseStream 2015-08-04 23:46:49 -04:00
Daniel Lowrey
98f609a99a Clear watchers on run() loop exit, throw on invalid run/tick/stop calls 2015-08-04 11:07:13 -04:00
Daniel Lowrey
2c8727133e functor argument is now optional in Amp\filter()
If no functor parameter is supplied, all results equal to FALSE
using a (bool) cast will be removed.
2015-08-01 13:28:41 -04:00
Daniel Lowrey
094899a74b Add boolean "keep_alive" option for all watcher types
This option determines if the watcher will keep the run() loop
from returning. By default all watchers set "keep_alive" => true.
Setting this value to false is ideal for registering non-crucial
watchers (e.g. cache invalidation timers) that should run for the
life of the program but shouldn't prevent the event loop from
returning if all essential tasks have completed.

    <?php
    echo "before run\n";
    run(function () {
        immediately(function () {
            echo "immediately\n";
        });
        once(function () {
            echo "once\n";
        }, 100, ["keep_alive" => false]);
        repeat(function () {
            echo "repeat\n";
        }, 500, ["keep_alive" => false]);
        echo "onStart end\n";
    });
    echo "after run\n";

The above snippet will have the following output:

before run
immediately
after run

The Amp\info() function now also reports the number of
keep_alive watchers currently registered via the "keep_alive" key.
2015-07-31 09:32:22 -04:00
Daniel Lowrey
b1f400cad5 misc v1 cleanup 2015-07-29 23:23:53 -04:00
Daniel Lowrey
56b6330114 Use object hashes as watcher IDs 2015-07-29 22:12:53 -04:00