File: run.t

package info (click to toggle)
ocaml-odoc 3.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 14,008 kB
  • sloc: ml: 60,567; javascript: 2,572; sh: 566; makefile: 31
file content (132 lines) | stat: -rw-r--r-- 4,860 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
Simulate a wrapped library. `A` is the entry point (eg. `Stdlib`), the other
modules are accessible through `A` (eg. `Stdlib.Int64`).

We test that the "wrapped" modules (eg. `A.B`, rendered to `html/A/B`) have their
documentation in their preamble
and that "hidden" modules (eg. `A__b`, rendered to `html/A__b`) are not rendered.

  $ ocamlc -bin-annot -o a__b.cmi -c b.mli
  $ ocamlc -bin-annot -o a__b.cmo -c b.ml
  $ ocamlc -bin-annot -o a.cmi -c a.mli
  $ ocamlc -bin-annot -o a.cmo -c a.ml
  $ ocamlc -bin-annot -a -o a.cma a__b.cmo a.cmo

  $ odoc compile --pkg test -o a__b.odoc -I . a__b.cmti
  $ odoc compile --pkg test -o a.odoc -I . a.cmti
  File "a.mli", line 4, characters 4-17:
  Warning: Canonical paths must contain a dot, eg. X.Y.

  $ odoc link -I . a__b.odoc
  $ odoc link -I . a.odoc

  $ odoc html-generate --indent -o html a.odocl
  $ odoc html-generate --indent -o html a__b.odocl

  $ odoc html-targets -o html a.odocl
  html/test/A/index.html
  html/test/A/B/index.html
  $ odoc html-targets -o html a__b.odocl
  html/test/A__b/index.html

  $ cat html/test/A/index.html
  <!DOCTYPE html>
  <html xmlns="http://www.w3.org/1999/xhtml">
   <head><title>A (test.A)</title><meta charset="utf-8"/>
    <link rel="stylesheet" href="../../odoc.css"/>
    <meta name="generator" content="odoc 3.1.0"/>
    <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
    <script src="../../highlight.pack.js"></script>
    <script>hljs.initHighlightingOnLoad();</script>
   </head>
   <body class="odoc">
    <nav class="odoc-nav"><a href="../index.html">Up</a> – 
     <a href="../../index.html">Index</a> &#x00BB; 
     <a href="../index.html">test</a> &#x00BB; A
    </nav>
    <header class="odoc-preamble"><h1>Module <code><span>A</span></code></h1>
     <p>Module A.</p>
    </header>
    <div class="odoc-content">
     <div class="odoc-spec">
      <div class="spec module anchored" id="module-B">
       <a href="#module-B" class="anchor"></a>
       <code>
        <span><span class="keyword">module</span> <a href="B/index.html">B</a>
        </span>
        <span> : <span class="keyword">sig</span> ... 
         <span class="keyword">end</span>
        </span>
       </code>
      </div>
      <div class="spec-doc"><p>Module B. This paragraph is the synopsis.</p>
      </div>
     </div>
    </div>
   </body>
  </html>

`A/B` should have its documentation in the preamble:

  $ cat html/test/A/B/index.html
  <!DOCTYPE html>
  <html xmlns="http://www.w3.org/1999/xhtml">
   <head><title>B (test.A.B)</title><meta charset="utf-8"/>
    <link rel="stylesheet" href="../../../odoc.css"/>
    <meta name="generator" content="odoc 3.1.0"/>
    <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
    <script src="../../../highlight.pack.js"></script>
    <script>hljs.initHighlightingOnLoad();</script>
   </head>
   <body class="odoc">
    <nav class="odoc-nav"><a href="../index.html">Up</a> – 
     <a href="../../../index.html">Index</a> &#x00BB; 
     <a href="../../index.html">test</a> &#x00BB; <a href="../index.html">A</a>
      &#x00BB; B
    </nav>
    <header class="odoc-preamble"><h1>Module <code><span>A.B</span></code></h1>
     <p>Module B. This paragraph is the synopsis.</p>
     <p>This paragraph and the previous are part of the preamble.</p>
    </header>
    <div class="odoc-tocs">
     <nav class="odoc-toc odoc-local-toc">
      <ul><li><a href="#an-heading">An heading</a></li></ul>
     </nav>
    </div>
    <div class="odoc-content">
     <h3 id="an-heading"><a href="#an-heading" class="anchor"></a>An heading
     </h3>
     <p>This paragraph is not part of the preamble. It'll be rendered in
       the &quot;content&quot;.
     </p>
     <div class="odoc-spec">
      <div class="spec type anchored" id="type-t">
       <a href="#type-t" class="anchor"></a>
       <code><span><span class="keyword">type</span> t</span></code>
      </div>
     </div>
    </div>
   </body>
  </html>

`A__b` shouldn't have any real content:

  $ cat html/test/A__b/index.html
  <!DOCTYPE html>
  <html xmlns="http://www.w3.org/1999/xhtml">
   <head><title>A__b (test.A__b)</title><meta charset="utf-8"/>
    <link rel="stylesheet" href="../../odoc.css"/>
    <meta name="generator" content="odoc 3.1.0"/>
    <meta name="viewport" content="width=device-width,initial-scale=1.0"/>
    <script src="../../highlight.pack.js"></script>
    <script>hljs.initHighlightingOnLoad();</script>
   </head>
   <body class="odoc">
    <nav class="odoc-nav"><a href="../index.html">Up</a> – 
     <a href="../../index.html">Index</a> &#x00BB; 
     <a href="../index.html">test</a> &#x00BB; A__b
    </nav>
    <header class="odoc-preamble">
     <h1>Module <code><span>A__b</span></code></h1>
    </header><div class="odoc-content"><p>This module is hidden.</p></div>
   </body>
  </html>