Thanks.  So where exactly would you put var locals, in the create method or 
outside that?


On Friday, March 20, 2015 at 9:50:24 AM UTC-5, zladuric wrote:
>
> phantom.create() and then the createPage() are async. That means that by 
> the time the interpreter gets to the module.exports section, your _page is 
> stil not bound. It only fired a phantom.create, and it's still waiting for 
> its callback and phantom.createPage callback. You could probably add a 
> console.log('Creating exports') just above creating module.exports and I 
> bet that one would be shown before the other two log lines.
>
> Now, you would have to defer creating the exports, or at least put page in 
> something like `var locals = {page: <placeholder>}`, and then calling it as 
> locals.page.open() later. I think something like that would work.
>
> On Thursday, March 19, 2015 at 9:39:36 PM UTC+1, CoffeeManiac wrote:
>>
>> I can't figure out why I lose the object instance for my variable _page 
>> once it gets inside the function for the module.exports.  It bombs out here 
>> because _page is undefined but it's fine and has an instance BEFORE this 
>> _page.open 
>>
>> var phantom = require('phantom'), _ph, _page;
>> var should = require('chai').should();
>>
>> phantom.create("--web-security=no", "--ignore-ssl-errors=yes", { port: 12345 
>> }, function (ph) {
>>     console.log("Phantom Bridge Initiated");
>>     _ph = ph;
>>
>>     _ph.createPage(function(page) {
>>         console.log("Page created!");
>>         _page = page;
>>     });
>>
>>     phaçntom.exit();
>> });
>>
>>
>> module.exports = function() {
>>     "use strict";
>>
>>     this.Given(/^I visit the episodes display page$/, function (callback) {
>>
>>         console.log("_page: " + _page);
>>         _page.open("/", function(status){
>>
>>             status.should.equal("success");
>>         });
>>
>>         callback();
>>
>>     });
>>
>>
>>     this.Then(/^I should not see any episodes listed$/, function (callback) {
>>         //page.should.have.content("There are no episodes available");
>>
>>         callback.pending();
>>     });
>>
>>
>>
>>     this.Given(/^there are some episodes to view$/, function (callback) {
>>         // Write code here that turns the phrase above into concrete actions
>>         callback.pending();
>>     });
>>
>>     this.When(/^I go to the episodes display page$/, function (callback) {
>>         // Write code here that turns the phrase above into concrete actions
>>         callback.pending();
>>     });
>>
>>     this.Then(/^I should see a list of episodes grouped by Topic$/, function 
>> (callback) {
>>         // Write code here that turns the phrase above into concrete actions
>>         callback.pending();
>>     });
>>
>>
>> };
>>
>>

-- 
Job board: http://jobs.nodejs.org/
New group rules: 
https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/nodejs/8ca70616-3973-4dd2-b0e0-f186b63bc27f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to