From a7820b12ff21ca8d608f75cb0fbf67c008da7b0a Mon Sep 17 00:00:00 2001 From: Emily Eisenberg Date: Tue, 11 Mar 2014 16:29:45 -0600 Subject: [PATCH] Add huxley screenshot tests Summary: Add in a testing page, which just renders the location hash in the body. Use this to make some screenshot tests in huxley. Note, these screenshots were made in Firefox on a Linux computer, so running the tests somewhere else might produce something else. Test Plan: - Serve KaTeX (`make serve`) - Run a Selenium Server (I used selenium 2.40.0) - Run `huxley` from the test/huxley/ directory - Ensure that all of the tests pass Reviewers: alpert Reviewed By: alpert Differential Revision: http://phabricator.khanacademy.org/D7258 --- .gitignore | 1 + test/huxley/Baseline.huxley/record.json | 1 + test/huxley/Baseline.huxley/screenshot0.png | Bin 0 -> 11551 bytes test/huxley/BasicTest.huxley/record.json | 1 + test/huxley/BasicTest.huxley/screenshot0.png | Bin 0 -> 5687 bytes test/huxley/Colors.huxley/record.json | 1 + test/huxley/Colors.huxley/screenshot0.png | Bin 0 -> 8087 bytes test/huxley/Exponents.huxley/record.json | 1 + test/huxley/Exponents.huxley/screenshot0.png | Bin 0 -> 9812 bytes test/huxley/FractionTest.huxley/record.json | 1 + .../FractionTest.huxley/screenshot0.png | Bin 0 -> 9139 bytes test/huxley/Functions.huxley/record.json | 1 + test/huxley/Functions.huxley/screenshot0.png | Bin 0 -> 12526 bytes test/huxley/GreekLetters.huxley/record.json | 1 + .../GreekLetters.huxley/screenshot0.png | Bin 0 -> 9996 bytes test/huxley/Huxleyfile | 32 ++++++++++++++++++ test/huxley/KaTeX.huxley/record.json | 1 + test/huxley/KaTeX.huxley/screenshot0.png | Bin 0 -> 10028 bytes test/huxley/Lap.huxley/record.json | 1 + test/huxley/Lap.huxley/screenshot0.png | Bin 0 -> 11736 bytes .../huxley/NestedFractions.huxley/record.json | 1 + .../NestedFractions.huxley/screenshot0.png | Bin 0 -> 15915 bytes test/huxley/Spacing.huxley/record.json | 1 + test/huxley/Spacing.huxley/screenshot0.png | Bin 0 -> 10814 bytes test/huxley/test.html | 22 ++++++++++++ 25 files changed, 66 insertions(+) create mode 100644 test/huxley/Baseline.huxley/record.json create mode 100644 test/huxley/Baseline.huxley/screenshot0.png create mode 100644 test/huxley/BasicTest.huxley/record.json create mode 100644 test/huxley/BasicTest.huxley/screenshot0.png create mode 100644 test/huxley/Colors.huxley/record.json create mode 100644 test/huxley/Colors.huxley/screenshot0.png create mode 100644 test/huxley/Exponents.huxley/record.json create mode 100644 test/huxley/Exponents.huxley/screenshot0.png create mode 100644 test/huxley/FractionTest.huxley/record.json create mode 100644 test/huxley/FractionTest.huxley/screenshot0.png create mode 100644 test/huxley/Functions.huxley/record.json create mode 100644 test/huxley/Functions.huxley/screenshot0.png create mode 100644 test/huxley/GreekLetters.huxley/record.json create mode 100644 test/huxley/GreekLetters.huxley/screenshot0.png create mode 100644 test/huxley/Huxleyfile create mode 100644 test/huxley/KaTeX.huxley/record.json create mode 100644 test/huxley/KaTeX.huxley/screenshot0.png create mode 100644 test/huxley/Lap.huxley/record.json create mode 100644 test/huxley/Lap.huxley/screenshot0.png create mode 100644 test/huxley/NestedFractions.huxley/record.json create mode 100644 test/huxley/NestedFractions.huxley/screenshot0.png create mode 100644 test/huxley/Spacing.huxley/record.json create mode 100644 test/huxley/Spacing.huxley/screenshot0.png create mode 100644 test/huxley/test.html diff --git a/.gitignore b/.gitignore index e3fbd9833..cd9ad784d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ build node_modules +last.png diff --git a/test/huxley/Baseline.huxley/record.json b/test/huxley/Baseline.huxley/record.json new file mode 100644 index 000000000..9369c51e8 --- /dev/null +++ b/test/huxley/Baseline.huxley/record.json @@ -0,0 +1 @@ +{"py/object": "huxley.run.Test", "screen_size": {"py/tuple": [1024, 768]}, "steps": [{"py/object": "huxley.steps.ScreenshotTestStep", "index": 0, "offset_time": 0}]} diff --git a/test/huxley/Baseline.huxley/screenshot0.png b/test/huxley/Baseline.huxley/screenshot0.png new file mode 100644 index 0000000000000000000000000000000000000000..091b27d9b187e8e0aa7559076140d635137414f2 GIT binary patch literal 11551 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 bY9eCocG-dYqS|vGIxgtT;J|x_qpti1;hHV5 literal 0 HcmV?d00001 diff --git a/test/huxley/Colors.huxley/record.json b/test/huxley/Colors.huxley/record.json new file mode 100644 index 000000000..9369c51e8 --- /dev/null +++ b/test/huxley/Colors.huxley/record.json @@ -0,0 +1 @@ +{"py/object": "huxley.run.Test", "screen_size": {"py/tuple": [1024, 768]}, "steps": [{"py/object": "huxley.steps.ScreenshotTestStep", "index": 0, "offset_time": 0}]} diff --git a/test/huxley/Colors.huxley/screenshot0.png b/test/huxley/Colors.huxley/screenshot0.png new file mode 100644 index 0000000000000000000000000000000000000000..d9676c25b3aebd10b643ac7b0180d0eefe79fc99 GIT binary patch literal 8087 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 xCkg*a!hezwc;NqmJKX literal 0 HcmV?d00001 diff --git a/test/huxley/GreekLetters.huxley/record.json b/test/huxley/GreekLetters.huxley/record.json new file mode 100644 index 000000000..9369c51e8 --- /dev/null +++ b/test/huxley/GreekLetters.huxley/record.json @@ -0,0 +1 @@ +{"py/object": "huxley.run.Test", "screen_size": {"py/tuple": [1024, 768]}, "steps": [{"py/object": "huxley.steps.ScreenshotTestStep", "index": 0, "offset_time": 0}]} diff --git a/test/huxley/GreekLetters.huxley/screenshot0.png b/test/huxley/GreekLetters.huxley/screenshot0.png new file mode 100644 index 0000000000000000000000000000000000000000..bb857a6ee182442c589d12f5df25587c2c89a9a2 GIT binary patch literal 9996 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 s_8n#a36y>A2zpJd%d2|*W>wk-cQfh^%KY3 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 literal 0 HcmV?d00001 diff --git a/test/huxley/NestedFractions.huxley/record.json b/test/huxley/NestedFractions.huxley/record.json new file mode 100644 index 000000000..9369c51e8 --- /dev/null +++ b/test/huxley/NestedFractions.huxley/record.json @@ -0,0 +1 @@ +{"py/object": "huxley.run.Test", "screen_size": {"py/tuple": [1024, 768]}, "steps": [{"py/object": "huxley.steps.ScreenshotTestStep", "index": 0, "offset_time": 0}]} diff --git a/test/huxley/NestedFractions.huxley/screenshot0.png b/test/huxley/NestedFractions.huxley/screenshot0.png new file mode 100644 index 0000000000000000000000000000000000000000..edb9b0933d4292b13064234cfb5c8fdfa3ee95dd GIT binary patch literal 15915 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 literal 0 HcmV?d00001 diff --git a/test/huxley/Spacing.huxley/record.json b/test/huxley/Spacing.huxley/record.json new file mode 100644 index 000000000..9369c51e8 --- /dev/null +++ b/test/huxley/Spacing.huxley/record.json @@ -0,0 +1 @@ +{"py/object": "huxley.run.Test", "screen_size": {"py/tuple": [1024, 768]}, "steps": [{"py/object": "huxley.steps.ScreenshotTestStep", "index": 0, "offset_time": 0}]} diff --git a/test/huxley/Spacing.huxley/screenshot0.png b/test/huxley/Spacing.huxley/screenshot0.png new file mode 100644 index 0000000000000000000000000000000000000000..633b2914a3be346fbafa0e6a1ea8cac79e7c4791 GIT binary patch literal 10814 zcmeHNXH-*J*S=WBu>d+2R7!*yMMcOkNSA=36cvIwds6)`{l0RALu9cMt$F39-kVT-HD69a3XNV^O?KX03!U8dLD z>agu_@1}hPu)VuBZG6fIzPEeD^}Q$7mcZAokbQA+)i0CRSDcT{-gtJ)hGU0Ut+I(Z z7M z;T013QFz@LD!l$5{LqsX`B*g^DcLy@XX~@?f=1uDr?@6bpQ=ZlGf#HVo-l^jWdu{R z<4f!V22}gqb5ctBeQFD7)aYBSO0@^T{Y1&z2l8&kIDSwznlmtkiJz$G_v!T`+FMf( zwQTdl$sW78Dl{sD;dG%k>h@oo!`Bku{&eENJssY3Q#Rpe+D+dtZ%H#)ggDPxSnNG(dSX%R~-LJ!m*BCPj#W~D3D7L z934Oz-GiQou7dWaLQvsbvSHoKYsmnZAt(55S`aNSKj+w|S;C#|Izd<1H9NHZz4B0N zZUxCo36s78TKN-{esu*@HWs>4Y}`*O<Q4n_Rv zA;Ik$a-os^eox3R9e=s$FEW=Hy9qLkB!DVw!e;$B+|Fn%(ZJPB#9U1d3cXH zuI`yDgg6sDPEp?6s#EYkGAGrujG)}#dGrV|o%we~Y;{&$G5y*jb5>&BBH|Yv%i`N5 zEA_g#Cv>u_d|2Qy2Xt>BB}E}=eN%j6pVmZKM^Hox*{6XsRuP$i=_U#-a&0`=B4fjVNuW*plYIKo%FDBEu|ojUP)vw97E_)S4%^Ga?IW7;yKz;Tq2S zC`_lDOeGl;Or1-|`q|o|a7+Hh$Xo(yJ-p7BHSz#i;Zm0?(fIXU>GCglyDwAHu$WQg zeLpcMj}#u0qvV|>)-nyrp|0$y%1bhdT~bYX#dV=Y#jR++h1;H_5b zNl)sxoQ_vLSeqvh`V#`&@YW-dvZc1yU zeD#Kg|CH8N8_`4yD|Y!sS&*K5evrwJQ0L)w^gUQO>-sP<@nBxrjC<6UZYw0w4sDWF zJ(9M1x^X>xiM|FSMH**Ih4NHvVPAhh?Y+CoBMb}T&-?bCO_Z7 zHp1@m+ufp+E94ONR<+j;m7R{Hsu+Ie7PFNAH0z)%8TrINAU$b|dY_&3Je)MF&443( zjyDR&x@+V(Md?&LRSs&v@A~jx($qzFP4Vlds<67O9qn6s%B;IQ3lg?k+dU&B-?=8K z_un$KpNI$W>Gox$l6NCRvKJr5;2N{u*U4ZOhK^L|2F;I0e+77_UKjHI3MeI)rYZ}W zt+6ahq8H;D2vr=%O_cVOe%3R0oCWMb!_ovwJ(-vt?_l$WmFe)~zXw_EV|r-jC1Tj8 z`Y~JeBpc*6&9oIQU6Ar;-<|N?w`_2wvifBNlem0u3ygx<=9NMPa%9ag?7S zJ*`!tJO6pi`F<)wfg@F23VDrpOf_*c;wZZ(xWu_@RK`1Esz<%yC2!=sbp;8^P6ids zZd-Ly_|0uLdu`pbV@qCbvwcFqYL7(g*EGIpOHe6Q?LL!9#3pI^d7MD+cf$StViWWq zfX?qW!941^NJ>IAR2L4Lr^dh@@TUa);vtd`5T>}wfywnl3dMCLL$5;kvjWf?C~|=$ z*I<;Qys*4sSSb*_aw0(*h;Z*~Nfe1fj@qH}m`>gh4?)z8-!6t92p|vmk_=%XWnWfH z4B4#5zr0|jSU271ttoh`D>b(;95tmvx%ac7E15gUPUP3}GWbHFSmZv$+G04Pwuz3l zEXnO!BI!TmWA1N(#*bPSuN66W)s>Jszfr9$5Hvw<@XRL2?~TS$eaCh7xaWaueqiOLQd zia;M^p??5&!+>HX=>y#*%dcLsVc}D+zPOGBb3k)1So1Ver+nyD8!sL%@wO)4pe4#U z-roOgQ}rl39%adw;c@yEXgs%;n0=y@;IRZZu^>tDL(_UVx`JTa?^b2tn1+^*>20bL zsN*~N#G~4g1ur74iB7u&s}}O%C3k9KXSCr*Ea_wK^u;Gs#xA!i662mdDe%bRJ-jke zPEe!el$kq^O6}-

cU# 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 JbmZLi{{amJGD`pe literal 0 HcmV?d00001 diff --git a/test/huxley/test.html b/test/huxley/test.html new file mode 100644 index 000000000..3b992dece --- /dev/null +++ b/test/huxley/test.html @@ -0,0 +1,22 @@ + + + + Huxley test + + + + + + +
+ + +