Repository: couchdb-fauxton Updated Branches: refs/heads/master 9284dcd99 -> 574af6a8b
Fix for Beautify function within CodeEditorPanel component Beautify wasn't working within the CodeEditorPanel component because it didn't explicitly update the CodeEditor subcomponent. This also reduces the size of the beautify button to make it more appropriate. Project: http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/repo Commit: http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/commit/574af6a8 Tree: http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/tree/574af6a8 Diff: http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/diff/574af6a8 Branch: refs/heads/master Commit: 574af6a8b490e6f132652f7071c1fe164c3410aa Parents: 9284dcd Author: Ben Keen <ben.k...@gmail.com> Authored: Sun Jan 31 13:03:32 2016 -0800 Committer: Ben Keen <ben.k...@gmail.com> Committed: Mon Feb 1 08:21:32 2016 -0800 ---------------------------------------------------------------------- .../components/react-components.react.jsx | 3 ++- .../components/tests/beautifySpec.react.jsx | 2 +- .../tests/codeEditorPanelSpec.react.jsx | 21 ++++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/574af6a8/app/addons/components/react-components.react.jsx ---------------------------------------------------------------------- diff --git a/app/addons/components/react-components.react.jsx b/app/addons/components/react-components.react.jsx index 105bbae..a471637 100644 --- a/app/addons/components/react-components.react.jsx +++ b/app/addons/components/react-components.react.jsx @@ -351,6 +351,7 @@ function (app, FauxtonAPI, React, Stores, FauxtonComponents, ace, beautifyHelper beautify: function (code) { this.setState({ code: code }); + this.getEditor().setValue(code); }, update: function () { @@ -963,7 +964,7 @@ function (app, FauxtonAPI, React, Stores, FauxtonComponents, ace, beautifyHelper return ( <button onClick={this.beautify} - className="beautify beautify_map btn btn-primary beautify-tooltip" + className="beautify beautify_map btn btn-primary btn-small beautify-tooltip" type="button" data-toggle="tooltip" title="Reformat your minified code to make edits to it." http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/574af6a8/app/addons/components/tests/beautifySpec.react.jsx ---------------------------------------------------------------------- diff --git a/app/addons/components/tests/beautifySpec.react.jsx b/app/addons/components/tests/beautifySpec.react.jsx index c7eefdf..92260cb 100644 --- a/app/addons/components/tests/beautifySpec.react.jsx +++ b/app/addons/components/tests/beautifySpec.react.jsx @@ -21,7 +21,7 @@ define([ var TestUtils = React.addons.TestUtils; describe('Beautify', function () { - var container, beautifyEl, reduceStub; + var container, beautifyEl; beforeEach(function () { container = document.createElement('div'); http://git-wip-us.apache.org/repos/asf/couchdb-fauxton/blob/574af6a8/app/addons/components/tests/codeEditorPanelSpec.react.jsx ---------------------------------------------------------------------- diff --git a/app/addons/components/tests/codeEditorPanelSpec.react.jsx b/app/addons/components/tests/codeEditorPanelSpec.react.jsx index b0bbcce..a2a1dcd 100644 --- a/app/addons/components/tests/codeEditorPanelSpec.react.jsx +++ b/app/addons/components/tests/codeEditorPanelSpec.react.jsx @@ -18,6 +18,7 @@ define([ var assert = utils.assert; var TestUtils = React.addons.TestUtils; + var codeNoNewlines = 'function (doc) {emit(doc._id, 1);}'; var code = 'function (doc) {\n emit(doc._id, 1);\n}'; describe('CodeEditorPanel', function () { @@ -61,6 +62,26 @@ define([ }); }); + describe('Beautify', function () { + it('confirm clicking beautify actually works within context of component', function () { + var container = document.createElement('div'); + var codeEditorEl = TestUtils.renderIntoDocument( + <ReactComponents.CodeEditorPanel + defaultCode={codeNoNewlines} + />, + container + ); + + // confirm there are no newlines in the code at this point + assert.equal(codeEditorEl.getValue().match(/\n/g), null); + + TestUtils.Simulate.click($(React.findDOMNode(codeEditorEl)).find('.beautify')[0]); + + // now confirm newlines are found + assert.equal(codeEditorEl.getValue().match(/\n/g).length, 2); + }); + }); + }); });