diff --git a/.babelrc b/.babelrc
index 49ab4f6..52050d4 100644
--- a/.babelrc
+++ b/.babelrc
@@ -1,8 +1,9 @@
{
- "optional": [
- "es7.classProperties",
- "es7.exportExtensions",
- "es7.objectRestSpread",
- "runtime"
+ "presets": ["es2015", "react", "stage-0"],
+ "plugins": [
+ ["transform-runtime", {
+ "polyfill": false,
+ "regenerator": false
+ }]
]
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 435ec0d..3af5223 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## v0.4.0
+
+- Removed React v0.13 support / added v15 support.
+- Updated Babel to v6.
+- Updated dependencies.
+
## v0.3.1 (01/06/15)
Updated dependencies and code style.
diff --git a/__tests__/Button.js b/__tests__/Button.js
new file mode 100644
index 0000000..4a70d7f
--- /dev/null
+++ b/__tests__/Button.js
@@ -0,0 +1,55 @@
+import React from 'react';
+import { renderIntoDocument } from 'react-addons-test-utils';
+import { findDOMNode } from 'react-dom';
+
+jest.dontMock('../src/Button');
+import Button from '../src/Button';
+
+describe('Button', () => {
+ it('renders a button by default', () => {
+ const component = renderIntoDocument();
+ expect(findDOMNode(component)).toBeDefined();
+ });
+
+ it('renders an anchor the `href` property is set', () => {
+ const component = renderIntoDocument();
+ const node = findDOMNode(component);
+ expect(node.tagName).toBe('A');
+ });
+
+ it('transfers the `href` property to the anchor', () => {
+ const component = renderIntoDocument();
+ const node = findDOMNode(component);
+ expect(node.href).toMatch(/#test$/);
+ });
+
+ it('adds the `pure-button` class', () => {
+ const component = renderIntoDocument();
+ const node = findDOMNode(component);
+ expect(node.className).toBe('pure-button my-button');
+ });
+
+ it('adds the `pure-button-active` class if the `active` property if set', () => {
+ const component = renderIntoDocument();
+ const node = findDOMNode(component);
+ expect(node.className).toBe('pure-button pure-button-active');
+ });
+
+ it('adds the `pure-button-disabled` class if the `disabled` property if set', () => {
+ const component = renderIntoDocument();
+ const node = findDOMNode(component);
+ expect(node.className).toBe('pure-button pure-button-disabled');
+ });
+
+ it('transfers the `disabled` property to the button', () => {
+ const component = renderIntoDocument();
+ const node = findDOMNode(component);
+ expect(node.disabled).toBe(true);
+ });
+
+ it('adds the `pure-button-primary` class if the `primary` property if set', () => {
+ const component = renderIntoDocument();
+ const node = findDOMNode(component);
+ expect(node.className).toBe('pure-button pure-button-primary');
+ });
+});
diff --git a/__tests__/Cell.js b/__tests__/Cell.js
new file mode 100644
index 0000000..8dad83f
--- /dev/null
+++ b/__tests__/Cell.js
@@ -0,0 +1,44 @@
+import React from 'react';
+import { renderIntoDocument } from 'react-addons-test-utils';
+import { findDOMNode } from 'react-dom';
+
+jest.dontMock('../src/Cell');
+import Cell from '../src/Cell';
+
+describe('Cell', () => {
+ it('renders a div with class `pure-u-1` by default', () => {
+ const component = renderIntoDocument(