aboutsummaryrefslogtreecommitdiffstats
path: root/web/src
diff options
context:
space:
mode:
authorMatthew Shao <me@matshao.com>2017-07-22 21:16:16 +0800
committerMatthew Shao <me@matshao.com>2017-07-22 21:16:16 +0800
commit93cd1562def9e5c760b1b1f6a552440a83bae383 (patch)
tree0c25b7e78498cde85909b6c60a8c0468595e3083 /web/src
parenta0d14caa897c64c4e41605a1a514ebef5b1a9faf (diff)
downloadmitmproxy-93cd1562def9e5c760b1b1f6a552440a83bae383.tar.gz
mitmproxy-93cd1562def9e5c760b1b1f6a552440a83bae383.tar.bz2
mitmproxy-93cd1562def9e5c760b1b1f6a552440a83bae383.zip
[web] OptionModal component coverge ++.
Diffstat (limited to 'web/src')
-rw-r--r--web/src/js/__tests__/components/Modal/OptionModalSpec.js54
-rw-r--r--web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap61
-rw-r--r--web/src/js/components/Modal/OptionModal.jsx2
3 files changed, 116 insertions, 1 deletions
diff --git a/web/src/js/__tests__/components/Modal/OptionModalSpec.js b/web/src/js/__tests__/components/Modal/OptionModalSpec.js
new file mode 100644
index 00000000..dd4e70a2
--- /dev/null
+++ b/web/src/js/__tests__/components/Modal/OptionModalSpec.js
@@ -0,0 +1,54 @@
+import React from 'react'
+import renderer from 'react-test-renderer'
+import { PureOptionDefault } from '../../../components/Modal/OptionModal'
+
+describe('PureOptionDefault Component', () => {
+
+ it('should return null when the value is default', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value="foo" defaultVal="foo"/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle boolean type', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value={true} defaultVal={false}/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle array', () => {
+ let a = [""], b = [], c = ['c'],
+ pureOptionDefault = renderer.create(
+ <PureOptionDefault value={a} defaultVal={b}/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+
+ pureOptionDefault = renderer.create(
+ <PureOptionDefault value={a} defaultVal={c}/>
+ )
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle string', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value="foo" defaultVal=""/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+ it('should handle null value', () => {
+ let pureOptionDefault = renderer.create(
+ <PureOptionDefault value="foo" defaultVal={null}/>
+ ),
+ tree = pureOptionDefault.toJSON()
+ expect(tree).toMatchSnapshot()
+ })
+
+})
diff --git a/web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap b/web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap
new file mode 100644
index 00000000..68f1c9fc
--- /dev/null
+++ b/web/src/js/__tests__/components/Modal/__snapshots__/OptionModalSpec.js.snap
@@ -0,0 +1,61 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`PureOptionDefault Component should handle array 1`] = `null`;
+
+exports[`PureOptionDefault Component should handle array 2`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ [ ]
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should handle boolean type 1`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ false
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should handle null value 1`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ null
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should handle string 1`] = `
+<div
+ className="small"
+>
+ Default:
+ <strong>
+
+ ""
+
+ </strong>
+
+</div>
+`;
+
+exports[`PureOptionDefault Component should return null when the value is default 1`] = `null`;
diff --git a/web/src/js/components/Modal/OptionModal.jsx b/web/src/js/components/Modal/OptionModal.jsx
index 2a95f43b..35ba3a2e 100644
--- a/web/src/js/components/Modal/OptionModal.jsx
+++ b/web/src/js/components/Modal/OptionModal.jsx
@@ -19,7 +19,7 @@ const OptionError = connect((state, {name}) => ({
error: state.ui.optionsEditor[name] && state.ui.optionsEditor[name].error
}))(PureOptionError);
-function PureOptionDefault({value, defaultVal}){
+export function PureOptionDefault({value, defaultVal}){
if( value === defaultVal ) {
return null
} else {