Basic Tests
These are some basic sanity tests implemented in the FDC3 Conformance Framework. It is expected that Desktop Agent testers will run these first before commencing the much more thorough tests in section 2 onwards.
BasicCL1: A context listener can be created for a specific context type by callingfdc3.addContextListener("fdc3.contact",<handler>). AListenerobject is returned and can be used to remove the listener again by calling itsunsubscribefunction.BasicCL2: An unfiltered context listener can be created by callingfdc3.addContextListener(null,<handler>). AListenerobject is returned and can be used to remove the listener again by calling itsunsubscribefunction.BasicIL1: An intent listener can be created for a specific intent by callingfdc3.addIntentListener(<intentName>,<handler>). AListenerobject is returned and can be used to remove the listener again by calling itsunsubscribefunction.BasicGI1: AnImplementationMetadataobject can be retrieved, to find out the version of FDC3 that is in use along with details of the provider, by calling:await fdc3.getInfo().w The FDC3 version should match the API version being tested for conformance.
BasicAC1: A named 'App' channel can be retrieved via thefdc3.getOrCreateChannel(<name>)function. TheChannelobject returned conforms to the defined interface.BasicUC1: The list available user/system channels can be retrieved as an array ofChannelObjects conforming to the defined interface. The API call is:await fdc3.getUserChannels()
BasicJC1: A user/system channel can be joined with the with the channel's id by callingfdc3.joinUserChannel(<channelId>). Having done so, the current channel, retrieved by callingfdc3.getCurrentChannel()should NOT be null and should match the channel id given. After leaving the current channel by callingfdc3.leaveCurrentChannel(), it should go back to beingnull.BasicRI1: A specified intent can be raised by invokingfdc3.raiseIntent(<intent name>, <context>). A promise should be returned.BasicRI2: An intent can be raised for some item of context by invoking:fdc3.raiseIntentForContext(<context>). A promise should be returned.