Skip to content

Instantly share code, notes, and snippets.

View kvendrik's full-sized avatar

Koen Vendrik kvendrik

View GitHub Profile
@kvendrik
kvendrik / 1_index.html
Last active April 2, 2019 20:16
Fun with caching and prefetching (inspired by https://www.youtube.com/watch?v=V8oTJ8OZ5S0)
<!--
Prefetch HTML page the user might navigate to
https://developer.mozilla.org/en-US/docs/Web/HTTP/Link_prefetching_FAQ
-->
<link rel="prefetch" href="/signup.html">
@kvendrik
kvendrik / README.md
Created February 4, 2019 15:50
<SmartEventListener />
@kvendrik
kvendrik / decorator.ts
Last active December 16, 2018 16:31
Decorator example
export default function showMessage(message: string) {
console.log('message', message);
return (...args: any[]) => {
const [constructorOrComponent, propertyKey, descriptor] = args;
if (typeof constructorOrComponent === 'function') {
console.log('Class', constructorOrComponent);
return constructorOrComponent;
}
@kvendrik
kvendrik / Link.test.tsx
Created November 7, 2018 19:55
Link tests: href 2
@kvendrik
kvendrik / Link.test.tsx
Created November 7, 2018 19:52
Link tests: href 1
@kvendrik
kvendrik / Link.tsx
Last active November 7, 2018 19:40
Link component example
@kvendrik
kvendrik / TextField.test.tsx
Created November 7, 2018 18:16
TextField tests - onChange() trigger
import {trigger} from '@shopify/enzyme-utilities';
...
describe('onChange()', () => {
it('triggers when the user types', () => {
const onChangeSpy = jest.fn();
const event = {};
const textField = mount(
<TextField {...mockProps} onChange={onChangeSpy} />,
@kvendrik
kvendrik / TextField.test.tsx
Created November 7, 2018 18:13
TextField tests - onChange
describe('onChange()', () => {
it('triggers when the user types', () => {
const onChangeSpy = jest.fn();
const event = {};
const textField = mount(
<TextField {...mockProps} onChange={onChangeSpy} />,
);
(textField.find('input').prop('onChange') as any)(event);
expect(onChangeSpy).toHaveBeenCalledTimes(1);
});
@kvendrik
kvendrik / TextField.test.tsx
Created November 7, 2018 16:47
TextField example - all basic props
import * as React from 'react';
import {mount} from 'enzyme';
import {noop} from '@shopify/javascript-utilities/other';
import TextField from '../TextField';
describe('<TextField />', () => {
const mockProps = {
onChange: noop,
};
@kvendrik
kvendrik / TextField.test.tsx
Last active November 6, 2018 21:50
TextField example - test setup
import * as React from 'react';
import {mount} from 'enzyme';
import {noop} from '@shopify/javascript-utilities/other';
import TextField from '../TextField';
describe('<TextField />', () => {
const mockProps = {
onChange: noop,
};