aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2017-09-04 19:49:42 +0200
committerGitHub <noreply@github.com>2017-09-04 19:49:42 +0200
commit930d78b5548d5f0cb39c32d1df124426664e8f87 (patch)
tree77555e577c09d8ccf114b09a36a2931c162f5f69 /test
parent68fab8bd92c87f5c91f94c8837477418d5b5ea3e (diff)
parentca91780ff4482df13f1456801583321dd4c7f5b1 (diff)
downloadmitmproxy-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.py24
-rw-r--r--test/mitmproxy/contentviews/test_js_data/simple-formatted.js68
-rw-r--r--test/mitmproxy/contentviews/test_js_data/simple.js8
-rw-r--r--test/mitmproxy/utils/test_strutils.py8
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"]