Also wouldn't the fact that I am doing a pre-mature .exit() dispose any
page that was created? I think that would also be another issue besides
just the async issue I'm assuming...
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/4186ef17-3235-4f8a-90f0-8d2399f5270a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.