 So this session is on test driving a jQuery plugin. Just a disclaimer, while this is about test driving a jQuery plugin, this is also about test driving any JavaScript. There wouldn't be much of a difference. And there's also going to be a bunch of functional take on how I'm going to try and do things. So I'm kind of trying to push in a bunch of different things into this talk. It's a demo, so I'm going to be live coding pretty much throughout. So if you get scared seeing code on the screen, probably this session is not for you. So with that disclaimer, I'm going to get started. I'm going to talk about for the next 90 minutes, this is basically what we want to cover. We're going to quickly spend the first five minutes just doing the basic setup. So we have all the prerequisites that we need in terms of WebStorm, NPM, Jasmine, Karma. These are a bunch of tools that I'm going to be using. So we'll spend about five minutes show you how trivial it is to set this up and get up and running. Then onwards, I'm going to try and basically... So I built a jQuery plugin for Commence. And that's what basically we want to try and do is how to test drive a Commence plugin. So if you have any website and you want to have Commence in there and you want to use jQuery to do displaying your Commence and other kinds of things, that's basically what we're going to try and do. And then we're going to try and show you how to move towards an MVVM kind of a design pattern for a jQuery plugin, which I think not many people talk about that, but that's something that I want to try and attempt in this particular live demo. And I'm going to also show you how to stub out Ajax calls so that you can pretty much run your tests without, you know, depending on the server lying around for doing basic stuff, basic testing. All right. Is that cool with everyone? So that's a quick snapshot of the actual plugin that I was talking about. So this is, if you use Confengine, which is our submission system, basically the plugin that is there is built using this. So I'm going to try and obviously we're not going to get all the way through doing every single functionality in this. There's a lot of functionality going on, but you will probably see how we can approach this particular problem if you were to build nested comments, if you were to build private comments, other kinds of features, a whole bunch of different things. So that's basically what I'm trying to tackle. How many people are familiar with test-driven development? Just a quick show of hands. Okay, awesome. And how many people are, you know, doing test-driven development on your JavaScript? Just show up your hands. These are the guys. If, you know, if you ask any questions, these are the guys who will answer it because I don't.