summaryrefslogtreecommitdiff
path: root/doc/_extensions/autojsdoc/parser/tests/test_namespace.py
diff options
context:
space:
mode:
authorVictor Feyens <vfe@odoo.com>2021-04-30 13:24:57 +0000
committerAntoine Vandevenne (anv) <anv@odoo.com>2021-05-04 08:09:20 +0000
commit27bad8c3e32049ec69a588df0558e57a0b928309 (patch)
treeb60e430163d486c8c1fd052738c9854aeb8300f5 /doc/_extensions/autojsdoc/parser/tests/test_namespace.py
parent75a122bbae3a32bfa79da3506179fc63a8bced5d (diff)
[MOV] doc: move documentation to a dedicated repository
In odoo/documentation-user#945, the developer documentation is merged with the user documentation in a single repository and build config. This commit then removes source files for the developer documentation from the odoo/odoo repository. DOC PR: https://github.com/odoo/documentation-user/pull/945 task-2351938 task-2352371 task-2205684 task-2352544 Co-authored-by: Victor Feyens <vfe@odoo.com> Co-authored-by: Antoine Vandevenne <anv@odoo.com>
Diffstat (limited to 'doc/_extensions/autojsdoc/parser/tests/test_namespace.py')
-rw-r--r--doc/_extensions/autojsdoc/parser/tests/test_namespace.py177
1 files changed, 0 insertions, 177 deletions
diff --git a/doc/_extensions/autojsdoc/parser/tests/test_namespace.py b/doc/_extensions/autojsdoc/parser/tests/test_namespace.py
deleted file mode 100644
index 54cbcf8cbb4..00000000000
--- a/doc/_extensions/autojsdoc/parser/tests/test_namespace.py
+++ /dev/null
@@ -1,177 +0,0 @@
-# -*- coding: utf-8 -*-
-from autojsdoc.parser import jsdoc
-from support import parse, params
-
-
-def test_empty():
- [mod] = parse("""
- odoo.define('a.ns', function (r) {
- return {};
- });
- """)
- assert type(mod.exports) == jsdoc.NSDoc
- assert mod.exports.properties == []
-
-def test_inline():
- [mod] = parse("""
- odoo.define('a.ns', function (r) {
- return {
- /**
- * a thing
- * @type {Boolean}
- */
- a: true
- }
- });
- """)
- assert isinstance(mod.exports, jsdoc.NSDoc)
- [(n, p)] = mod.exports.properties
- assert n == 'a'
- assert params(p) == ('a', 'Boolean', 'a thing')
-
-def test_header():
- [mod] = parse("""
- odoo.define('a.ns', function (r) {
- /**
- * @property {Boolean} a a thing
- */
- return { a: true }
- });
- """)
- assert isinstance(mod.exports, jsdoc.NSDoc)
- [(_, p)] = mod.exports.properties
- assert params(p) == ('a', 'Boolean', 'a thing')
-
-def test_header_conflict():
- """ should the header or the inline comment take precedence? """
- [mod] = parse("""
- odoo.define('a.ns', function (r) {
- /**
- * @property {Boolean} a a thing
- */
- return {
- /** @type {String} */
- a: true
- }
- });
- """)
- assert isinstance(mod.exports, jsdoc.NSDoc)
- [(_, p)] = mod.exports.properties
- assert params(p) == ('a', 'Boolean', 'a thing')
-
-def test_mixin():
- [mod] = parse("""
- odoo.define('a.mixin', function (r) {
- /**
- * @mixin
- */
- return {
- /**
- * @returns {Number} a number
- */
- do_thing: function other() { return 42; }
- }
- });
- """)
- assert isinstance(mod.exports, jsdoc.MixinDoc)
- [(n, p)] = mod.exports.properties
- assert n == 'do_thing'
- assert params(p) == ('other', 'Function', '')
- assert params(p.return_val) == ('', 'Number', 'a number')
-
-def test_literal():
- [mod] = parse("""
- odoo.define('a.ns', function (r) {
- /** whop whop */
- return {
- 'a': 1,
- /** wheee */
- 'b': 2,
- };
- });
- """)
- assert mod.exports.doc == 'whop whop'
- [(_1, a), (_2, b)] = mod.exports.properties
- assert params(a) == ('a', 'Number', '')
- assert params(b) == ('b', 'Number', 'wheee')
-
-def test_fill_ns():
- [mod] = parse("""
- odoo.define('a.ns', function (r) {
- var Class = r('Class');
- var ns = {};
- /** ok */
- ns.a = 1;
- /** @type {String} */
- ns['b'] = 2;
- /** Ike */
- ns.c = Class.extend({});
- ns.d = function () {}
- return ns;
- });
- """)
- ns = mod.exports
- assert type(ns) == jsdoc.NSDoc
- [(_a, a), (_b, b), (_c, c), (_d, d)] = ns.properties
- assert params(a) == ('a', 'Number', 'ok')
- assert params(b) == ('b', 'String', '')
- assert type(c) == jsdoc.ClassDoc
- assert type(d) == jsdoc.FunctionDoc
-
-def test_extend_other():
- [o, b] = parse("""
- odoo.define('a.ns', function () {
- /** @name outer */
- return {
- /** @name inner */
- a: {}
- };
- });
- odoo.define('b', function (r) {
- var o = r('a.ns');
- var Class = r('Class');
- /** Class 1 */
- o.a.b = Class.extend({m_b: 1});
- /** Class 2 */
- o.a['c'] = Class.extend({m_c: 1});
- });
- """)
- [(_, m)] = o.exports.properties
- assert type(m) == jsdoc.NSDoc
-
- b = m.get_property('b')
- assert type(b) == jsdoc.ClassDoc
- assert b.get_property('m_b')
- assert b.doc == 'Class 1'
-
- c = m.get_property('c')
- assert type(c) == jsdoc.ClassDoc
- assert c.get_property('m_c')
- assert c.doc == 'Class 2'
-
-def test_ns_variables():
- [mod] = parse("""
- odoo.define('A', function (r) {
- var Class = r('Class');
- var Thing = Class.extend({});
- return {
- Thing: Thing
- };
- });
- """)
- p = mod.exports.get_property('Thing')
- assert type(p) == jsdoc.ClassDoc
-
-def test_diff():
- """ Have the NS key and the underlying object differ
- """
- [mod] = parse("""
- odoo.define('mod', function (r) {
- var Class = r('Class');
- var Foo = Class.extend({});
- return { Class: Foo };
- });
- """)
- c = mod.exports.get_property('Class')
- assert type(c) == jsdoc.ClassDoc
- assert c.name == 'Foo'