* Bug 10455 fixed: helpbrowser improved
[scilab.git] / scilab / modules / helptools / tests / nonreg_tests / bug_10455.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2019 - Samuel GOUGEON
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- INTERACTIVE TEST -->
9 //
10 // <-- Non-regression test for bug 10455 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/10455
14 //
15 // <-- Short Description -->
16 // In STD or NW mode, when the help browser is opened,
17 //  A) when Scilab is quit, the browser restored at the next startup
18 //    - did not display the page left when exiting
19 //    - did not list help chapters of autoloaded ATOMS modules.
20 //
21 //  B) the help browser was not updated with the new chapter when
22 //    - an ATOMS module is loaded in the session, or
23 //    - a help chapter is added with add_help_chapter()
24
25
26 function restart_scilab()
27     if getos()=="Windows"
28         host("Start """" """+sciargs()+"""")
29     else
30         host(sciargs()+" &")
31     end
32     exit
33 endfunction
34
35 // Be sure that at least one ATOMS module (with help pages) is installed and autoloaded
36 // ------------------------------------------------------------------------------------
37 // If it's not already the case, do the following:
38 // -----------------------------------------------
39 offline = atomsGetConfig("offline");
40 atomsSetConfig("offline","True")
41 in = atomsInstall(SCI+"/modules/atoms/tests/unit_tests/toolbox_7V6_1.0-1.bin.zip")
42 atomsSetConfig("offline", offline);
43 atomsAutoloadAdd(in(1));
44 restart_scilab()
45 // Otherwise: continue
46
47 // Then:
48 // ====
49 // WITH A NATIVE current help page:
50 // -------------------------------
51 help linspace
52 restart_scilab()
53 // In the new fresh session:
54 // CHECK: The help browser must be opened, and at the linspace page
55
56 // WITH a page from an ATOMS EXTERNAL MODULE:
57 // -----------------------------------------
58 // Now, open a help page belonging to an autoloaded module
59 // help <the_page>
60 help t1_function1
61 // Keep the help browser open, and:
62 restart_scilab()
63
64 // In the new fresh session:
65 // CHECK: The help browser must be opened, and at the <the_page> ATOMS module page
66
67 // Cleaning
68 atomsRemove("toolbox_7V6")
69
70
71 // ====================================
72 // When Loading an ATOMS module by hand
73 // ====================================
74 // In the ongoing session, let's Consider an installed but not loaded ATOMS module. Say plotplot.
75
76 global %helps
77 setlanguage en
78 helpbrowser(%helps(:,1), "linspace", "ru_RU", %f)
79 // Check that the page is in Russian
80 atomsLoad plotplot
81 // Check that the plotplot help chapter is listed in the browser.
82 // Check that the displayed page is still linspace in Russian.
83
84
85 // ================
86 // ADDITIONAL TESTS
87 // ================
88 // In the ongoing Scilab session, CHECK :
89 // * When the loaded external module has some dependencies
90 //   (ex: MatrixMarket depends on and installs apifun),
91 //   the updated browser must list chapters of the dependencies as well.