This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | /** |
||
| 4 | * @file |
||
| 5 | * Grafizzi\Graph\Tests\IG09Test: a component of the Grafizzi library. |
||
| 6 | * |
||
| 7 | * (c) 2012 Frédéric G. MARAND <[email protected]> |
||
| 8 | * |
||
| 9 | * Grafizzi is free software: you can redistribute it and/or modify it under the |
||
| 10 | * terms of the GNU Lesser General Public License as published by the Free |
||
| 11 | * Software Foundation, either version 3 of the License, or (at your option) any |
||
| 12 | * later version. |
||
| 13 | * |
||
| 14 | * Grafizzi is distributed in the hope that it will be useful, but WITHOUT ANY |
||
| 15 | * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR |
||
| 16 | * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more |
||
| 17 | * details. |
||
| 18 | * |
||
| 19 | * You should have received a copy of the GNU Lesser General Public License |
||
| 20 | * along with Grafizzi, in the COPYING.LESSER.txt file. If not, see |
||
| 21 | * <http://www.gnu.org/licenses/> |
||
| 22 | */ |
||
| 23 | |||
| 24 | namespace Grafizzi\Graph\Tests; |
||
| 25 | |||
| 26 | use Grafizzi\Graph\Attribute; |
||
| 27 | use Grafizzi\Graph\Edge; |
||
| 28 | use Grafizzi\Graph\Node; |
||
| 29 | use Grafizzi\Graph\Subgraph; |
||
| 30 | |||
| 31 | require 'vendor/autoload.php'; |
||
| 32 | |||
| 33 | /** |
||
| 34 | * A recreation of Image_GraphViz test9.phpt |
||
| 35 | * |
||
| 36 | * Image_GraphViz version author: Philippe Jausions <[email protected]> |
||
| 37 | * |
||
| 38 | * Test 9: "Unit test for graph with constrained rank clusters" |
||
| 39 | * |
||
| 40 | * Note: Order of instructions differs from Image_GraphViz: Grafizzi orders the |
||
| 41 | * generated source according to the sequence of addChild() calls, whereas |
||
| 42 | * Image_GraphViz orders subgraphs before edges whatever their insertion order. |
||
| 43 | */ |
||
| 44 | class IG09Test extends BaseGraphTest { |
||
| 45 | |||
| 46 | public function setUp() : void { |
||
| 47 | // not strict by default. |
||
| 48 | parent::setUpExtended('asde91'); |
||
|
0 ignored issues
–
show
|
|||
| 49 | $g = $this->Graph; |
||
| 50 | $dic = $this->dic; |
||
| 51 | $g->setDirected(true); |
||
| 52 | $g->setAttribute(new Attribute($dic, 'ranksep', .75)); |
||
| 53 | |||
| 54 | $rankSame = new Attribute($dic, 'rank', 'same'); |
||
| 55 | $sgAttrs = array( |
||
| 56 | $rankSame, |
||
| 57 | new Attribute($dic, 'title', null), |
||
| 58 | ); |
||
| 59 | |||
| 60 | /* program types graph */ |
||
| 61 | $g->addChild($sgType = new Subgraph($dic, 'type', $sgAttrs)); |
||
| 62 | $sgType->addChild(new Node($dic, 'Software IS')); |
||
| 63 | $sgType->addChild(new Node($dic, 'Configuration Mgt')); |
||
| 64 | $sgType->addChild(new Node($dic, 'Architecture & Libraries')); |
||
| 65 | $sgType->addChild(new Node($dic, 'Process')); |
||
| 66 | |||
| 67 | /* time graphs */ |
||
| 68 | $g->addChild($sgPast = new Subgraph($dic, 'past', $sgAttrs)); |
||
| 69 | $g->addChild($sg1978 = new Subgraph($dic, 1978, $sgAttrs)); |
||
| 70 | $g->addChild($sg1980 = new Subgraph($dic, 1980, $sgAttrs)); |
||
| 71 | $g->addChild($sg1982 = new Subgraph($dic, 1982, $sgAttrs)); |
||
| 72 | $g->addChild($sg1983 = new Subgraph($dic, 1983, $sgAttrs)); |
||
| 73 | $g->addChild($sg1985 = new Subgraph($dic, 1985, $sgAttrs)); |
||
| 74 | $g->addChild($sg1986 = new Subgraph($dic, 1986, $sgAttrs)); |
||
| 75 | $g->addChild($sg1987 = new Subgraph($dic, 1987, $sgAttrs)); |
||
| 76 | $g->addChild($sg1988 = new Subgraph($dic, 1988, $sgAttrs)); |
||
| 77 | $g->addChild($sg1989 = new Subgraph($dic, 1989, $sgAttrs)); |
||
| 78 | $g->addChild($sg1990 = new Subgraph($dic, 1990, $sgAttrs)); |
||
| 79 | $g->addChild($sgFuture = new Subgraph($dic, 'future', $sgAttrs)); |
||
| 80 | |||
| 81 | /* programs */ |
||
| 82 | $sgPast->addChild($nBourneSh = new Node($dic, 'Bourne sh')); |
||
| 83 | $sgPast->addChild($nMake = new Node($dic, 'make')); |
||
| 84 | $sgPast->addChild($nSCCS = new Node($dic, 'SCCS')); |
||
| 85 | $sgPast->addChild($nYacc = new Node($dic, 'yacc')); |
||
| 86 | $sgPast->addChild($nCron = new Node($dic, 'cron')); |
||
| 87 | |||
| 88 | $sg1978->addChild($nReiserCpp = new Node($dic, 'Reiser cpp')); |
||
| 89 | $sg1978->addChild($nCshell = new Node($dic, 'Cshell')); |
||
| 90 | |||
| 91 | $sg1980->addChild($nEmacs = new Node($dic, 'emacs')); |
||
| 92 | $sg1980->addChild($nBuild = new Node($dic, 'build')); |
||
| 93 | $sg1980->addChild($nVi = new Node($dic, 'vi')); |
||
| 94 | |||
| 95 | $sg1982->addChild($nCurses = new Node($dic, '<curses>')); |
||
| 96 | $sg1982->addChild($nRCS = new Node($dic, 'RCS')); |
||
| 97 | $sg1982->addChild($nIMX = new Node($dic, 'IMX')); |
||
| 98 | $sg1982->addChild($nSYNED = new Node($dic, 'SYNED')); |
||
| 99 | |||
| 100 | $sg1983->addChild($nksh = new Node($dic, 'ksh')); |
||
| 101 | $sg1983->addChild($nIFS = new Node($dic, 'IFS')); |
||
| 102 | $sg1983->addChild($nTTU = new Node($dic, 'TTU')); |
||
| 103 | |||
| 104 | $sg1985->addChild($nNmake = new Node($dic, 'nmake')); |
||
| 105 | $sg1985->addChild($nPeggy = new Node($dic, 'Peggy')); |
||
| 106 | |||
| 107 | $sg1986->addChild($nNcpp = new Node($dic, 'ncpp')); |
||
| 108 | $sg1986->addChild($nKsh_i = new Node($dic, 'ksh-i')); |
||
| 109 | $sg1986->addChild($nCurses_i = new Node($dic, '<curses-i>')); |
||
| 110 | $sg1986->addChild($nPg2 = new Node($dic, 'PG2')); |
||
| 111 | $sg1986->addChild($nCasterisk = new Node($dic, 'C*')); |
||
| 112 | |||
| 113 | $sg1987->addChild($nAnsiCpp = new Node($dic, 'Ansi cpp')); |
||
| 114 | $sg1987->addChild($nNmake20 = new Node($dic, 'nmake 2.0')); |
||
| 115 | $sg1987->addChild($n3DFS = new Node($dic, '3D File System')); |
||
| 116 | $sg1987->addChild($nFdelta = new Node($dic, 'fdelta')); |
||
| 117 | $sg1987->addChild($nDAG = new Node($dic, 'DAG')); |
||
| 118 | $sg1987->addChild($nCSAS = new Node($dic, 'CSAS')); |
||
| 119 | |||
| 120 | $sg1988->addChild($nCia = new Node($dic, 'CIA')); |
||
| 121 | $sg1988->addChild($nSBCS = new Node($dic, 'SBCS')); |
||
| 122 | $sg1988->addChild($nKsh88 = new Node($dic, 'ksh-88')); |
||
| 123 | $sg1988->addChild($nPegasusPml = new Node($dic, 'PEGASUS/PML')); |
||
| 124 | $sg1988->addChild($nPAX = new Node($dic, 'PAX')); |
||
| 125 | $sg1988->addChild($nBacktalk = new Node($dic, 'backtalk')); |
||
| 126 | |||
| 127 | $sg1989->addChild($nCIApp = new Node($dic, 'CIA++')); |
||
| 128 | $sg1989->addChild($nAPP = new Node($dic, 'APP')); |
||
| 129 | $sg1989->addChild($nSHIP = new Node($dic, 'SHIP')); |
||
| 130 | $sg1989->addChild($nDataShare = new Node($dic, 'DataShare')); |
||
| 131 | $sg1989->addChild($nRyacc = new Node($dic, 'ryacc')); |
||
| 132 | $sg1989->addChild($nMosaic = new Node($dic, 'Mosaic')); |
||
| 133 | |||
| 134 | $sg1990->addChild($nLibft = new Node($dic, 'libft')); |
||
| 135 | $sg1990->addChild($nCoShell = new Node($dic, 'CoShell')); |
||
| 136 | $sg1990->addChild($nDIA = new Node($dic, 'DIA')); |
||
| 137 | $sg1990->addChild($nIFS_i = new Node($dic, 'IFS-i')); |
||
| 138 | $sg1990->addChild($nKyacc = new Node($dic, 'kyacc')); |
||
| 139 | $sg1990->addChild($nSfio = new Node($dic, 'sfio')); |
||
| 140 | $sg1990->addChild($nYeast = new Node($dic, 'yeast')); |
||
| 141 | $sg1990->addChild($nML_X = new Node($dic, 'ML-X')); |
||
| 142 | $sg1990->addChild($nDOT = new Node($dic, 'DOT')); |
||
| 143 | |||
| 144 | $sgFuture->addChild($nAST = new Node($dic, 'Adv. Software Technology')); |
||
| 145 | |||
| 146 | /* the time-line graph */ |
||
| 147 | $g->addChild(new Edge($dic, $yPast = new Node($dic, 'past'), $y1978 = new Node($dic, 1978))); |
||
| 148 | $g->addChild(new Edge($dic, $y1978, $y1980 = new Node($dic, 1980))); |
||
| 149 | $g->addChild(new Edge($dic, $y1980, $y1982 = new Node($dic, 1982))); |
||
| 150 | $g->addChild(new Edge($dic, $y1982, $y1983 = new Node($dic, 1983))); |
||
| 151 | $g->addChild(new Edge($dic, $y1983, $y1985 = new Node($dic, 1985))); |
||
| 152 | $g->addChild(new Edge($dic, $y1985, $y1986 = new Node($dic, 1986))); |
||
| 153 | $g->addChild(new Edge($dic, $y1986, $y1987 = new Node($dic, 1987))); |
||
| 154 | $g->addChild(new Edge($dic, $y1987, $y1988 = new Node($dic, 1988))); |
||
| 155 | $g->addChild(new Edge($dic, $y1988, $y1989 = new Node($dic, 1989))); |
||
| 156 | $g->addChild(new Edge($dic, $y1989, $y1990 = new Node($dic, 1990))); |
||
| 157 | $g->addChild(new Edge($dic, $y1990, $yFuture = new Node($dic, 'future'))); |
||
| 158 | |||
| 159 | /* hierarchy */ |
||
| 160 | $g->addChild(new Edge($dic, $nSCCS, $nRCS)); |
||
| 161 | $g->addChild(new Edge($dic, $nSCCS, $n3DFS)); |
||
| 162 | $g->addChild(new Edge($dic, $nSCCS, $nNmake)); |
||
| 163 | $g->addChild(new Edge($dic, $nMake, $nNmake)); |
||
| 164 | $g->addChild(new Edge($dic, $nMake, $nBuild)); |
||
| 165 | $g->addChild(new Edge($dic, $nBourneSh, $nCshell)); |
||
| 166 | $g->addChild(new Edge($dic, $nBourneSh, $nksh)); |
||
| 167 | $g->addChild(new Edge($dic, $nYacc, $nRyacc)); |
||
| 168 | $g->addChild(new Edge($dic, $nCron, $nYeast)); |
||
| 169 | |||
| 170 | $g->addChild(new Edge($dic, $nReiserCpp, $nNcpp)); |
||
| 171 | $g->addChild(new Edge($dic, $nCshell, $nksh)); |
||
| 172 | |||
| 173 | $g->addChild(new Edge($dic, $nBuild, $nNmake20)); |
||
| 174 | $g->addChild(new Edge($dic, $nVi, $nksh)); |
||
| 175 | $g->addChild(new Edge($dic, $nVi, $nCurses)); |
||
| 176 | $g->addChild(new Edge($dic, $nEmacs, $nksh)); |
||
| 177 | |||
| 178 | $g->addChild(new Edge($dic, $nRCS, $nSBCS)); |
||
| 179 | $g->addChild(new Edge($dic, $nRCS, $nFdelta)); |
||
| 180 | $g->addChild(new Edge($dic, $nCurses, $nCurses_i)); |
||
| 181 | $g->addChild(new Edge($dic, $nSYNED, $nPeggy)); |
||
| 182 | $g->addChild(new Edge($dic, $nIMX, $nTTU)); |
||
| 183 | |||
| 184 | $g->addChild(new Edge($dic, $nksh, $nNmake)); |
||
| 185 | $g->addChild(new Edge($dic, $nksh, $nKsh_i)); |
||
| 186 | $g->addChild(new Edge($dic, $nksh, $nKsh88)); |
||
| 187 | $g->addChild(new Edge($dic, $nIFS, $nCurses_i)); |
||
| 188 | $g->addChild(new Edge($dic, $nIFS, $nSfio)); |
||
| 189 | $g->addChild(new Edge($dic, $nIFS, $nIFS_i)); |
||
| 190 | $g->addChild(new Edge($dic, $nTTU, $nPg2)); |
||
| 191 | |||
| 192 | $g->addChild(new Edge($dic, $nNmake, $nksh)); |
||
| 193 | $g->addChild(new Edge($dic, $nNmake, $nNcpp)); |
||
| 194 | $g->addChild(new Edge($dic, $nNmake, $n3DFS)); |
||
| 195 | $g->addChild(new Edge($dic, $nNmake, $nNmake20)); |
||
| 196 | $g->addChild(new Edge($dic, $nPeggy, $nPegasusPml)); |
||
| 197 | $g->addChild(new Edge($dic, $nPeggy, $nRyacc)); |
||
| 198 | |||
| 199 | $g->addChild(new Edge($dic, $nCasterisk, $nCSAS)); |
||
| 200 | $g->addChild(new Edge($dic, $nNcpp, $nAnsiCpp)); |
||
| 201 | $g->addChild(new Edge($dic, $nCurses_i, $nFdelta)); |
||
| 202 | $g->addChild(new Edge($dic, $nKsh_i, $nKsh88)); |
||
| 203 | $g->addChild(new Edge($dic, $nPg2, $nBacktalk)); |
||
| 204 | |||
| 205 | $g->addChild(new Edge($dic, $nDAG, $nSoftwareIs = new Node($dic, 'Software IS'))); |
||
| 206 | $g->addChild(new Edge($dic, $nDAG, $nDOT)); |
||
| 207 | $g->addChild(new Edge($dic, $nDAG, $nDIA)); |
||
| 208 | $g->addChild(new Edge($dic, $nCSAS, $nCia)); |
||
| 209 | $g->addChild(new Edge($dic, $nAnsiCpp, $nConfigMgt = new Node($dic, 'Configuration Mgt'))); |
||
| 210 | $g->addChild(new Edge($dic, $nFdelta, $nSBCS)); |
||
| 211 | $g->addChild(new Edge($dic, $nFdelta, $nPAX)); |
||
| 212 | $g->addChild(new Edge($dic, $n3DFS, $nConfigMgt)); |
||
| 213 | $g->addChild(new Edge($dic, $nNmake20, $nConfigMgt)); |
||
| 214 | $g->addChild(new Edge($dic, $nNmake20, $nCoShell)); |
||
| 215 | |||
| 216 | $g->addChild(new Edge($dic, $nCia, $nCIApp)); |
||
| 217 | $g->addChild(new Edge($dic, $nCia, $nDIA)); |
||
| 218 | $g->addChild(new Edge($dic, $nSBCS, $nConfigMgt)); |
||
| 219 | $g->addChild(new Edge($dic, $nPAX, $nSHIP)); |
||
| 220 | $g->addChild(new Edge($dic, $nKsh88, $nConfigMgt)); |
||
| 221 | $g->addChild(new Edge($dic, $nKsh88, $nArchi = new Node($dic, 'Architecture & Libraries'))); |
||
| 222 | $g->addChild(new Edge($dic, $nKsh88, $nSfio)); |
||
| 223 | $g->addChild(new Edge($dic, $nPegasusPml, $nML_X)); |
||
| 224 | $g->addChild(new Edge($dic, $nPegasusPml, $nArchi)); |
||
| 225 | $g->addChild(new Edge($dic, $nBacktalk, $nDataShare)); |
||
| 226 | |||
| 227 | $g->addChild(new Edge($dic, $nCIApp, $nSoftwareIs)); |
||
| 228 | $g->addChild(new Edge($dic, $nAPP, $nDIA)); |
||
| 229 | $g->addChild(new Edge($dic, $nAPP, $nSoftwareIs)); |
||
| 230 | $g->addChild(new Edge($dic, $nSHIP, $nConfigMgt)); |
||
| 231 | $g->addChild(new Edge($dic, $nDataShare, $nArchi)); |
||
| 232 | $g->addChild(new Edge($dic, $nRyacc, $nKyacc)); |
||
| 233 | $g->addChild(new Edge($dic, $nMosaic, $nProcess = new Node($dic, 'Process'))); |
||
| 234 | |||
| 235 | $g->addChild(new Edge($dic, $nDOT, $nSoftwareIs)); |
||
| 236 | $g->addChild(new Edge($dic, $nDIA, $nSoftwareIs)); |
||
| 237 | $g->addChild(new Edge($dic, $nLibft, $nSoftwareIs)); |
||
| 238 | $g->addChild(new Edge($dic, $nCoShell, $nConfigMgt)); |
||
| 239 | $g->addChild(new Edge($dic, $nCoShell, $nArchi)); |
||
| 240 | $g->addChild(new Edge($dic, $nSfio, $nArchi)); |
||
| 241 | $g->addChild(new Edge($dic, $nIFS_i, $nArchi)); |
||
| 242 | $g->addChild(new Edge($dic, $nML_X, $nArchi)); |
||
| 243 | $g->addChild(new Edge($dic, $nKyacc, $nArchi)); |
||
| 244 | $g->addChild(new Edge($dic, $nYeast, $nProcess)); |
||
| 245 | |||
| 246 | $g->addChild(new Edge($dic, $nArchi, $nAST)); |
||
| 247 | $g->addChild(new Edge($dic, $nSoftwareIs, $nAST)); |
||
| 248 | $g->addChild(new Edge($dic, $nConfigMgt, $nAST)); |
||
| 249 | $g->addChild(new Edge($dic, $nProcess, $nAST)); |
||
| 250 | } |
||
| 251 | |||
| 252 | /** |
||
| 253 | * Tests Graph->build() |
||
| 254 | */ |
||
| 255 | public function testBuild() { |
||
| 256 | /* Test uses the alternate format for subgraphs: |
||
| 257 | subgraph type { |
||
| 258 | graph [ rank=same ]; |
||
| 259 | <nodes> |
||
| 260 | } |
||
| 261 | instead of: |
||
| 262 | subgraph type { |
||
| 263 | rank = same; |
||
| 264 | <nodes> |
||
| 265 | } |
||
| 266 | */ |
||
| 267 | $expected = <<<EOT |
||
| 268 | digraph asde91 { |
||
| 269 | ranksep=0.75; |
||
| 270 | |||
| 271 | subgraph type { |
||
| 272 | rank=same; |
||
| 273 | |||
| 274 | "Software IS"; |
||
| 275 | "Configuration Mgt"; |
||
| 276 | "Architecture & Libraries"; |
||
| 277 | Process; |
||
| 278 | } /* /subgraph type */ |
||
| 279 | subgraph past { |
||
| 280 | rank=same; |
||
| 281 | |||
| 282 | "Bourne sh"; |
||
| 283 | make; |
||
| 284 | SCCS; |
||
| 285 | yacc; |
||
| 286 | cron; |
||
| 287 | } /* /subgraph past */ |
||
| 288 | subgraph 1978 { |
||
| 289 | rank=same; |
||
| 290 | |||
| 291 | "Reiser cpp"; |
||
| 292 | Cshell; |
||
| 293 | } /* /subgraph 1978 */ |
||
| 294 | subgraph 1980 { |
||
| 295 | rank=same; |
||
| 296 | |||
| 297 | emacs; |
||
| 298 | build; |
||
| 299 | vi; |
||
| 300 | } /* /subgraph 1980 */ |
||
| 301 | subgraph 1982 { |
||
| 302 | rank=same; |
||
| 303 | |||
| 304 | "<curses>"; |
||
| 305 | RCS; |
||
| 306 | IMX; |
||
| 307 | SYNED; |
||
| 308 | } /* /subgraph 1982 */ |
||
| 309 | subgraph 1983 { |
||
| 310 | rank=same; |
||
| 311 | |||
| 312 | ksh; |
||
| 313 | IFS; |
||
| 314 | TTU; |
||
| 315 | } /* /subgraph 1983 */ |
||
| 316 | subgraph 1985 { |
||
| 317 | rank=same; |
||
| 318 | |||
| 319 | nmake; |
||
| 320 | Peggy; |
||
| 321 | } /* /subgraph 1985 */ |
||
| 322 | subgraph 1986 { |
||
| 323 | rank=same; |
||
| 324 | |||
| 325 | ncpp; |
||
| 326 | "ksh-i"; |
||
| 327 | "<curses-i>"; |
||
| 328 | PG2; |
||
| 329 | "C*"; |
||
| 330 | } /* /subgraph 1986 */ |
||
| 331 | subgraph 1987 { |
||
| 332 | rank=same; |
||
| 333 | |||
| 334 | "Ansi cpp"; |
||
| 335 | "nmake 2.0"; |
||
| 336 | "3D File System"; |
||
| 337 | fdelta; |
||
| 338 | DAG; |
||
| 339 | CSAS; |
||
| 340 | } /* /subgraph 1987 */ |
||
| 341 | subgraph 1988 { |
||
| 342 | rank=same; |
||
| 343 | |||
| 344 | CIA; |
||
| 345 | SBCS; |
||
| 346 | "ksh-88"; |
||
| 347 | "PEGASUS/PML"; |
||
| 348 | PAX; |
||
| 349 | backtalk; |
||
| 350 | } /* /subgraph 1988 */ |
||
| 351 | subgraph 1989 { |
||
| 352 | rank=same; |
||
| 353 | |||
| 354 | "CIA++"; |
||
| 355 | APP; |
||
| 356 | SHIP; |
||
| 357 | DataShare; |
||
| 358 | ryacc; |
||
| 359 | Mosaic; |
||
| 360 | } /* /subgraph 1989 */ |
||
| 361 | subgraph 1990 { |
||
| 362 | rank=same; |
||
| 363 | |||
| 364 | libft; |
||
| 365 | CoShell; |
||
| 366 | DIA; |
||
| 367 | "IFS-i"; |
||
| 368 | kyacc; |
||
| 369 | sfio; |
||
| 370 | yeast; |
||
| 371 | "ML-X"; |
||
| 372 | DOT; |
||
| 373 | } /* /subgraph 1990 */ |
||
| 374 | subgraph future { |
||
| 375 | rank=same; |
||
| 376 | |||
| 377 | "Adv. Software Technology"; |
||
| 378 | } /* /subgraph future */ |
||
| 379 | past -> 1978; |
||
| 380 | 1978 -> 1980; |
||
| 381 | 1980 -> 1982; |
||
| 382 | 1982 -> 1983; |
||
| 383 | 1983 -> 1985; |
||
| 384 | 1985 -> 1986; |
||
| 385 | 1986 -> 1987; |
||
| 386 | 1987 -> 1988; |
||
| 387 | 1988 -> 1989; |
||
| 388 | 1989 -> 1990; |
||
| 389 | 1990 -> future; |
||
| 390 | SCCS -> RCS; |
||
| 391 | SCCS -> "3D File System"; |
||
| 392 | SCCS -> nmake; |
||
| 393 | make -> nmake; |
||
| 394 | make -> build; |
||
| 395 | "Bourne sh" -> Cshell; |
||
| 396 | "Bourne sh" -> ksh; |
||
| 397 | yacc -> ryacc; |
||
| 398 | cron -> yeast; |
||
| 399 | "Reiser cpp" -> ncpp; |
||
| 400 | Cshell -> ksh; |
||
| 401 | build -> "nmake 2.0"; |
||
| 402 | vi -> ksh; |
||
| 403 | vi -> "<curses>"; |
||
| 404 | emacs -> ksh; |
||
| 405 | RCS -> SBCS; |
||
| 406 | RCS -> fdelta; |
||
| 407 | "<curses>" -> "<curses-i>"; |
||
| 408 | SYNED -> Peggy; |
||
| 409 | IMX -> TTU; |
||
| 410 | ksh -> nmake; |
||
| 411 | ksh -> "ksh-i"; |
||
| 412 | ksh -> "ksh-88"; |
||
| 413 | IFS -> "<curses-i>"; |
||
| 414 | IFS -> sfio; |
||
| 415 | IFS -> "IFS-i"; |
||
| 416 | TTU -> PG2; |
||
| 417 | nmake -> ksh; |
||
| 418 | nmake -> ncpp; |
||
| 419 | nmake -> "3D File System"; |
||
| 420 | nmake -> "nmake 2.0"; |
||
| 421 | Peggy -> "PEGASUS/PML"; |
||
| 422 | Peggy -> ryacc; |
||
| 423 | "C*" -> CSAS; |
||
| 424 | ncpp -> "Ansi cpp"; |
||
| 425 | "<curses-i>" -> fdelta; |
||
| 426 | "ksh-i" -> "ksh-88"; |
||
| 427 | PG2 -> backtalk; |
||
| 428 | DAG -> "Software IS"; |
||
| 429 | DAG -> DOT; |
||
| 430 | DAG -> DIA; |
||
| 431 | CSAS -> CIA; |
||
| 432 | "Ansi cpp" -> "Configuration Mgt"; |
||
| 433 | fdelta -> SBCS; |
||
| 434 | fdelta -> PAX; |
||
| 435 | "3D File System" -> "Configuration Mgt"; |
||
| 436 | "nmake 2.0" -> "Configuration Mgt"; |
||
| 437 | "nmake 2.0" -> CoShell; |
||
| 438 | CIA -> "CIA++"; |
||
| 439 | CIA -> DIA; |
||
| 440 | SBCS -> "Configuration Mgt"; |
||
| 441 | PAX -> SHIP; |
||
| 442 | "ksh-88" -> "Configuration Mgt"; |
||
| 443 | "ksh-88" -> "Architecture & Libraries"; |
||
| 444 | "ksh-88" -> sfio; |
||
| 445 | "PEGASUS/PML" -> "ML-X"; |
||
| 446 | "PEGASUS/PML" -> "Architecture & Libraries"; |
||
| 447 | backtalk -> DataShare; |
||
| 448 | "CIA++" -> "Software IS"; |
||
| 449 | APP -> DIA; |
||
| 450 | APP -> "Software IS"; |
||
| 451 | SHIP -> "Configuration Mgt"; |
||
| 452 | DataShare -> "Architecture & Libraries"; |
||
| 453 | ryacc -> kyacc; |
||
| 454 | Mosaic -> Process; |
||
| 455 | DOT -> "Software IS"; |
||
| 456 | DIA -> "Software IS"; |
||
| 457 | libft -> "Software IS"; |
||
| 458 | CoShell -> "Configuration Mgt"; |
||
| 459 | CoShell -> "Architecture & Libraries"; |
||
| 460 | sfio -> "Architecture & Libraries"; |
||
| 461 | "IFS-i" -> "Architecture & Libraries"; |
||
| 462 | "ML-X" -> "Architecture & Libraries"; |
||
| 463 | kyacc -> "Architecture & Libraries"; |
||
| 464 | yeast -> Process; |
||
| 465 | "Architecture & Libraries" -> "Adv. Software Technology"; |
||
| 466 | "Software IS" -> "Adv. Software Technology"; |
||
| 467 | "Configuration Mgt" -> "Adv. Software Technology"; |
||
| 468 | Process -> "Adv. Software Technology"; |
||
| 469 | } /* /digraph asde91 */ |
||
| 470 | |||
| 471 | EOT; |
||
| 472 | $this->check($expected, "Image_GraphViz test 9 passed."); |
||
| 473 | } |
||
| 474 | } |
||
| 475 |
This check looks for a call to a parent method whose name is different than the method from which it is called.
Consider the following code:
The
getFirstName()method in theSoncalls the wrong method in the parent class.