summaryrefslogtreecommitdiff
path: root/doc/_extensions/autojsdoc/parser/tests/test_module.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_module.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_module.py')
-rw-r--r--doc/_extensions/autojsdoc/parser/tests/test_module.py173
1 files changed, 0 insertions, 173 deletions
diff --git a/doc/_extensions/autojsdoc/parser/tests/test_module.py b/doc/_extensions/autojsdoc/parser/tests/test_module.py
deleted file mode 100644
index 2a63cc1754c..00000000000
--- a/doc/_extensions/autojsdoc/parser/tests/test_module.py
+++ /dev/null
@@ -1,173 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from autojsdoc.parser import jsdoc
-from support import params, parse, BASE_MODULES
-
-
-def test_single():
- [mod] = parse("""
- /**
- * This is a super module!
- */
- odoo.define('supermodule', function (req) {
- var other = req('other');
- });
- """)
- assert mod.name == 'supermodule'
- assert mod.dependencies == {'other'}
- assert mod.exports is None
- assert mod.doc == "This is a super module!"
- m = mod.get_property('other')
- assert m.name == 'value', "property is exported value not imported module"
-
-def test_multiple():
- [mod1, mod2, mod3] = parse("""
- odoo.define('module1', function (req) {
- return 1;
- });
- odoo.define('module2', function (req) {
- return req('dep2');
- });
- odoo.define('module3', function (req) {
- var r = req('dep3');
- return r;
- });
- """)
- assert mod1.name == 'module1'
- assert mod1.dependencies == set()
- assert isinstance(mod1.exports, jsdoc.LiteralDoc)
- assert mod1.exports.value == 1.0
- assert mod1.exports['sourcemodule'] is mod1
- assert mod1.doc == ""
-
- assert mod2.name == 'module2'
- assert mod2.dependencies == {'dep2'}
- assert isinstance(mod2.exports, jsdoc.LiteralDoc)
- assert mod2.exports.value == 42.0
- assert mod2.doc == ""
-
- assert mod3.name == 'module3'
- assert mod3.dependencies == {'dep3'}
- assert isinstance(mod3.exports, jsdoc.LiteralDoc)
- assert mod3.exports.value == 56.0
- assert mod3.doc == ''
-
-def test_func():
- [mod] = parse("""
- odoo.define('module', function (d) {
- /**
- * @param {Foo} bar this is a bar
- * @param {Baz} qux this is a qux
- */
- return function (bar, qux) {
- return 42;
- }
- });
- """)
- exports = mod.exports
- assert type(exports) == jsdoc.FunctionDoc
- assert exports['sourcemodule'] is mod
-
- assert exports.name == ''
- assert exports.is_constructor == False
- assert exports.is_private == False
-
- assert params(exports.params[0]) == ('bar', 'Foo', 'this is a bar')
- assert params(exports.params[1]) == ('qux', 'Baz', 'this is a qux')
- assert params(exports.return_val) == ('', '', '')
-
-def test_hoist():
- [mod] = parse("""
- odoo.define('module', function() {
- return foo;
- /**
- * @param a_thing
- */
- function foo(a_thing) {
- return 42;
- }
- });
- """)
- actual = mod.exports
- assert type(actual) == jsdoc.FunctionDoc
- [param] = actual.params
- assert params(param) == ('a_thing', '', '')
-
-def test_export_instance():
- [mod] = parse("""
- odoo.define('module', function (require) {
- var Class = require('Class');
- /**
- * Provides an instance of Class
- */
- return new Class();
- });
- """)
- assert type(mod.exports) == jsdoc.InstanceDoc
- assert mod.exports.doc == 'Provides an instance of Class'
- assert mod.exports['sourcemodule'] is mod
-
-def test_bounce():
- [m2, m1] = parse("""
- odoo.define('m2', function (require) {
- var Item = require('m1');
- return {
- Item: Item
- };
- });
- odoo.define('m1', function (require) {
- var Class = require('Class');
- var Item = Class.extend({});
- return Item;
- });
- """)
- assert type(m2.exports) == jsdoc.NSDoc
- it = m2.exports.get_property('Item')
- assert type(it) == jsdoc.ClassDoc
- assert it['sourcemodule'] is m1
- assert sorted([n for n, _ in m1.properties]) == ['<exports>', 'Class', 'Item']
-
-def test_reassign():
- [m] = parse("""
- odoo.define('m', function (require) {
- var Class = require('Class');
- /** local class */
- var Class = Class.extend({});
- return Class
- });
- """)
- assert m.exports.doc == 'local class'
- # can't use equality or identity so use class comment...
- assert m.exports.superclass.doc == 'Base Class'
-
-def test_attr():
- [m1, m2] = parse("""
- odoo.define('m1', function (require) {
- var Class = require('Class');
- var Item = Class.extend({});
- return {Item: Item};
- });
- odoo.define('m2', function (require) {
- var Item = require('m1').Item;
- Item.include({});
- return Item.extend({});
- });
- """)
- assert type(m2.exports) == jsdoc.ClassDoc
- # that these two are resolved separately may be an issue at one point (?)
- assert m2.exports.superclass.to_dict() == m1.exports.get_property('Item').to_dict()
-
-def test_nothing_implicit():
- [m] = parse("""
- odoo.define('m', function () {
- });
- """)
- assert m.exports is None
-
-def test_nothing_explicit():
- [m] = parse("""
- odoo.define('m', function () {
- return;
- });
- """)
- assert m.exports is None