Home / File/ _config.js — svelte Source File

_config.js — svelte Source File

Architecture documentation for _config.js, a javascript file in the svelte codebase. 1 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  68515ace_a85f_8674_9dda_d8617caa5c6a["_config.js"]
  654af6d6_2570_6860_f8dd_6b6131e1eec4["test.ts"]
  68515ace_a85f_8674_9dda_d8617caa5c6a --> 654af6d6_2570_6860_f8dd_6b6131e1eec4
  style 68515ace_a85f_8674_9dda_d8617caa5c6a fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { ok, test } from '../../test';

export default test({
	html: `
		<p>selected: </p>

		<select>
			<option>a</option>
			<option>b</option>
			<option>c</option>
		</select>

		<p>selected: </p>
	`,

	async test({ assert, component, target }) {
		const select = target.querySelector('select');
		ok(select);

		const options = [...target.querySelectorAll('option')];

		assert.equal(component.selected, null);

		// no option should be selected since none of the options matches the bound value
		assert.equal(select.value, '');
		assert.equal(select.selectedIndex, -1);
		assert.ok(!options[0].selected);

		component.selected = 'a'; // first option should now be selected
		assert.equal(select.value, 'a');
		assert.ok(options[0].selected);

		assert.htmlEqual(
			target.innerHTML,
			`
			<p>selected: a</p>

			<select>
				<option>a</option>
				<option>b</option>
				<option>c</option>
			</select>

			<p>selected: a</p>
		`
		);

		component.selected = 'd'; // doesn't match an option

		// now no option should be selected again
		assert.equal(select.value, '');
		assert.equal(select.selectedIndex, -1);
		assert.ok(!options[0].selected);

		assert.htmlEqual(
			target.innerHTML,
			`
			<p>selected: d</p>

			<select>
				<option>a</option>
				<option>b</option>
				<option>c</option>
			</select>

			<p>selected: d</p>
		`
		);

		component.selected = 'b'; // second option should now be selected
		assert.equal(select.value, 'b');
		assert.ok(options[1].selected);

		assert.htmlEqual(
			target.innerHTML,
			`
			<p>selected: b</p>

			<select>
				<option>a</option>
				<option>b</option>
				<option>c</option>
			</select>

			<p>selected: b</p>
		`
		);

		component.selected = undefined; // also doesn't match an option

		// now no option should be selected again
		assert.equal(select.value, '');
		assert.equal(select.selectedIndex, -1);
		assert.ok(!options[0].selected);

		assert.htmlEqual(
			target.innerHTML,
			`
			<p>selected: </p>

			<select>
				<option>a</option>
				<option>b</option>
				<option>c</option>
			</select>

			<p>selected: </p>
		`
		);
	}
});

Domain

Subdomains

Functions

Dependencies

Frequently Asked Questions

What does _config.js do?
_config.js is a source file in the svelte codebase, written in javascript. It belongs to the BuildSystem domain, MessageProcessor subdomain.
What functions are defined in _config.js?
_config.js defines 1 function(s): default.test.
What does _config.js depend on?
_config.js imports 1 module(s): test.ts.
Where is _config.js in the architecture?
_config.js is located at packages/svelte/tests/runtime-legacy/samples/binding-select-unmatched/_config.js (domain: BuildSystem, subdomain: MessageProcessor, directory: packages/svelte/tests/runtime-legacy/samples/binding-select-unmatched).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free