masklinn avatar masklinn committed 32ed378

Test PY_call

Comments (0)

Files changed (2)

+var py = require('../lib/py.js'),
+    expect = require('expect.js');
+
+var ev = function (str, context) {
+    return py.evaluate(py.parse(py.tokenize(str)), context);
+};
+
+describe('PY_call', function () {
+    it('should call a function', function () {
+        var called = false;
+        var f = py.PY_def.fromJSON(function () {
+            called = true;
+        });
+        py.PY_call(f);
+        expect(called).to.be(true);
+    });
+    it('should instantiate types', function () {
+        var s = py.PY_call(py.str);
+        expect(s.__class__).to.be(py.str);
+        expect(s.toJSON()).to.be('');
+    });
+    it('should __call__ objects', function () {
+        var called = false;
+        var c = py.PY_call(py.type('c', null, {
+            __call__: function () {
+                called = true;
+            }
+        }));
+        expect(called).to.be(false);
+        py.PY_call(c);
+        expect(called).to.be(true);
+    });
+});

test/helpers/call.js

-var py = require('../../lib/py.js'),
-    expect = require('expect.js');
-
-var ev = function (str, context) {
-    return py.evaluate(py.parse(py.tokenize(str)), context);
-};
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.