Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <title>Custom Test Helpers</title>
  <meta name="description" content="Custom Test Helpers" />
  <meta charset="utf-8">
  <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css">
  <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.14.0.css">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v1.2.1.js"></script>
  <script src="http://builds.emberjs.com/beta/ember.js"></script>
  <script src="http://builds.emberjs.com/beta/ember-data.js"></script>
  <script src="http://code.jquery.com/qunit/qunit-1.14.0.js"></script>
  <script src="https://rawgithub.com/rpflorence/ember-qunit/master/dist/globals/main.js"></script>
</head>
<body>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
  <div id="ember-testing"></div>
  <script type="text/x-handlebars" data-template-name="user">
    <h4>Showing User</h4>
    <a {{action "stopTimer"}}>Stop Timer</a>
  </script>
</body>
</html>
 
/*=================== APP ====================*/
App = Ember.Application.create({
  rootElement: '#ember-testing'
});
App.Router.map(function() {
  this.route('user', { path: '/user' });
});
App.UserRoute = Ember.Route.extend({  
  activate: function() {
    this.controllerFor('user').startTimer();
  },
  
  deactivate: function() {
    this.controller.stopTimer();
  }
});
App.UserController = Ember.Controller.extend({  
  startTimer: function() {
    this._createTimer();
    // Timeout in 2 minutes
    this._timeout = Date.now() + 2*60*1000;
  },
  
  stopTimer: function() {
    if(this._timer) {
      Ember.run.cancel(this._timer);
    }
    this._timer = null;
  },
  
  _createTimer: function() {
    this._timer = Ember.run.later(this, this._timerCallback, 3000);
  },
  
  _timerCallback: function() {
    /* Check Stuff */
    if(Date.now() > this._timeout) {
      this.set('didTimeout', true);
      this._timer = null;
    } else {
      this._createTimer();
    }
  }
});
/*=================== TESTS ====================*/
App.setupForTesting();
// must be called after the helpers are registered
App.injectTestHelpers();
module('Users', {
  setup: function() {
    Ember.run(App, App.advanceReadiness);
  },
  teardown: function() {
    App.reset();
  }
});
test('show user', function() {
  visit('/user');
  andThen(function() {
    ok(true);
  });
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers