npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

als-browser-test

v1.1.0

Published

A simple and lightweight test runner for running tests directly in the browser.

Downloads

150

Readme

als-browser-test

als-browser-test is a simple and lightweight test runner designed for running tests directly in the browser. It provides basic tools for defining test cases, running them sequentially, and asserting test results. The test results are displayed directly in the browser's DOM, making it easy to visualize the test outcomes.

Installation

To install the als-browser-test library, you can use npm:

npm install als-browser-test

Usage

You can use als-browser-test by including it in your HTML file and writing your tests using the provided describe, it, and assert functions.

Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Test Runner Example</title>
</head>
<body>
    <script src="/node-modules/als-browser-test/index.js"></script>
    <script>
        describe('Basic Math Tests', function() {
            it('should add numbers correctly', function() {
                const result = 2 + 2;
                assert.strictEqual(result, 4, 'Addition test failed');
            });

            it('should subtract numbers correctly', function() {
                const result = 5 - 3;
                assert.strictEqual(result, 2, 'Subtraction test failed');
            });
        });

        runTests();
    </script>
</body>
</html>

API

describe(title, fn)

  • title: A string representing the title of the test suite.
  • fn: A function containing one or more it test cases.

The describe function groups related test cases under a common title.

it(title, fn)

  • title: A string representing the title of the test case.
  • fn: A function containing the test logic.

The it function defines an individual test case.

assert(expression, [title])

  • expression: A boolean expression that evaluates to true or false.
  • title (optional): A string representing the failure message if the assertion fails.

The assert function evaluates a given expression and logs the result. If the expression is true, the test passes; otherwise, it fails with an optional message.

assert.strictEqual(item1, item2, [message])

  • item1: The first item to compare.
  • item2: The second item to compare.
  • message (optional): A string representing the failure message if the assertion fails.

The assert.strictEqual function checks if item1 and item2 are strictly equal (===).

assert.deepStrictEqual(obj1, obj2, [message])

  • obj1: The first object to compare.
  • obj2: The second object to compare.
  • message (optional): A string representing the failure message if the assertion fails.

The assert.deepStrictEqual function checks if two objects are deeply equal, comparing their properties recursively.

it.skip()

The it.skip function is a placeholder that allows you to skip a test case.

it.only(title, fn)

  • title: A string representing the title of the test case.
  • fn: A function containing the test logic.

The it.only function allows you to run only a specific test case or group of test cases, ignoring others.

runTests()

The runTests function runs all the test cases defined using describe and it. If it.only was used, only those specific tests will run.

Output

Test results are displayed in the browser's DOM. Successful tests are marked in green, and failed tests are marked in red. The detailed error messages are displayed under the failed tests.

License

als-browser-test is licensed under the MIT License.