aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/sshguard.rb
diff options
context:
space:
mode:
authorSergey M․2015-02-28 00:42:07 +0600
committerTim D. Smith2015-02-27 14:58:12 -0800
commit027014a20ad50803f9a1e8beb27dadcb464fdab7 (patch)
tree1f2ccc980a4adae5d19b77821ef82cff1f56f222 /Library/Formula/sshguard.rb
parent7e2765ffafd8ebf16e5b20f1c395f36f029bdd2a (diff)
downloadhomebrew-027014a20ad50803f9a1e8beb27dadcb464fdab7.tar.bz2
youtube-dl 2
'use strict';

describe('angular.scenario.Future', function() {
  var future;

  it('should set the sane defaults', function() {
    var behavior = function() {};
    var future = new angular.scenario.Future('test name', behavior, 'foo');
    expect(future.name).toEqual('test name');
    expect(future.behavior).toEqual(behavior);
    expect(future.line).toEqual('foo');
    expect(future.value).toBeUndefined();
    expect(future.fulfilled).toBeFalsy();
    expect(future.parser).toEqual(angular.identity);
  });

  it('should be fulfilled after execution and done callback', function() {
    var future = new angular.scenario.Future('test name', function(done) {
      done();
    });
    future.execute(angular.noop);
    expect(future.fulfilled).toBeTruthy();
  });

  it('should take callback with (error, result) and forward', function() {
    var future = new angular.scenario.Future('test name', function(done) {
      done(10, 20);
    });
    future.execute(function(error, result) {
      expect(error).toEqual(10);
      expect(result).toEqual(20);
    });
  });

  it('should use error as value if provided', function() {
    var future = new angular.scenario.Future('test name', function(done) {
      done(10, 20);
    });
    future.execute(angular.noop);
    expect(future.value).toEqual(10);
  });

  it('should parse json with fromJson', function() {
    var future = new angular.scenario.Future('test name', function(done) {
      done(null, "{test: 'foo'}");
    });
    future.fromJson().execute(angular.noop);
    expect(future.value).toEqual({test: 'foo'});
  });

  it('should convert to json with toJson', function() {
    var future = new angular.scenario.Future('test name', function(done) {
      done(null, {test: 'foo'});
    });
    future.toJson().execute(angular.noop);
    expect(future.value).toEqual('{"test":"foo"}');
  });

  it('should convert with custom parser', function() {
    var future = new angular.scenario.Future('test name', function(done) {
      done(null, 'foo');
    });
    future.parsedWith(function(value) {
      return value.toUpperCase();
    }).execute(angular.noop);
    expect(future.value).toEqual('FOO');
  });

  it('should pass error if parser fails', function() {
    var future = new angular.scenario.Future('test name', function(done) {
      done(null, '{');
    });
    future.fromJson().execute(function(error, result) {
      expect(error).toBeDefined();
    });
  });
});