diff --git a/src/modules/Text/TextStylePropTypes.js b/src/modules/Text/TextStylePropTypes.js
index 3d9695c9..bc3407c9 100644
--- a/src/modules/Text/TextStylePropTypes.js
+++ b/src/modules/Text/TextStylePropTypes.js
@@ -6,6 +6,6 @@ export default {
...StylePropTypes.TypographicPropTypes
};
-export const TextDefaultStyles = {
+export const TextDefaultStyle = {
display: 'inline'
}
diff --git a/src/modules/Text/index.js b/src/modules/Text/index.js
index c26bbaeb..06a897e1 100644
--- a/src/modules/Text/index.js
+++ b/src/modules/Text/index.js
@@ -16,7 +16,7 @@ class Text extends React.Component {
static defaultProps = {
className: '',
- component: 'div'
+ component: 'span'
}
render() {
diff --git a/src/modules/Text/index.spec.js b/src/modules/Text/index.spec.js
new file mode 100644
index 00000000..aab1c9f7
--- /dev/null
+++ b/src/modules/Text/index.spec.js
@@ -0,0 +1,67 @@
+import assert from 'assert';
+import React from 'react/addons';
+
+import { TextDefaultStyle } from './TextStylePropTypes';
+import Text from '.';
+
+const ReactTestUtils = React.addons.TestUtils;
+
+function shallowRender(component, context = {}) {
+ const shallowRenderer = React.addons.TestUtils.createRenderer();
+ shallowRenderer.render(component, context);
+ return shallowRenderer.getRenderOutput();
+}
+
+suite('Text', () => {
+ test('defaults', () => {
+ const result = ReactTestUtils.renderIntoDocument();
+ const root = React.findDOMNode(result);
+
+ assert.equal((root.tagName).toLowerCase(), 'span');
+ });
+
+ test('prop "children"', () => {
+ const children = 'children';
+ const result = shallowRender({children});
+
+ assert.equal(result.props.children, children);
+ });
+
+ test('prop "className"', () => {
+ const className = 'className';
+ const result = shallowRender();
+
+ assert.ok(
+ (result.props.className).indexOf(className) > -1,
+ '"className" was not transferred'
+ );
+ });
+
+ test('prop "component"', () => {
+ const type = 'a';
+ const result = ReactTestUtils.renderIntoDocument();
+ const root = React.findDOMNode(result);
+
+ assert.equal(
+ (root.tagName).toLowerCase(),
+ type,
+ '"component" did not produce the correct DOM node type'
+ );
+ });
+
+ test('prop "style"', () => {
+ const initial = shallowRender();
+ assert.deepEqual(
+ initial.props.style,
+ TextDefaultStyle,
+ 'default "style" is incorrect'
+ );
+
+ const unsupported = shallowRender();
+ assert.deepEqual(
+ unsupported.props.style.unsupported,
+ null,
+ 'unsupported "style" properties must not be transferred'
+ );
+ });
+});