diff --git a/js/__tests__/__snapshots__/MainWindow.js.snap b/js/__tests__/__snapshots__/MainWindow.js.snap index 6a02c84f..b24987ac 100644 --- a/js/__tests__/__snapshots__/MainWindow.js.snap +++ b/js/__tests__/__snapshots__/MainWindow.js.snap @@ -184,47 +184,58 @@ exports[`MainWindow renders to snapshot 1`] = ` } }>
+ className="character character-119" + id={undefined}> W
+ className="character character-105" + id={undefined}> i
+ className="character character-110" + id={undefined}> n
+ className="character character-97" + id={undefined}> a
+ className="character character-109" + id={undefined}> m
+ className="character character-112" + id={undefined}> p
+ className="character character-32" + id={undefined}>
+ className="character character-50" + id={undefined}> 2
+ className="character character-46" + id={undefined}> .
+ className="character character-57" + id={undefined}> 9
+ className="character character-49" + id={undefined}> 1
; @@ -233,19 +244,23 @@ exports[`MainWindow renders to snapshot 1`] = `
+ className="character character-110" + id={undefined}> n
+ className="character character-117" + id={undefined}> u
+ className="character character-108" + id={undefined}> l
+ className="character character-108" + id={undefined}> l
; @@ -253,19 +268,23 @@ exports[`MainWindow renders to snapshot 1`] = `
+ className="character character-110" + id={undefined}> n
+ className="character character-117" + id={undefined}> u
+ className="character character-108" + id={undefined}> l
+ className="character character-108" + id={undefined}> l
; diff --git a/js/components/Character.jsx b/js/components/Character.jsx index 3706470d..09bb6adc 100644 --- a/js/components/Character.jsx +++ b/js/components/Character.jsx @@ -1,9 +1,24 @@ import React from 'react'; -module.exports = (props) => { - const char = `${props.children}`; - const className = `character character-${char.toLowerCase().charCodeAt(0)}`; - return
{props.children}
; +export const characterClassName = (char) => ( + `character-${char.toString().toLowerCase().charCodeAt(0)}` +); + +const Character = ({children: char, id}) => ( +
+ {char} +
+); + +Character.propTypes = { + children: React.PropTypes.oneOfType([ + React.PropTypes.string, + React.PropTypes.number + ]).isRequired }; +export default Character; // TODO: Require that props.children be a string diff --git a/js/components/CharacterString.jsx b/js/components/CharacterString.jsx index 1f99245f..7680e2f3 100644 --- a/js/components/CharacterString.jsx +++ b/js/components/CharacterString.jsx @@ -5,7 +5,11 @@ module.exports = (props) => { const text = `${props.children}`; const chars = text.split(''); return
- {chars.map((character, index) => {character})}; + {chars.map((character, index) => + + {character} + + )};
; };