Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <title>Testing Routes</title>
  <meta name="description" content="guide: testing-routes-1" />
  <meta charset="utf-8">
  <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/release/ember.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="ember-testing"></div>
  <script type="text/x-handlebars">
    {{#link-to 'index'}}Home{{/link-to}}
    {{#link-to 'about'}}About{{/link-to}}
    {{#link-to 'contact'}}Contact{{/link-to}}
    {{outlet}}
  </script>
  <script type="text/x-handlebars" data-template-name="index">
    <h1>Home</h1>
    <button {{action "displayAlert" text}}>Trigger Alert</button>
  </script>
  <script type="text/x-handlebars" data-template-name="about">
    <h1>About</h1>
    <button {{action "displayAlert" text}}>Trigger Alert</button>
  </script>
  <script type="text/x-handlebars" data-template-name="contact">
    <h1>Contact</h1>
    <button {{action "displayAlert" text}}>Trigger Alert</button>
  </script>
  
</body>
</html>
 
/* Put your CSS here */
html, body {
    margin: 10px;
}
 
/*=================== APP ====================*/
App = Ember.Application.create({
  rootElement: '#ember-app'
});
 
App.Router.map(function() {
  this.route('about');
  this.route('contact');
});
App.ApplicationRoute = Em.Route.extend({
  _displayAlert: function(text) {
    alert(text);
  },
  actions: {
    displayAlert: function(text) {
      this._displayAlert(text);
    }
  }
});
App.IndexController = Em.Controller.extend({
  text: 'Home'
});
App.AboutController = Em.Controller.extend({
  text: 'About'
});
App.ContactController = Em.Controller.extend({
  text: 'Contact'
});
/*=================== TESTS ====================*/
emq.globalize();
setResolver(Ember.DefaultResolver.create({ namespace: App }));
App.setupForTesting();
var originalAlert; 
moduleFor('route:application', 'Unit: route/application', {
  setup: function() { 
    originalAlert = window.alert;
  },
  teardown: function() {
    window.alert = originalAlert;
  }
});
test('Alert is called on displayAlert', function() {
  expect(1);
  var route = this.subject();
  var expectedText = 'foo';
  window.alert = function(text) {
    equal(text, expectedText, 'expected ' + text + ' to be ' + expectedText);
  }
  route._displayAlert(expectedText);
});
Output

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

Dismiss x