123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- module("Decorators")
- var Utils = require("select2/utils");
- test("overridden", function (assert) {
- function BaseClass () {};
- BaseClass.prototype.hello = function () {
- return "A";
- }
- function DecoratorClass () {};
- DecoratorClass.prototype.hello = function () {
- return "B";
- }
- var DecoratedClass = Utils.Decorate(BaseClass, DecoratorClass);
- var inst = new DecoratedClass();
- assert.strictEqual(inst.hello(), "B");
- });
- test("overridden - constructor", function (assert) {
- function BaseClass () {
- this.inherited = true;
- };
- BaseClass.prototype.hello = function () {
- return "A";
- }
- function DecoratorClass (decorated) {
- this.called = true;
- };
- DecoratorClass.prototype.other = function () {
- return "B";
- }
- var DecoratedClass = Utils.Decorate(BaseClass, DecoratorClass);
- var inst = new DecoratedClass();
- assert.ok(inst.called);
- assert.ok(!inst.inherited);
- });
- test("not overridden", function (assert) {
- function BaseClass () {};
- BaseClass.prototype.hello = function () {
- return "A";
- }
- function DecoratorClass () {};
- DecoratorClass.prototype.other = function () {
- return "B";
- }
- var DecoratedClass = Utils.Decorate(BaseClass, DecoratorClass);
- var inst = new DecoratedClass();
- assert.strictEqual(inst.hello(), "A");
- });
- test("not overridden - constructor", function (assert) {
- function BaseClass () {
- this.called = true;
- };
- BaseClass.prototype.hello = function () {
- return "A";
- }
- function DecoratorClass () {};
- DecoratorClass.prototype.other = function () {
- return "B";
- }
- var DecoratedClass = Utils.Decorate(BaseClass, DecoratorClass);
- var inst = new DecoratedClass();
- assert.ok(inst.called);
- });
- test("inherited", function (assert) {
- function BaseClass () {
- this.inherited = true;
- };
- BaseClass.prototype.hello = function () {
- return "A";
- }
- function DecoratorClass (decorated) {
- this.called = true;
- decorated.call(this);
- };
- DecoratorClass.prototype.hello = function (decorated) {
- return "B" + decorated.call(this) + "C";
- }
- var DecoratedClass = Utils.Decorate(BaseClass, DecoratorClass);
- var inst = new DecoratedClass();
- assert.strictEqual(inst.hello(), "BAC");
- });
- test("inherited - constructor", function (assert) {
- function BaseClass () {
- this.inherited = true;
- };
- BaseClass.prototype.hello = function () {
- return "A";
- }
- function DecoratorClass (decorated) {
- this.called = true;
- decorated.call(this);
- };
- DecoratorClass.prototype.other = function () {
- return "B";
- }
- var DecoratedClass = Utils.Decorate(BaseClass, DecoratorClass);
- var inst = new DecoratedClass();
- assert.ok(inst.called);
- assert.ok(inst.inherited);
- });
|