summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2013-07-26 18:07:15 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2013-07-26 18:07:15 +0200
commite01b96e76290ba6e0689bc143deeb79bcef9701e (patch)
tree275ad84e25b1c9958afba6464fe93a87f20b2bdd /addons/web/static
parent89a9ab8cd055befb2e379b9f9366e5a8cdc8b385 (diff)
Put class and widgets tests in framework.js
bzr revid: nicolas.vanhoren@openerp.com-20130726160715-adjyalkubyismvao
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/test/class.js133
-rw-r--r--addons/web/static/test/framework.js (renamed from addons/web/static/test/Widget.js)135
2 files changed, 135 insertions, 133 deletions
diff --git a/addons/web/static/test/class.js b/addons/web/static/test/class.js
deleted file mode 100644
index bb3fb7e12b9..00000000000
--- a/addons/web/static/test/class.js
+++ /dev/null
@@ -1,133 +0,0 @@
-openerp.testing.section('class', {
- dependencies: ['web.corelib']
-}, function (test) {
- test('Basic class creation', function (instance) {
- var C = instance.web.Class.extend({
- foo: function () {
- return this.somevar;
- }
- });
- var i = new C();
- i.somevar = 3;
-
- ok(i instanceof C);
- strictEqual(i.foo(), 3);
- });
- test('Class initialization', function (instance) {
- var C1 = instance.web.Class.extend({
- init: function () {
- this.foo = 3;
- }
- });
- var C2 = instance.web.Class.extend({
- init: function (arg) {
- this.foo = arg;
- }
- });
-
- var i1 = new C1(),
- i2 = new C2(42);
-
- strictEqual(i1.foo, 3);
- strictEqual(i2.foo, 42);
- });
- test('Inheritance', function (instance) {
- var C0 = instance.web.Class.extend({
- foo: function () {
- return 1;
- }
- });
- var C1 = C0.extend({
- foo: function () {
- return 1 + this._super();
- }
- });
- var C2 = C1.extend({
- foo: function () {
- return 1 + this._super();
- }
- });
-
- strictEqual(new C0().foo(), 1);
- strictEqual(new C1().foo(), 2);
- strictEqual(new C2().foo(), 3);
- });
- test('In-place extension', function (instance) {
- var C0 = instance.web.Class.extend({
- foo: function () {
- return 3;
- },
- qux: function () {
- return 3;
- },
- bar: 3
- });
- C0.include({
- foo: function () {
- return 5;
- },
- qux: function () {
- return 2 + this._super();
- },
- bar: 5,
- baz: 5
- });
-
- strictEqual(new C0().bar, 5);
- strictEqual(new C0().baz, 5);
- strictEqual(new C0().foo(), 5);
- strictEqual(new C0().qux(), 5);
- });
- test('In-place extension and inheritance', function (instance) {
- var C0 = instance.web.Class.extend({
- foo: function () { return 1; },
- bar: function () { return 1; }
- });
- var C1 = C0.extend({
- foo: function () { return 1 + this._super(); }
- });
- strictEqual(new C1().foo(), 2);
- strictEqual(new C1().bar(), 1);
-
- C1.include({
- foo: function () { return 2 + this._super(); },
- bar: function () { return 1 + this._super(); }
- });
- strictEqual(new C1().foo(), 4);
- strictEqual(new C1().bar(), 2);
- });
- test('In-place extensions alter existing instances', function (instance) {
- var C0 = instance.web.Class.extend({
- foo: function () { return 1; },
- bar: function () { return 1; }
- });
- var i = new C0();
- strictEqual(i.foo(), 1);
- strictEqual(i.bar(), 1);
-
- C0.include({
- foo: function () { return 2; },
- bar: function () { return 2 + this._super(); }
- });
- strictEqual(i.foo(), 2);
- strictEqual(i.bar(), 3);
- });
- test('In-place extension of subclassed types', function (instance) {
- var C0 = instance.web.Class.extend({
- foo: function () { return 1; },
- bar: function () { return 1; }
- });
- var C1 = C0.extend({
- foo: function () { return 1 + this._super(); },
- bar: function () { return 1 + this._super(); }
- });
- var i = new C1();
- strictEqual(i.foo(), 2);
- C0.include({
- foo: function () { return 2; },
- bar: function () { return 2 + this._super(); }
- });
- strictEqual(i.foo(), 3);
- strictEqual(i.bar(), 4);
- });
-});
diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/framework.js
index ce48fd529b2..5848c5cde7f 100644
--- a/addons/web/static/test/Widget.js
+++ b/addons/web/static/test/framework.js
@@ -4,6 +4,141 @@ var ropenerp = window.openerp;
var openerp = ropenerp.declare($, _, QWeb2);
+ropenerp.testing.section('class', {
+ dependencies: ['web.corelib']
+}, function (test) {
+ test('Basic class creation', function (instance) {
+ var C = instance.web.Class.extend({
+ foo: function () {
+ return this.somevar;
+ }
+ });
+ var i = new C();
+ i.somevar = 3;
+
+ ok(i instanceof C);
+ strictEqual(i.foo(), 3);
+ });
+ test('Class initialization', function (instance) {
+ var C1 = instance.web.Class.extend({
+ init: function () {
+ this.foo = 3;
+ }
+ });
+ var C2 = instance.web.Class.extend({
+ init: function (arg) {
+ this.foo = arg;
+ }
+ });
+
+ var i1 = new C1(),
+ i2 = new C2(42);
+
+ strictEqual(i1.foo, 3);
+ strictEqual(i2.foo, 42);
+ });
+ test('Inheritance', function (instance) {
+ var C0 = instance.web.Class.extend({
+ foo: function () {
+ return 1;
+ }
+ });
+ var C1 = C0.extend({
+ foo: function () {
+ return 1 + this._super();
+ }
+ });
+ var C2 = C1.extend({
+ foo: function () {
+ return 1 + this._super();
+ }
+ });
+
+ strictEqual(new C0().foo(), 1);
+ strictEqual(new C1().foo(), 2);
+ strictEqual(new C2().foo(), 3);
+ });
+ test('In-place extension', function (instance) {
+ var C0 = instance.web.Class.extend({
+ foo: function () {
+ return 3;
+ },
+ qux: function () {
+ return 3;
+ },
+ bar: 3
+ });
+ C0.include({
+ foo: function () {
+ return 5;
+ },
+ qux: function () {
+ return 2 + this._super();
+ },
+ bar: 5,
+ baz: 5
+ });
+
+ strictEqual(new C0().bar, 5);
+ strictEqual(new C0().baz, 5);
+ strictEqual(new C0().foo(), 5);
+ strictEqual(new C0().qux(), 5);
+ });
+ test('In-place extension and inheritance', function (instance) {
+ var C0 = instance.web.Class.extend({
+ foo: function () { return 1; },
+ bar: function () { return 1; }
+ });
+ var C1 = C0.extend({
+ foo: function () { return 1 + this._super(); }
+ });
+ strictEqual(new C1().foo(), 2);
+ strictEqual(new C1().bar(), 1);
+
+ C1.include({
+ foo: function () { return 2 + this._super(); },
+ bar: function () { return 1 + this._super(); }
+ });
+ strictEqual(new C1().foo(), 4);
+ strictEqual(new C1().bar(), 2);
+ });
+ test('In-place extensions alter existing instances', function (instance) {
+ var C0 = instance.web.Class.extend({
+ foo: function () { return 1; },
+ bar: function () { return 1; }
+ });
+ var i = new C0();
+ strictEqual(i.foo(), 1);
+ strictEqual(i.bar(), 1);
+
+ C0.include({
+ foo: function () { return 2; },
+ bar: function () { return 2 + this._super(); }
+ });
+ strictEqual(i.foo(), 2);
+ strictEqual(i.bar(), 3);
+ });
+ test('In-place extension of subclassed types', function (instance) {
+ var C0 = instance.web.Class.extend({
+ foo: function () { return 1; },
+ bar: function () { return 1; }
+ });
+ var C1 = C0.extend({
+ foo: function () { return 1 + this._super(); },
+ bar: function () { return 1 + this._super(); }
+ });
+ var i = new C1();
+ strictEqual(i.foo(), 2);
+ C0.include({
+ foo: function () { return 2; },
+ bar: function () { return 2 + this._super(); }
+ });
+ strictEqual(i.foo(), 3);
+ strictEqual(i.bar(), 4);
+ });
+});
+
+
ropenerp.testing.section('Widget.proxy', {
}, function (test) {
test('(String)', function () {