This commit is contained in:
kipp%netscape.com 1999-02-01 17:37:11 +00:00
Родитель 42312a552c
Коммит e88d265480
3 изменённых файлов: 148 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,17 @@
<HTML>
<HEAD>
<STYLE>
DIV { border: 2px solid khaki; }
DIV.outer { border: 5px dotted purple; padding: 5px; }
</STYLE>
<SCRIPT SRC=TestInline.js>
</SCRIPT>
</HEAD>
<BODY onload="runTest();">
This test uses the DOM to exercise incremental reflow for inline frames.
In particular, the test attempts to exercise all of the code paths for
appending, inserting and removing frames from an inline frame. See
TestInline.js for the source to the test.<BR>
<DIV ID=outer><B ID=it></B></DIV>
</BODY>
</HTML>

Просмотреть файл

@ -0,0 +1,131 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
function makeInline()
{
var image = document.createElement("IMG");
image.setAttribute("SRC", "bluedot.gif");
image.setAttribute("WIDTH", "100");
image.setAttribute("HEIGHT", "40");
image.setAttribute("BORDER", "2");
return image;
}
function makeBlock()
{
var block = document.createElement("DIV");
var text = document.createTextNode("Block Text");
block.appendChild(text);
return block;
}
function appendInline()
{
var i = makeInline();
var it = document.getElementById("it");
it.appendChild(i);
}
function insertInline(index)
{
var i = makeInline();
var it = document.getElementById("it");
var kids = it.childNodes;
if ((index < 0) || (index > kids.length)) index = 0;
var before = kids[index];
it.insertBefore(i, before);
}
function appendBlock()
{
var b = makeBlock();
var it = document.getElementById("it");
it.appendChild(b);
}
function insertBlock(index)
{
var b = makeBlock();
var it = document.getElementById("it");
var kids = it.childNodes;
if ((index < 0) || (index > kids.length)) index = 0;
var before = kids[index];
it.insertBefore(b, before);
}
function removeAllChildren()
{
var it = document.getElementById("it");
var kids = it.childNodes;
var n = kids.length;
for (i = 0; i < n; i++) {
it.removeChild(kids[0]);
}
}
function testAppend()
{
appendInline(); // case 3
appendBlock(); // case 2
appendInline(); // case 3
appendBlock(); // case 1
appendBlock(); // case 1
appendInline(); // case 3
}
function testInsert()
{
// first test inserting inlines
insertInline(0); // case 1
insertInline(3); // case 2
insertInline(7); // case 3
insertInline(8); // case 4
// test inserting blocks
insertBlock(0); // case 2
insertBlock(1); // case 3
insertInline(0);
insertInline(0);
insertInline(11);
insertBlock(13); // case 4
insertInline(0);
insertInline(0);
insertBlock(2); // case 5
// Remove all the children before doing block case 1
if (false) {
removeAllChildren();
appendInline();
insertBlock(0); // case 1
removeAllChildren();
appendInline();
appendInline();
insertBlock(1); // case 6
}
}
function testRemove()
{
}
function runTest()
{
testAppend();
testInsert();
testRemove();
}

Двоичные данные
layout/html/tests/bluedot.gif Executable file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 44 B