@segment/protocol

Testing component used to fake different protocols from the browser

Usage no npm install needed!

<script type="module">
  import segmentProtocol from 'https://cdn.skypack.dev/@segment/protocol';
</script>

README

protocol

CircleCI Codecov

Testing component used to fake protocols from the browser. Overrides window.location.protocol properties with fake ones using Object.defineProperty, so it won't work on IE8. Probably a good thing to only use in testing.

Installation

$ npm install @segment/protocol

API

#protocol()

Returns the current protocol that the document is using

protocol(); // 'http:'

#protocol(protocol)

When supplied with an argument, sets a custom protocol for the document.

protocol('chrome-extension:');
protocol(); // 'chrome-extension:'

#http()

Sets the protocol to be http

protocol();  // 'file:'
protocol.http();  // 'http:'

#https()

Sets the protocol to be https:

protocol();  // 'file:'
protocol.https();  // 'https:'

#reset()

Resets the protocol to be whatever it was at page load.

protocol('x:');
protocol.reset();
protocol(); // 'http:'