diff options
author | Maximilian Hils <git@maximilianhils.com> | 2017-09-04 19:49:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-04 19:49:42 +0200 |
commit | 930d78b5548d5f0cb39c32d1df124426664e8f87 (patch) | |
tree | 77555e577c09d8ccf114b09a36a2931c162f5f69 /test | |
parent | 68fab8bd92c87f5c91f94c8837477418d5b5ea3e (diff) | |
parent | ca91780ff4482df13f1456801583321dd4c7f5b1 (diff) | |
download | mitmproxy-930d78b5548d5f0cb39c32d1df124426664e8f87.tar.gz mitmproxy-930d78b5548d5f0cb39c32d1df124426664e8f87.tar.bz2 mitmproxy-930d78b5548d5f0cb39c32d1df124426664e8f87.zip |
Merge pull request #2537 from ujjwal96/content-view
JS beautifier
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/contentviews/test_javascript.py | 24 | ||||
-rw-r--r-- | test/mitmproxy/contentviews/test_js_data/simple-formatted.js | 68 | ||||
-rw-r--r-- | test/mitmproxy/contentviews/test_js_data/simple.js | 8 | ||||
-rw-r--r-- | test/mitmproxy/utils/test_strutils.py | 8 |
4 files changed, 103 insertions, 5 deletions
diff --git a/test/mitmproxy/contentviews/test_javascript.py b/test/mitmproxy/contentviews/test_javascript.py index 43039c93..23dd106e 100644 --- a/test/mitmproxy/contentviews/test_javascript.py +++ b/test/mitmproxy/contentviews/test_javascript.py @@ -1,10 +1,32 @@ +import pytest + from mitmproxy.contentviews import javascript +from mitmproxy.test import tutils from . import full_eval +data = tutils.test_data.push("mitmproxy/contentviews/test_js_data/") + def test_view_javascript(): v = full_eval(javascript.ViewJavaScript()) assert v(b"[1, 2, 3]") assert v(b"[1, 2, 3") - assert v(b"function(a){[1, 2, 3]}") + assert v(b"function(a){[1, 2, 3]}") == ("JavaScript", [ + [('text', 'function(a) {')], + [('text', ' [1, 2, 3]')], + [('text', '}')] + ]) assert v(b"\xfe") # invalid utf-8 + + +@pytest.mark.parametrize("filename", [ + "simple.js", +]) +def test_format_xml(filename): + path = data.path(filename) + with open(path) as f: + input = f.read() + with open("-formatted.".join(path.rsplit(".", 1))) as f: + expected = f.read() + js = javascript.beautify(input) + assert js == expected diff --git a/test/mitmproxy/contentviews/test_js_data/simple-formatted.js b/test/mitmproxy/contentviews/test_js_data/simple-formatted.js new file mode 100644 index 00000000..2b665f02 --- /dev/null +++ b/test/mitmproxy/contentviews/test_js_data/simple-formatted.js @@ -0,0 +1,68 @@ +/* _GlobalPrefix_ */ +this.gbar_=this.gbar_||{}; +(function(_) { + var window=this; + +/* _Module_:sy25 */ + try { + var Mn=function(){}; + _.y(Mn,Error); + _.Nn=function() { + this.b="pending"; + this.B=[]; + this.w=this.C=void 0 + }; + _.fe(_.Nn); + var On=function() { + _.qa.call(this,"Multiple attempts to set the state of this Result") + }; + _.y(On,_.qa); + _.Nn.prototype.ta=function() { + return this.C + }; + _.Pn=function(a,c,d) { + "pending"==a.b?a.B.push( { + hb:c,scope:d||null + } + ):c.call(d,a) + }; + _.Nn.prototype.A=function(a) { + if("pending"==this.b)this.C=a,this.b="success",Qn(this); + else if(!Rn(this))throw new On; + }; + _.Nn.prototype.o=function(a) { + if("pending"==this.b)this.w=a,this.b="error",Qn(this); + else if(!Rn(this))throw new On; + }; + var Qn=function(a) { + var c=a.B; + a.B=[]; + for(var d=0;d<c.length;d++) { + var e=c[d]; + e.hb.call(e.scope,a) + } + + }; + _.Nn.prototype.cancel=function() { + return"pending"==this.b?(this.o(new Mn),!0):!1 + }; + var Rn=function(a) { + return"error"==a.b&&a.w instanceof Mn + }; + _.Nn.prototype.then=function(a,c,d) { + var e,f,g=new _.ie(function(a,c) { + e=a; + f=c + } + ); + _.Pn(this,function(a) { + Rn(a)?g.cancel():"success"==a.b?e(a.ta()):"error"==a.b&&f(a.w) + } + ); + return g.then(a,c,d) + }; + + } + catch(e) { + _._DumpException(e) + } diff --git a/test/mitmproxy/contentviews/test_js_data/simple.js b/test/mitmproxy/contentviews/test_js_data/simple.js new file mode 100644 index 00000000..66a56d8b --- /dev/null +++ b/test/mitmproxy/contentviews/test_js_data/simple.js @@ -0,0 +1,8 @@ +/* _GlobalPrefix_ */ +this.gbar_=this.gbar_||{};(function(_){var window=this; +/* _Module_:sy25 */ +try{ +var Mn=function(){};_.y(Mn,Error);_.Nn=function(){this.b="pending";this.B=[];this.w=this.C=void 0};_.fe(_.Nn);var On=function(){_.qa.call(this,"Multiple attempts to set the state of this Result")};_.y(On,_.qa);_.Nn.prototype.ta=function(){return this.C};_.Pn=function(a,c,d){"pending"==a.b?a.B.push({hb:c,scope:d||null}):c.call(d,a)};_.Nn.prototype.A=function(a){if("pending"==this.b)this.C=a,this.b="success",Qn(this);else if(!Rn(this))throw new On;}; +_.Nn.prototype.o=function(a){if("pending"==this.b)this.w=a,this.b="error",Qn(this);else if(!Rn(this))throw new On;};var Qn=function(a){var c=a.B;a.B=[];for(var d=0;d<c.length;d++){var e=c[d];e.hb.call(e.scope,a)}};_.Nn.prototype.cancel=function(){return"pending"==this.b?(this.o(new Mn),!0):!1};var Rn=function(a){return"error"==a.b&&a.w instanceof Mn}; _.Nn.prototype.then=function(a,c,d){var e,f,g=new _.ie(function(a,c){e=a;f=c});_.Pn(this,function(a){Rn(a)?g.cancel():"success"==a.b?e(a.ta()):"error"==a.b&&f(a.w)});return g.then(a,c,d)}; + +}catch(e){_._DumpException(e)} diff --git a/test/mitmproxy/utils/test_strutils.py b/test/mitmproxy/utils/test_strutils.py index 7ec72e4e..dfe2c620 100644 --- a/test/mitmproxy/utils/test_strutils.py +++ b/test/mitmproxy/utils/test_strutils.py @@ -99,8 +99,8 @@ def test_hexdump(): ESCAPE_QUOTES = [ - ("'", strutils.NO_ESCAPE + "'"), - ('"', strutils.NO_ESCAPE + '"') + "'" + strutils.SINGLELINE_CONTENT + strutils.NO_ESCAPE + "'", + '"' + strutils.SINGLELINE_CONTENT + strutils.NO_ESCAPE + '"' ] @@ -113,11 +113,11 @@ def test_split_special_areas(): ) == ["foo ", "'b\\'a\"r'", " baz"] assert strutils.split_special_areas( "foo\n/*bar\nbaz*/\nqux", - [(r'/\*', r'\*/')] + [r'/\*[\s\S]+?\*/'] ) == ["foo\n", "/*bar\nbaz*/", "\nqux"] assert strutils.split_special_areas( "foo\n//bar\nbaz", - [(r'//', r'$')] + [r'//.+$'] ) == ["foo\n", "//bar", "\nbaz"] |