@samitouri / QOS-React-2 / commits / 6cfa71a3c2
Fork 0

The library for web and native user interfaces.

Run each test in an <iframe>.

Ben Newman committed May 28, 2013 at 17:15 UTC 6cfa71a3c2b431fd2dfbb78379c795b8aeb2ee53
3 files changed +72 -6
test/frame.html new
+18
@@ -0,0 +1,18 @@
1 +<!DOCTYPE html>
2 +<html>
3 + <head>
4 + <script>
5 + jasmine = parent.jasmine;
6 + jasmine.exposeFrom(window);
7 +
8 + console = parent.console;
9 + callPhantom = parent.callPhantom;
10 + </script>
11 + <script src="react-test.js"></script>
12 + </head>
13 + <body>
14 + <script>
15 + require(window.frameElement.getAttribute("test"));
16 + </script>
17 + </body>
18 +</html>
test/index.html
+46 -1
@@ -2,8 +2,15 @@
2 <html>
3 <head>
4 <link rel="stylesheet" type="text/css" href="jasmine.css" />
5 + <style type="text/css">
6 + iframe {
7 + visibility: hidden;
8 + position: absolute;
9 + left: -1000px;
10 + top: -1000px;
11 + }
12 + </style>
13 <script src="jasmine.js"></script>
6 - <script src="react-test.js"></script>
14 <script>
15 window.onload = function() {
16 require("jasmine").getEnv().execute();
@@ -11,5 +18,43 @@
18 </script>
19 </head>
20 <body>
21 + <iframe src="frame.html" test="core/__tests__/ReactBind-test"></iframe>
22 + <iframe src="frame.html" test="core/__tests__/ReactComponent-test"></iframe>
23 + <iframe src="frame.html" test="core/__tests__/ReactComponentLifeCycle-test"></iframe>
24 + <iframe src="frame.html" test="core/__tests__/ReactCompositeComponent-test"></iframe>
25 + <iframe src="frame.html" test="core/__tests__/ReactCompositeComponentDOMMinimalism-test"></iframe>
26 + <iframe src="frame.html" test="core/__tests__/ReactCompositeComponentMixin-test"></iframe>
27 + <iframe src="frame.html" test="core/__tests__/ReactCompositeComponentSpec-test"></iframe>
28 + <iframe src="frame.html" test="core/__tests__/ReactCompositeComponentState-test"></iframe>
29 + <iframe src="frame.html" test="core/__tests__/ReactCompositeComponentTransferProps-test"></iframe>
30 + <iframe src="frame.html" test="core/__tests__/ReactDOM-test"></iframe>
31 + <iframe src="frame.html" test="core/__tests__/ReactDOMIDOperations-test"></iframe>
32 + <iframe src="frame.html" test="core/__tests__/ReactEvent-test"></iframe>
33 + <iframe src="frame.html" test="core/__tests__/ReactIdentity-test"></iframe>
34 + <iframe src="frame.html" test="core/__tests__/ReactInstanceHandles-test"></iframe>
35 + <iframe src="frame.html" test="core/__tests__/ReactMountDestruction-test"></iframe>
36 + <iframe src="frame.html" test="core/__tests__/ReactMultiChildReconcile-test"></iframe>
37 + <iframe src="frame.html" test="core/__tests__/ReactMultiChildText-test"></iframe>
38 + <iframe src="frame.html" test="core/__tests__/ReactNativeComponent-test"></iframe>
39 + <iframe src="frame.html" test="core/__tests__/ReactProps-test"></iframe>
40 + <iframe src="frame.html" test="core/__tests__/ReactStateSetters-test"></iframe>
41 + <iframe src="frame.html" test="core/__tests__/refs-destruction-test"></iframe>
42 + <iframe src="frame.html" test="core/__tests__/refs-test"></iframe>
43 + <iframe src="frame.html" test="domUtils/__tests__/CSSPropertyOperations-test"></iframe>
44 + <iframe src="frame.html" test="domUtils/__tests__/DOMPropertyOperations-test"></iframe>
45 + <iframe src="frame.html" test="eventPlugins/__tests__/AnalyticsEventPlugin-test"></iframe>
46 + <iframe src="frame.html" test="eventPlugins/__tests__/ResponderEventPlugin-test"></iframe>
47 + <iframe src="frame.html" test="utils/__tests__/ImmutableObject-test"></iframe>
48 + <iframe src="frame.html" test="utils/__tests__/OrderedMap-test"></iframe>
49 + <iframe src="frame.html" test="utils/__tests__/Transaction-test"></iframe>
50 + <iframe src="frame.html" test="utils/__tests__/joinClasses-test"></iframe>
51 + <iframe src="frame.html" test="utils/__tests__/keyMirror-test"></iframe>
52 + <iframe src="frame.html" test="utils/__tests__/mapChildren-test"></iframe>
53 + <iframe src="frame.html" test="utils/__tests__/memoizeStringOnly-test"></iframe>
54 + <iframe src="frame.html" test="utils/__tests__/mergeFuncs-test"></iframe>
55 + <iframe src="frame.html" test="utils/__tests__/objFilter-test"></iframe>
56 + <iframe src="frame.html" test="utils/__tests__/objMap-test"></iframe>
57 + <iframe src="frame.html" test="vendor/error/__tests__/erx-test"></iframe>
58 + <iframe src="frame.html" test="vendor/error/__tests__/ex-test"></iframe>
59 </body>
60 </html>
test/phantom-harness.js
+8 -5
@@ -35,11 +35,6 @@ server.listen(port, function(req, res) {
35 var file = req.url.replace(/^\/+/, "");
36
37 switch (file) {
38 - case "":
39 - default:
40 - file = "index.html";
41 - break;
42 -
38 case "react-test.js":
39 file = "../build/" + file;
40 break;
@@ -51,6 +46,14 @@ server.listen(port, function(req, res) {
46 case "jasmine.js":
47 file = "../build/" + file;
48 break;
49 +
50 + case "frame.html":
51 + break;
52 +
53 + case "":
54 + default:
55 + file = "index.html";
56 + break;
57 }
58
59 if (/\.css$/i.test(file)) {