Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing response from a call back failure. #303

Open
ajfisher opened this issue Aug 13, 2015 · 0 comments
Open

Testing response from a call back failure. #303

ajfisher opened this issue Aug 13, 2015 · 0 comments

Comments

@ajfisher
Copy link

So I have some code that requires waiting for a call back and testing the response of it.

For some reason the callback never managed to get called. I've stepped through the code with the debugger but the nodeunit process finishes (with unfinished tests) before the callback can actually fire. I have no doubt I am doing something wrong but no idea what.

This is the test code I'm using:

exports["Strip - Firmata"] = {
      setUp: function(done){
          this.board = newBoard();
          done();
      },
      tearDown: function(done) {
          Board.purge();
          restore(this);
          done();
      },

      stripReady: function(test) {
          test.expect(1);

          var strip = new pixel.Strip({
              data: 6,
              length: 8,
              board: this.board,
              controller: "FIRMATA",
          });

          strip.on("ready", function() {
              console.log("strip ready");
              test.ok(true);
              test.done();
          });
      },
  }

For context: The stripReady test needs to test that a particular event is being emitted by the strip object once it's good to go (this is talking to some hardware behind the scenes). Down the line I'll want to test the appropriate error events as well.

When I trace this with the debugger, the strip constructor gets called, the handler gets bound but right at the moment the handler is bound nodeunit then exits.

As such it doesn't get a chance to drop into the ready handler shown above. I can trace to the point where it emits the message on the Strip side but that event handler never gets called.

So the question is how do I get nodeunit to hang around long enough to get the response back?

FYI the strip constructor is correct and it working properly with the hardware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant