HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/browserstack/test/client.js
"use strict";

var assert = require("assert");
var BrowserStack = require("../lib/browserstack");
var util = require("./util");

var apiLatestVersion = 4;

var username = util.browserStack.username;
var password = util.browserStack.password;

if (!username || !password) {
	throw new Error("Please set BROWSERSTACK_USERNAME and BROWSERSTACK_KEY environment variables.");
}

describe("Public API", function() {
	it("exposes API and Screenshots clients", function() {
		[
			"createClient",
			"createScreenshotClient"
		].forEach(function(fn) {
			assert.equal("function", typeof BrowserStack[fn]);
		});
	});

	describe("new ApiClient", function() {
		var className = "ApiClient";

		it("should return an API client", function() {
			var client = BrowserStack.createClient({
				username: username,
				password: password
			});

			assert.equal(className, client.constructor.name, "instance of " + className);
		});

		it("should return an API client of a particular version", function() {
			for (var version = 1; version <= apiLatestVersion; version++) {
				var client = BrowserStack.createClient({
					username: username,
					password: password,
					version: version
				});

				assert.equal(className, client.constructor.name, "instance of ApiClient");
				assert.equal(version, client.version, "ApiClient version mismatch");
			}
		});

		it("should throw an error for invalid ApiClient version", function() {
			try {
				BrowserStack.createClient({
					username: username,
					password: password,
					version: -1
				});
			} catch (err) {
				assert.ok(err.toString().match(/invalid version/i));
			}
		});
	});

	describe("new ScreenshotClient", function() {
		var className = "ScreenshotClient";

		it("should return a screenshot client", function() {
			var client = BrowserStack.createScreenshotClient({
				username: username,
				password: password
			});

			assert.equal(className, client.constructor.name, "instance of " + className);
		});
	});
});