1. @ephox/agar
Testing infrastructure
@ephox/agar
Package: @ephox/agar
Created by: tinymce
Last modified: Tue, 06 Feb 2024 17:11:47 GMT
Version: 8.0.1
License: MIT
Downloads: 4,355
Repository: https://github.com/tinymce/tinymce

Install

npm install @ephox/agar
yarn add @ephox/agar

Description

agar is a library containing testing infrastructure for keyboard, mouse, focus, and DOM Manipulation. It is designed to provide a pipeline for composing together asynchronous testing operations. It does not bundle any commands. It is only a collection of modules.

Installation

agar is available as an npm package. You can install it via the npm package @ephox/agar

Install from npm

npm install @ephox/agar

Usage

As mentioned earlier, agar contains testing infrastructure for keyboard, mouse, focus, and DOM Manipulation. The best place to see how it works is to look at the demos provided in the project directory at src/demo/js/ephox/agar/demo. More complete public documentation will be available in the future.

Running Tests

agar uses bedrock to run tests. This is packaged as a dev dependency of agar. There are two types of tests:

  • browser tests
  • webdriver tests

The default yarn test command just runs browser tests using Chrome.

Running Browser Tests

The browser tests are in the src/test/js/browser directory. They do not require a webdriver and can be run using the bedrock mode (rather than bedrock-auto).

$ bedrock --testdir src/test/js/browser

In this mode, bedrock will not open the browser, nor will it close it. This mode is used for development and debugging.

Running Webdriver Tests

Some tests in agar need to access raw WebDriver APIs like sendKeys. This allows tests to use selenium to provide actual real key events, rather than simulated JavaScript events. However, to run these tests, you need to use bedrock-auto. The tests are stored in the src/test/js/webdriver directory.

For example, to run the tests on Chrome:

$ bedrock-auto -b chrome --testdir src/test/js/webdriver

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code