noflo
Version:
Flow-Based Programming environment for JavaScript
574 lines (552 loc) • 36.1 kB
text/xml
[0m[0m
[0m Legacy ArrayPort[0m
[0m Untyped ArrayPort instance[0m
[2K[0G [32m ✓[0m[90m should be of type "all"[0m
[0m ArrayPort instance[0m
[2K[0G [32m ✓[0m[90m should retain the given type[0m
[0m without attached socket[0m
[2K[0G [32m ✓[0m[90m should not be attached initially[0m
[2K[0G [32m ✓[0m[90m should allow connections[0m
[2K[0G [32m ✓[0m[90m should not be connected initially[0m
[2K[0G [32m ✓[0m[90m should not contain a socket initially[0m
[2K[0G [32m ✓[0m[90m should not allow connecting[0m
[2K[0G [32m ✓[0m[90m should not allow beginning groups[0m
[2K[0G [32m ✓[0m[90m should not allow sending data[0m
[2K[0G [32m ✓[0m[90m should not allow ending groups[0m
[2K[0G [32m ✓[0m[90m should not allow disconnecting[0m
[0m with attached socket[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[2K[0G [32m ✓[0m[90m should be marked as attached[0m
[2K[0G [32m ✓[0m[90m should still allow more connections[0m
[2K[0G [32m ✓[0m[90m should not be connected initially[0m
[2K[0G [32m ✓[0m[90m should have a reference to the socket[0m
[2K[0G [32m ✓[0m[90m should allow other sockets to be attached[0m
[2K[0G [32m ✓[0m[90m should emit an event on detaching[0m
[2K[0G [32m ✓[0m[90m should not be attached any longer[0m
[2K[0G [32m ✓[0m[90m should not contain the removed socket any longer[0m
[0m Input ArrayPort[0m
[2K[0G [32m ✓[0m[90m should emit connection events[0m
[2K[0G [32m ✓[0m[90m should be connected after that[0m
[2K[0G [32m ✓[0m[90m should emit begin group events[0m
[2K[0G [32m ✓[0m[90m should emit data events[0m
[2K[0G [32m ✓[0m[90m should emit end group events[0m
[2K[0G [32m ✓[0m[90m should emit disconnection events[0m
[2K[0G [32m ✓[0m[90m should not be connected after that[0m
[2K[0G [32m ✓[0m[90m should connect automatically when sending[0m
[0m Input ArrayPort with specified index[0m
[2K[0G [32m ✓[0m[90m shouldn't be attached initially[0m
[2K[0G [32m ✓[0m[90m should emit attaching events[0m
[2K[0G [32m ✓[0m[90m should be attached after that[0m
[2K[0G [32m ✓[0m[90m shouldn't have other indexes attached after that[0m
[2K[0G [32m ✓[0m[90m should emit connection events[0m
[2K[0G [32m ✓[0m[90m should be connected after that[0m
[2K[0G [32m ✓[0m[90m shouldn't have other indexes connected after that[0m
[2K[0G [32m ✓[0m[90m should emit begin group events[0m
[2K[0G [32m ✓[0m[90m should emit data events[0m
[2K[0G [32m ✓[0m[90m should emit end group events[0m
[2K[0G [32m ✓[0m[90m should emit disconnection events[0m
[2K[0G [32m ✓[0m[90m should not be connected after that[0m
[2K[0G [32m ✓[0m[90m should connect automatically when sending[0m
[2K[0G [32m ✓[0m[90m should emit attaching events[0m
[2K[0G [32m ✓[0m[90m shouldn't be attached after that[0m
[0m Output ArrayPort[0m
[2K[0G [32m ✓[0m[90m should connect the socket[0m
[2K[0G [32m ✓[0m[90m should begin groups on the socket[0m
[2K[0G [32m ✓[0m[90m should send data to the socket[0m
[2K[0G [32m ✓[0m[90m should end groups on the socket[0m
[2K[0G [32m ✓[0m[90m should disconnect the socket[0m
[2K[0G [32m ✓[0m[90m should connect automatically when sending[0m
[0m AsyncComponent with missing ports[0m
[2K[0G [32m ✓[0m[90m should throw an error on instantiation when no IN defined[0m
[2K[0G [32m ✓[0m[90m should throw an error on instantion when no OUT defined[0m
[0m AsyncComponent without a doAsync method[0m
[2K[0G [32m ✓[0m[90m should throw an error if there is no connection to the ERROR port[0m
[2K[0G [32m ✓[0m[90m should send an error to the ERROR port if connected[0m
[2K[0G [32m ✓[0m[90m should send groups and error to the ERROR port if connected[0m
[0m Implemented AsyncComponent[0m
[2K[0G [32m ✓[0m[90m should send load information and packets in correct order[0m[31m (301ms)[0m
[0m Component[0m
[0m with required ports[0m
[2K[0G [32m ✓[0m[90m should throw an error upon sending packet to an unattached required port[0m
[2K[0G [32m ✓[0m[90m should be cool with an attached port[0m
[0m with component creation shorthand[0m
[2K[0G [32m ✓[0m[90m should make component creation easy[0m
[2K[0G [32m ✓[0m[90m should throw errors if there is no error port[0m
[2K[0G [32m ✓[0m[90m should throw errors if there is a non-attached error port[0m
[2K[0G [32m ✓[0m[90m should not throw errors if there is a non-required error port[0m
[2K[0G [32m ✓[0m[90m should send errors if there is a connected error port[0m
[0m defining ports with invalid names[0m
[2K[0G [32m ✓[0m[90m should throw an error with uppercase letters in inport[0m
[2K[0G [32m ✓[0m[90m should throw an error with uppercase letters in outport[0m
[2K[0G [32m ✓[0m[90m should throw an error with special characters in inport[0m
[0m starting a component[0m
[2K[0G [32m ✓[0m[90m should flag the component as started[0m
[0m shutting down a component[0m
[2K[0G [32m ✓[0m[90m should flag the component as not started[0m
[0m with object-based IPs[0m
[2K[0G [32m ✓[0m[90m should speak IP objects[0m
[2K[0G [32m ✓[0m[90m should support substreams[0m
[0m with process function[0m
[2K[0G [32m ✓[0m[90m should trigger on IPs[0m
[2K[0G [32m ✓[0m[90m should not be triggered by non-triggering ports[0m
[2K[0G [32m ✓[0m[90m should fetch undefined for premature data[0m
[2K[0G [32m ✓[0m[90m should receive and send complete IP objects[0m
[2K[0G [32m ✓[0m[90m should receive and send just IP data if wanted[0m
[2K[0G [32m ✓[0m[90m should keep last value for controls[0m
[2K[0G [32m ✓[0m[90m should keep last data-typed IP packet for controls[0m
[2K[0G [32m ✓[0m[90m should isolate packets with different scopes[0m
[2K[0G [32m ✓[0m[90m should be able to change scope[0m
[2K[0G [32m ✓[0m[90m should preserve order between input and output[0m
[2K[0G [32m ✓[0m[90m should ignore order between input and output[0m
[2K[0G [32m ✓[0m[90m should throw errors if there is no error port[0m
[2K[0G [32m ✓[0m[90m should throw errors if there is a non-attached error port[0m
[2K[0G [32m ✓[0m[90m should not throw errors if there is a non-required error port[0m
[2K[0G [32m ✓[0m[90m should send errors if there is a connected error port[0m
[2K[0G [32m ✓[0m[90m should send substreams with multiple errors per activation[0m
[2K[0G [32m ✓[0m[90m should forward brackets for map-style components[0m
[2K[0G [32m ✓[0m[90m should support custom bracket forwarding mappings with auto-ordering[0m
[2K[0G [32m ✓[0m[90m should forward IP metadata for map-style components[0m
[0m with custom callbacks[0m
[2K[0G [32m ✓[0m[90m should fail on wrong input[0m
[2K[0G [32m ✓[0m[90m should send substreams[0m
[0m ComponentLoader with no external packages installed[0m
[2K[0G [32m ✓[0m[90m should initially know of no components[0m
[2K[0G [32m ✓[0m[90m should not initially require revalidation[0m
[2K[0G [32m ✓[0m[90m should not initially be ready[0m
[2K[0G [32m ✓[0m[90m should not initially be processing[0m
[2K[0G [32m ✓[0m[90m should not have any packages in the checked list[0m
[2K[0G [32m ✓[0m[90m should be able to read a list of components[0m
[0m normalizing names[0m
[2K[0G [32m ✓[0m[90m should return simple module names as-is[0m
[2K[0G [32m ✓[0m[90m should return empty for NoFlo core[0m
[2K[0G [32m ✓[0m[90m should strip noflo-[0m
[2K[0G [32m ✓[0m[90m should strip NPM scopes[0m
[2K[0G [32m ✓[0m[90m should strip NPM scopes and noflo-[0m
[0m after listing components[0m
[2K[0G [32m ✓[0m[90m should have the Graph component registered[0m
[0m loading the Graph component[0m
[2K[0G [32m ✓[0m[90m should be able to load the component[0m
[2K[0G [32m ✓[0m[90m should contain input ports[0m
[2K[0G [32m ✓[0m[90m should have "on" method on the input port[0m
[2K[0G [32m ✓[0m[90m it should know that Graph is a subgraph[0m
[2K[0G [32m ✓[0m[90m should know the description for the Graph[0m
[2K[0G [32m ✓[0m[90m should be able to provide an icon for the Graph[0m
[0m loading the Graph component[0m
[2K[0G [32m ✓[0m[90m should be able to load the component[0m
[2K[0G [32m ✓[0m[90m should have a reference to the Component Loader's baseDir[0m
[0m loading a component[0m
[2K[0G [32m ✓[0m[90m should return an error on an invalid component type[0m
[0m register a component at runtime[0m
[2K[0G [32m ✓[0m[90m should be available in the components list[0m
[2K[0G [32m ✓[0m[90m should be able to load the component[0m
[2K[0G [32m ✓[0m[90m should have the correct ports[0m
[2K[0G [32m ✓[0m[90m should have inherited its icon from the library[0m
[2K[0G [32m ✓[0m[90m should emit an event on icon change[0m
[2K[0G [32m ✓[0m[90m new instances should still contain the original icon[0m
[2K[0G [32m ✓[0m[90m after setting an icon for the Component class, new instances should have that[0m
[2K[0G [32m ✓[0m[90m should not affect the original instance[0m
[0m reading sources[0m
[2K[0G [32m ✓[0m[90m should be able to provide source code for a component[0m
[2K[0G [32m ✓[0m[90m should return an error for missing components[0m
[2K[0G [32m ✓[0m[90m should return an error for non-file components[0m
[0m writing sources[0m
[0m with working code[0m
[2K[0G [32m ✓[0m[90m should be able to set the source[0m
[2K[0G [32m ✓[0m[90m should be a loadable component[0m
[0m with non-working code[0m
[2K[0G [32m ✓[0m[90m should be able to set the source[0m
[2K[0G [32m ✓[0m[90m should not be a loadable component[0m
[0m ComponentLoader with a fixture project[0m
[36m - should be possible to instantiate[0m
[36m - should initially know of no components[0m
[36m - should not initially be ready[0m
[36m - should be able to read a list of components[0m
[36m - should be able to load a local component[0m
[36m - should be able to load a component from a dependency[0m
[36m - should be able to load a dynamically registered component from a dependency[0m
[36m - should be able to load core Graph component[0m
[36m - should fail loading a missing component[0m
[0m Unnamed graph instance[0m
[2K[0G [32m ✓[0m[90m should have an empty name[0m
[0m Graph[0m
[0m with new instance[0m
[2K[0G [32m ✓[0m[90m should get a name from constructor[0m
[2K[0G [32m ✓[0m[90m should have no nodes initially[0m
[2K[0G [32m ✓[0m[90m should have no edges initially[0m
[2K[0G [32m ✓[0m[90m should have no initializers initially[0m
[2K[0G [32m ✓[0m[90m should have no exports initially[0m
[0m New node[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[2K[0G [32m ✓[0m[90m should be in graph's list of nodes[0m
[2K[0G [32m ✓[0m[90m should be accessible via the getter[0m
[2K[0G [32m ✓[0m[90m should have empty metadata[0m
[2K[0G [32m ✓[0m[90m should be available in the JSON export[0m
[2K[0G [32m ✓[0m[90m removing should emit an event[0m
[2K[0G [32m ✓[0m[90m should not be available after removal[0m
[0m New edge[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[2K[0G [32m ✓[0m[90m should add an edge[0m
[2K[0G [32m ✓[0m[90m should refuse to add a duplicate edge[0m
[0m New edge with index[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[2K[0G [32m ✓[0m[90m should add an edge[0m
[0m loaded from JSON[0m
[2K[0G [32m ✓[0m[90m should produce a Graph[0m
[2K[0G [32m ✓[0m[90m should have a name[0m
[2K[0G [32m ✓[0m[90m should have graph metadata intact[0m
[2K[0G [32m ✓[0m[90m should produce same JSON when serialized[0m
[2K[0G [32m ✓[0m[90m should allow modifying graph metadata[0m
[2K[0G [32m ✓[0m[90m should contain four nodes[0m
[2K[0G [32m ✓[0m[90m the first Node should have its metadata intact[0m
[2K[0G [32m ✓[0m[90m should allow modifying node metadata[0m
[2K[0G [32m ✓[0m[90m should contain two connections[0m
[2K[0G [32m ✓[0m[90m the first Edge should have its metadata intact[0m
[2K[0G [32m ✓[0m[90m should allow modifying edge metadata[0m
[2K[0G [32m ✓[0m[90m should contain four IIPs[0m
[2K[0G [32m ✓[0m[90m should contain one published inport[0m
[2K[0G [32m ✓[0m[90m should contain one published outport[0m
[2K[0G [32m ✓[0m[90m should keep the output export metadata intact[0m
[2K[0G [32m ✓[0m[90m should contain two groups[0m
[2K[0G [32m ✓[0m[90m should allow modifying group metadata[0m
[2K[0G [32m ✓[0m[90m should allow renaming groups[0m
[0m renaming a node[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[2K[0G [32m ✓[0m[90m should be available with the new name[0m
[2K[0G [32m ✓[0m[90m shouldn't be available with the old name[0m
[2K[0G [32m ✓[0m[90m should have the edge still going from it[0m
[2K[0G [32m ✓[0m[90m should still be exported[0m
[2K[0G [32m ✓[0m[90m should still be grouped[0m
[2K[0G [32m ✓[0m[90m shouldn't be have edges with the old name[0m
[2K[0G [32m ✓[0m[90m should have the IIP still going to it[0m
[2K[0G [32m ✓[0m[90m shouldn't have IIPs going to the old name[0m
[2K[0G [32m ✓[0m[90m shouldn't be have export going to the old name[0m
[2K[0G [32m ✓[0m[90m shouldn't be grouped with the old name[0m
[0m renaming an inport[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[0m renaming an outport[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[0m removing a node[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[2K[0G [32m ✓[0m[90m shouldn't have edges left behind[0m
[2K[0G [32m ✓[0m[90m shouldn't have IIPs left behind[0m
[2K[0G [32m ✓[0m[90m shouldn't have exports left behind[0m
[2K[0G [32m ✓[0m[90m shouldn't be grouped[0m
[2K[0G [32m ✓[0m[90m shouldn't affect other groups[0m
[0m with multiple connected ArrayPorts[0m
[2K[0G [32m ✓[0m[90m should contain four nodes[0m
[2K[0G [32m ✓[0m[90m should contain four edges[0m
[2K[0G [32m ✓[0m[90m should allow a specific edge to be removed[0m
[2K[0G [32m ✓[0m[90m shouldn't contain the removed connection from Split1[0m
[2K[0G [32m ✓[0m[90m should still contain the other connection from Split1[0m
[0m with an Initial Information Packet[0m
[2K[0G [32m ✓[0m[90m should contain one node[0m
[2K[0G [32m ✓[0m[90m should contain no edges[0m
[2K[0G [32m ✓[0m[90m should contain one IIP[0m
[0m on removing that IIP[0m
[2K[0G [32m ✓[0m[90m should emit a removeInitial event[0m
[2K[0G [32m ✓[0m[90m should contain no IIPs[0m
[0m with an Inport Initial Information Packet[0m
[2K[0G [32m ✓[0m[90m should contain one node[0m
[2K[0G [32m ✓[0m[90m should contain no edges[0m
[2K[0G [32m ✓[0m[90m should contain one IIP for the correct node[0m
[0m on removing that IIP[0m
[2K[0G [32m ✓[0m[90m should emit a removeInitial event[0m
[2K[0G [32m ✓[0m[90m should contain no IIPs[0m
[0m on adding IIP for a non-existent inport[0m
[2K[0G [32m ✓[0m[90m should not add any IIP[0m
[0m with an indexed Inport Initial Information Packet[0m
[2K[0G [32m ✓[0m[90m should contain one node[0m
[2K[0G [32m ✓[0m[90m should contain no edges[0m
[2K[0G [32m ✓[0m[90m should contain one IIP for the correct node[0m
[0m on removing that IIP[0m
[2K[0G [32m ✓[0m[90m should emit a removeInitial event[0m
[2K[0G [32m ✓[0m[90m should contain no IIPs[0m
[0m on adding IIP for a non-existent inport[0m
[2K[0G [32m ✓[0m[90m should not add any IIP[0m
[0m with no nodes[0m
[2K[0G [32m ✓[0m[90m should not allow adding edges[0m
[2K[0G [32m ✓[0m[90m should not allow adding IIPs[0m
[0m Legacy exports loaded via JSON[0m
[2K[0G [32m ✓[0m[90m should produce a Graph[0m
[2K[0G [32m ✓[0m[90m should have two legacy exports[0m
[2K[0G [32m ✓[0m[90m should fix the case of the process key[0m
[0m Inport Port[0m
[0m with default options[0m
[2K[0G [32m ✓[0m[90m should be of datatype "all"[0m
[2K[0G [32m ✓[0m[90m should not be required[0m
[2K[0G [32m ✓[0m[90m should not be addressable[0m
[2K[0G [32m ✓[0m[90m should not be buffered[0m
[0m with custom type[0m
[2K[0G [32m ✓[0m[90m should retain the type[0m
[0m without attached sockets[0m
[2K[0G [32m ✓[0m[90m should not be attached[0m
[2K[0G [32m ✓[0m[90m should allow attaching[0m
[2K[0G [32m ✓[0m[90m should not be connected initially[0m
[2K[0G [32m ✓[0m[90m should not contain a socket initially[0m
[0m with processing function called with port as context[0m
[2K[0G [32m ✓[0m[90m should set context to port itself[0m
[0m with default value[0m
[2K[0G [32m ✓[0m[90m should send the default value as a packet, though on next tick after initialization[0m
[2K[0G [32m ✓[0m[90m should send the default value before IIP[0m
[0m with options stored in port[0m
[2K[0G [32m ✓[0m[90m should store all provided options in port, whether we expect it or not[0m
[0m with data type information[0m
[2K[0G [32m ✓[0m[90m should accept a 'all' data type[0m
[2K[0G [32m ✓[0m[90m should accept a 'string' data type[0m
[2K[0G [32m ✓[0m[90m should accept a 'number' data type[0m
[2K[0G [32m ✓[0m[90m should accept a 'int' data type[0m
[2K[0G [32m ✓[0m[90m should accept a 'object' data type[0m
[2K[0G [32m ✓[0m[90m should accept a 'array' data type[0m
[2K[0G [32m ✓[0m[90m should NOT accept a 'not' data type[0m
[2K[0G [32m ✓[0m[90m should NOT accept a 'valie' data type[0m
[2K[0G [32m ✓[0m[90m should NOT accept a 'data' data type[0m
[2K[0G [32m ✓[0m[90m should NOT accept a 'types' data type[0m
[0m with TYPE (i.e. ontology) information[0m
[2K[0G [32m ✓[0m[90m should be a URL or MIME[0m
[0m with buffering[0m
[2K[0G [32m ✓[0m[90m should buffer incoming packets until `receive()`d[0m
[2K[0G [32m ✓[0m[90m should be able to tell the number of contained data packets[0m
[2K[0G [32m ✓[0m[90m should return undefined when buffer is empty[0m
[2K[0G [32m ✓[0m[90m shouldn't expose the receive method without buffering[0m
[0m with accepted enumerated values[0m
[2K[0G [32m ✓[0m[90m should accept certain values[0m
[2K[0G [32m ✓[0m[90m should throw an error if value is not accepted[0m
[0m with processing shorthand[0m
[2K[0G [32m ✓[0m[90m should create a port with a callback[0m
[2K[0G [32m ✓[0m[90m should also accept metadata (i.e. options) when provided[0m
[0m with IP handle callback option[0m
[2K[0G [32m ✓[0m[90m should pass IP objects to handler[0m
[2K[0G [32m ✓[0m[90m should translate legacy events to IP objects[0m
[2K[0G [32m ✓[0m[90m should translate IP objects to legacy events[0m
[0m Component traits[0m
[0m MapComponent[0m
[2K[0G [32m ✓[0m[90m should pass data to the callback[0m
[2K[0G [32m ✓[0m[90m should pass groups to the callback[0m
[2K[0G [32m ✓[0m[90m should send groups and disconnect through[0m
[0m WirePattern[0m
[0m when grouping by packet groups[0m
[2K[0G [32m ✓[0m[90m should pass data and groups to the callback[0m
[2K[0G [32m ✓[0m[90m should work without a group provided[0m
[2K[0G [32m ✓[0m[90m should process inputs for different groups independently with group: true[0m
[2K[0G [32m ✓[0m[90m should support asynchronous handlers[0m[31m (102ms)[0m
[2K[0G [32m ✓[0m[90m should not forward groups if forwarding is off[0m
[2K[0G [32m ✓[0m[90m should forward groups from a specific port only[0m
[2K[0G [32m ✓[0m[90m should forward groups from selected ports only[0m
[0m when `this` context is important[0m
[2K[0G [32m ✓[0m[90m should correctly bind component to `this` context[0m
[2K[0G [32m ✓[0m[90m should correctly bind component to `this` context in async mode[0m
[0m when in async mode and packet order matters[0m
[2K[0G [32m ✓[0m[90m should preserve input order at the output[0m
[2K[0G [32m ✓[0m[90m should support complex substreams[0m
[0m when grouping by field[0m
[2K[0G [32m ✓[0m[90m should match objects by specific field[0m[33m (44ms)[0m
[0m when there are multiple output routes[0m
[2K[0G [32m ✓[0m[90m should send output to one or more of them[0m
[0m when there are parameter ports[0m
[2K[0G [32m ✓[0m[90m should wait for required params without default value[0m
[2K[0G [32m ✓[0m[90m should work for async procs too[0m[33m (60ms)[0m
[2K[0G [32m ✓[0m[90m should reset state if shutdown() is called[0m
[2K[0G [32m ✓[0m[90m should drop premature data if configured to do so[0m
[0m without output ports[0m
[2K[0G [32m ✓[0m[90m should be fine still[0m
[0m when data processing is not possible at the moment[0m
[2K[0G [32m ✓[0m[90m should be able to postpone it until next tuple of data[0m
[2K[0G [32m ✓[0m[90m should be able to postpone and retry after timeout[0m
[2K[0G [32m ✓[0m[90m should be able to postpone it and resume when needed[0m
[0m with many inputs and groups[0m
[2K[0G [32m ✓[0m[90m should handle mixed flow well[0m[31m (310ms)[0m
[0m for batch processing[0m
[2K[0G [32m ✓[0m[90m should process sequences of packets separated by disconnects[0m
[0m for batch processing with groups[0m
[2K[0G [32m ✓[0m[90m should wrap entire sequence with groups[0m
[0m with addressable ports[0m
[2K[0G [32m ✓[0m[90m should wait for all param and any data port values (default)[0m
[2K[0G [32m ✓[0m[90m should wait for any param and all data values[0m
[2K[0G [32m ✓[0m[90m should wait for all indexes of a single input[0m
[2K[0G [32m ✓[0m[90m should behave normally with string output from another component[0m
[0m when grouping requests[0m
[2K[0G [32m ✓[0m[90m should group requests by outer UUID group[0m[31m (105ms)[0m
[2K[0G [32m ✓[0m[90m should collect garbage every N requests[0m
[2K[0G [32m ✓[0m[90m should be able to drop a request explicitly[0m
[0m MultiError[0m
[0m with simple sync processes[0m
[2K[0G [32m ✓[0m[90m should support multiple customized error messages[0m
[2K[0G [32m ✓[0m[90m should pass if everything is correct[0m
[2K[0G [32m ✓[0m[90m should handle fatals and runtimes normally[0m
[0m with async processes and groups[0m
[2K[0G [32m ✓[0m[90m should support multiple error messages and groups[0m
[2K[0G [32m ✓[0m[90m should pass if everything is correct[0m
[2K[0G [32m ✓[0m[90m should handle fatals and runtimes normally[0m
[2K[0G [32m ✓[0m[90m should reset state if component is shut down[0m
[0m Journal[0m
[0m connected to initialized graph[0m
[2K[0G [32m ✓[0m[90m should have just the initial transaction[0m
[0m following basic graph changes[0m
[2K[0G [32m ✓[0m[90m should create one transaction per change[0m
[0m pretty printing[0m
[2K[0G [32m ✓[0m[90m should be human readable[0m
[0m jumping to revision[0m
[2K[0G [32m ✓[0m[90m should change the graph[0m
[0m linear undo/redo[0m
[2K[0G [32m ✓[0m[90m undo should restore previous revision[0m
[2K[0G [32m ✓[0m[90m redo should apply the same change again[0m
[2K[0G [32m ✓[0m[90m undo should also work multiple revisions back[0m
[0m undo/redo of metadata changes[0m
[2K[0G [32m ✓[0m[90m adding group[0m
[2K[0G [32m ✓[0m[90m undoing group add[0m
[2K[0G [32m ✓[0m[90m redoing group add[0m
[2K[0G [32m ✓[0m[90m changing group metadata adds revision[0m
[2K[0G [32m ✓[0m[90m undoing group metadata change[0m
[2K[0G [32m ✓[0m[90m redoing group metadata change[0m
[2K[0G [32m ✓[0m[90m setting node metadata[0m
[2K[0G [32m ✓[0m[90m undoing set node metadata[0m
[2K[0G [32m ✓[0m[90m redoing set node metadata[0m
[0m Journalling of graph merges[0m
[0m G -> B[0m
[2K[0G [32m ✓[0m[90m G starts out as A[0m
[2K[0G [32m ✓[0m[90m G and B starts out different[0m
[2K[0G [32m ✓[0m[90m merge should make G equivalent to B[0m
[2K[0G [32m ✓[0m[90m undoing merge should make G equivalent to A again[0m
[0m NoFlo Network[0m
[0m with an empty graph[0m
[2K[0G [32m ✓[0m[90m should initially be marked as stopped[0m
[2K[0G [32m ✓[0m[90m should initially have no processes[0m
[2K[0G [32m ✓[0m[90m should initially have to connections[0m
[2K[0G [32m ✓[0m[90m should initially have no IIPs[0m
[2K[0G [32m ✓[0m[90m should have reference to the graph[0m
[2K[0G [32m ✓[0m[90m should know its baseDir[0m
[2K[0G [32m ✓[0m[90m should have a ComponentLoader[0m
[2K[0G [32m ✓[0m[90m should have transmitted the baseDir to the Component Loader[0m
[2K[0G [32m ✓[0m[90m should be able to list components[0m
[2K[0G [32m ✓[0m[90m should have an uptime[0m
[0m with new node[0m
[2K[0G [32m ✓[0m[90m should contain the node[0m
[2K[0G [32m ✓[0m[90m should have transmitted the node metadata to the process[0m
[2K[0G [32m ✓[0m[90m should not contain the node after removal[0m
[0m with a simple graph[0m
[2K[0G [32m ✓[0m[90m should contain two processes[0m
[2K[0G [32m ✓[0m[90m the ports of the processes should know the node names[0m
[2K[0G [32m ✓[0m[90m should contain one connection[0m
[2K[0G [32m ✓[0m[90m should call callback when receiving data[0m
[2K[0G [32m ✓[0m[90m should have started in debug mode[0m
[2K[0G [32m ✓[0m[90m should emit a process-error when a component throws[0m
[0m once started[0m
[2K[0G [32m ✓[0m[90m should be marked as started[0m
[0m with a renamed node[0m
[2K[0G [32m ✓[0m[90m should have the process in a new location[0m
[2K[0G [32m ✓[0m[90m shouldn't have the process in the old location[0m
[2K[0G [32m ✓[0m[90m should have informed the ports of their new node name[0m
[0m with process icon change[0m
[2K[0G [32m ✓[0m[90m should emit an icon event[0m
[0m once stopped[0m
[2K[0G [32m ✓[0m[90m should be marked as stopped[0m
[0m with nodes containing default ports[0m
[2K[0G [32m ✓[0m[90m should send default values to nodes without an edge[0m
[2K[0G [32m ✓[0m[90m should not send default values to nodes with an edge[0m
[2K[0G [32m ✓[0m[90m should not send default values to nodes with IIP[0m
[0m Nodes are added first, then edges, then initializers (i.e. IIPs), and in order of definition order within each[0m
[2K[0G [32m ✓[0m[90m should add nodes, edges, and initials, in that order[0m
[0m with an existing IIP[0m
[2K[0G [32m ✓[0m[90m should call the Callback with the original IIP value[0m
[2K[0G [32m ✓[0m[90m should allow removing the IIPs[0m
[2K[0G [32m ✓[0m[90m new IIPs to replace original ones should work correctly[0m
[0m on stopping[0m
[2K[0G [32m ✓[0m[90m processes should be running before the stop call[0m
[2K[0G [32m ✓[0m[90m should emit the end event[0m
[2K[0G [32m ✓[0m[90m should have called the shutdown method of each process[0m
[0m with a very large network[0m
[2K[0G [32m ✓[0m[90m should be able to connect without errors[0m[31m (4874ms)[0m
[0m NoFlo interface[0m
[2K[0G [32m ✓[0m[90m should be able to tell whether it is running on browser[0m
[0m Outport Port[0m
[0m with addressable ports[0m
[2K[0G [32m ✓[0m[90m should be able to send to a specific port[0m
[2K[0G [32m ✓[0m[90m should be able to send to index 0[0m
[2K[0G [32m ✓[0m[90m should throw an error when sent data without address[0m
[2K[0G [32m ✓[0m[90m should throw an error when a specific port is requested with non-addressable port[0m
[2K[0G [32m ✓[0m[90m should give correct port index when detaching a connection[0m
[0m with caching ports[0m
[2K[0G [32m ✓[0m[90m should repeat the previously sent value on attach event[0m
[2K[0G [32m ✓[0m[90m should support addressable ports[0m
[0m with IP objects[0m
[2K[0G [32m ✓[0m[90m should send data IPs and substreams[0m
[2K[0G [32m ✓[0m[90m should send non-clonable objects by reference[0m
[2K[0G [32m ✓[0m[90m should clone clonable objects on fan-out[0m
[0m Legacy Port[0m
[0m Untyped port instance[0m
[2K[0G [32m ✓[0m[90m should be of type "all"[0m
[0m Port instance[0m
[0m initially[0m
[2K[0G [32m ✓[0m[90m should retain the given type[0m
[2K[0G [32m ✓[0m[90m should not have a name[0m
[2K[0G [32m ✓[0m[90m should not have a node name[0m
[2K[0G [32m ✓[0m[90m should return "Port" as identifier[0m
[0m with given name and node[0m
[2K[0G [32m ✓[0m[90m should return correct ID[0m
[0m without attached socket[0m
[2K[0G [32m ✓[0m[90m should not be attached initially[0m
[2K[0G [32m ✓[0m[90m should allow a connection[0m
[2K[0G [32m ✓[0m[90m should not be connected initially[0m
[2K[0G [32m ✓[0m[90m should not contain a socket initially[0m
[2K[0G [32m ✓[0m[90m should not allow connecting[0m
[2K[0G [32m ✓[0m[90m should not allow beginning groups[0m
[2K[0G [32m ✓[0m[90m should not allow sending data[0m
[2K[0G [32m ✓[0m[90m should not allow ending groups[0m
[2K[0G [32m ✓[0m[90m should not allow disconnecting[0m
[0m with attached socket[0m
[2K[0G [32m ✓[0m[90m should emit an event[0m
[2K[0G [32m ✓[0m[90m should be marked as attached[0m
[2K[0G [32m ✓[0m[90m should not be connected initially[0m
[2K[0G [32m ✓[0m[90m should have a reference to the socket[0m
[2K[0G [32m ✓[0m[90m should allow other sockets to be attached[0m
[2K[0G [32m ✓[0m[90m should emit an event on detaching[0m
[2K[0G [32m ✓[0m[90m should still be attached[0m
[2K[0G [32m ✓[0m[90m should not be attached any longer[0m
[2K[0G [32m ✓[0m[90m should not contain a socket any longer[0m
[0m Input port[0m
[2K[0G [32m ✓[0m[90m should emit connection events[0m
[2K[0G [32m ✓[0m[90m should be connected after that[0m
[2K[0G [32m ✓[0m[90m should emit begin group events[0m
[2K[0G [32m ✓[0m[90m should emit data events[0m
[2K[0G [32m ✓[0m[90m should emit end group events[0m
[2K[0G [32m ✓[0m[90m should emit disconnection events[0m
[2K[0G [32m ✓[0m[90m should not be connected after that[0m
[2K[0G [32m ✓[0m[90m should connect automatically when sending[0m
[0m Output port[0m
[2K[0G [32m ✓[0m[90m should connect the socket[0m
[2K[0G [32m ✓[0m[90m should begin groups on the socket[0m
[2K[0G [32m ✓[0m[90m should send data to the socket[0m
[2K[0G [32m ✓[0m[90m should end groups on the socket[0m
[2K[0G [32m ✓[0m[90m should disconnect the socket[0m
[2K[0G [32m ✓[0m[90m should connect automatically when sending[0m
[0m Graph component[0m
[0m initially[0m
[2K[0G [32m ✓[0m[90m should be ready[0m
[2K[0G [32m ✓[0m[90m should not contain a network[0m
[2K[0G [32m ✓[0m[90m should not have a baseDir[0m
[2K[0G [32m ✓[0m[90m should only have the graph inport[0m
[0m with JSON graph definition[0m
[2K[0G [32m ✓[0m[90m should emit a ready event after network has been loaded[0m
[2K[0G [32m ✓[0m[90m should expose available ports[0m
[2K[0G [32m ✓[0m[90m should update description from the graph[0m
[2K[0G [32m ✓[0m[90m should expose only exported ports when they exist[0m
[2K[0G [32m ✓[0m[90m should be able to run the graph[0m
[0m with a Graph instance[0m
[2K[0G [32m ✓[0m[90m should emit a ready event after network has been loaded[0m
[2K[0G [32m ✓[0m[90m should expose available ports[0m
[2K[0G [32m ✓[0m[90m should be able to run the graph[0m
[0m with a FBP file with INPORTs and OUTPORTs[0m
[2K[0G [32m ✓[0m[90m should emit a ready event after network has been loaded[0m
[2K[0G [32m ✓[0m[90m should expose available ports[0m[33m (46ms)[0m
[2K[0G [32m ✓[0m[90m should be able to run the graph[0m[33m (47ms)[0m
[0m with a FBP file with legacy EXPORTS[0m
[2K[0G [32m ✓[0m[90m should emit a ready event after network has been loaded[0m[33m (47ms)[0m
[2K[0G [32m ✓[0m[90m should expose available ports[0m[33m (41ms)[0m
[2K[0G [32m ✓[0m[90m should have disambiguated the exported ports[0m[33m (42ms)[0m
[2K[0G [32m ✓[0m[90m should be able to run the graph[0m[33m (43ms)[0m
[0m when a subgraph is used as a component[0m
[2K[0G [32m ✓[0m[90m should send defaults[0m
[2K[0G [32m ✓[0m[90m should send initials[0m
[2K[0G [32m ✓[0m[90m should not send defaults when an inport is attached externally[0m
[92m [0m[32m 411 passing[0m[90m (7s)[0m
[36m [0m[36m 9 pending[0m