*************************************** Avoimet bugit: *************************************** - Listoissa elementit indeksillä yli 10 eivät näy Java 1.2.2-tulkilla. Tämä luokitellaan Javan bugiksi. 13.4.2001 - Kokonaisen block-tason elementtin poistaminen teksteineen ei onnistu cutilla. - Testaus 21.4 osoitti, että onnistuu popup-ikkunan cutilla. ****************************************** Havaitut bugit ja niiden korjaukset ****************************************** (10.4.2001) Kuvaus: Save toiminnallisuus ei tunnu toimivan, vaan tehdyt muutokset katoavat tallennuksessa. Havainto: toiminnallisuus toimii, mutta artikkelin avauksessa artikkeli jäi näkymättömiin. Vakavuus: 2 Luokittelu: UImanager Korjaus: save-ominaisuuteen ei tehty korjauksia, koska sen todelliin toimivat (10.4.2001) Kuvaus: Artikkelilista, joka on yli 10 artikkeli pitkä, ei enää näy Open Article -dialogista. Havainto: Artikkelit ovat kyllä listassa, mutta lista ei vaan suoraan näytä niitä. Artikkeleihin pääsee käsiksi nuolinäppäimellä. Vakavuus: 2 Luokittelu: UIManager Korjaus: Tähän ongelmaan ei löydetty ratkaisua, vaan päädyttiin pitämään ongelmaa Java 1.2.2:n bugina. Ongelma listattu UIManagerin avoimiin bugeihin. **************************************************************** Intergrointitestaus 1 ja korjausten osalta Integrointitestaus 2 **************************************************************** (12.4.2001) 1.1.7 Kuvaus: New dialogin OK-näppäin saallii muiden näppäinten käytön myös OK:n yhteydessä (esim. Ctrl+OK) ja lataa uuden atikkelipohjan. Havainto: Lataa artikkelin Vakavuus: 3 Luokittelu: UIManager Korjaus: ei tehdä 1.2 Kuvaus: Artikkelia ladattaessa writers, alias ja gategoriat eivät tule artikkelin mukaan. Aliaksen hakua ei ole toteutettu. Havainto: Oletusarvon mukaan tuli tai jos muutettiin sen mukaan Vakavuus: 2 Luokittelu: UIManager Korjaus: korjattu ************************ 17.4. Toinen Testaus: Tulos: Toimii Correted DTD:llä ensimmäisen kerran ladattaessa heti kirjoittamisen jälkeen, mutta ei toiminut kuin vain writers ja päivämäärä, kun latasin välissä toisen artikkelin ja sitten uudelleen tämän artikkelin. Artikkelin nimi Meta1 ja sen kuvaus on et1. *********************** 21.4. Kolmas testaus Tulos: Piti nyt gategoriatiedot, mutta testaustulos ei ole 100 %:sen luotettava liian suppean testauksen vuoksi. 1.2.8 Kuvaus: Open dialogin OK-näppäin saallii muiden näppäinten käytön myös OK:n yhteydessä (esim. Ctrl+OK) ja lataa uuden atikkelipohjan. Havainto: Lataa artikkelin Vakavuus: 3 Luokittelu: UIManager Korjaus: ei tehdä 1.2.10 Kuvaus: Kun ensin valitaan pääkirjoitus ja sitten corrected DTD, tulee "Can't get reference to body.content" ja konsolille tulostuu nullpoint exception, sekä Body.getSelectedArea: rivi 628 ja Body. drawNode: rivi 386. Virhe saatu toistettua useita kertoja. Havainto: EventHandlerit Vakavuus: 1 Luokittelu: Body ja TreeManager Korjaus: Ei Treemanagerin ongelma Lisähavainnot: Tässä monen tunnin pähkäilyn jälkeen totesin, että bugi 1.2.10 (1. lataa pääkirjoitus, 2. luo uusi artikkeli pohjana corrected DTD, 3. "Can't get reference to body.content") johtuu siitä, että TreeManagerille annetaan väärä DTD, kolumni-DTD. Siltä se tulostettuna ainakin näyttää. Edellä mainitussa vaiheessa 2 tapahtuu siis seuraavaa: Luokassa UIManager, metodissa createUI, käskyssä treemanager.createDTD(selectedDTD) selectedDTD on kolumni-DTD. Uusi luokittelu: UIManager ******************* 21.4. Toinen testaus Tulos: DTD:hen tehtyjen korjauksien jälkee ei kevyen testauksen mukaan enää tapahtunut tätä virhettä. 1.3.1 Kuvaus: Tyhjän artikkelipohjan tallennus. Havainto: Tuli Save As New-dialogi ja antoi jatkaa tallennusta. Jatko seuraavassa virheilmoituksessa kerrottu tarkemmin, mitä tapahtui jne. Vakavuus: 3 luokittelu: UIManager 1.3. Kuvaus: Tyhjän artikkelipohjan tallennus. Annettu vain kuvaus Save As-ikkunassa, corrected DTD oli artikkelipohjana. Havainto: Nul-artikkeli tallentui. Save tehty sekä Tool Barista että Filestä. Load-tilanteessa käyttöliittymä menee sekaisin, TreeManager heittää nullpointerexceptionia, getActive Buttons: rivi 509. Kaataa niin kauan kuin body on tyhjä, riippumatta muista tyhjistä kentistä. Vakavuus: 1 Luokittelu: TreeManager 1.3 Kuvaus: Tyhjän artikkelipohjan tallennus. Annettu vain kuvaus Save As-ikkunassa, column DTD oli artikkelipohjana. Vatii, että headers-kentissäkin on oltava bodyn lisäksi jotain. Havainto: Nul-artikkeli tallentui. Save tehty sekä Tool Barista että Filestä. Load-tilanteessa tuli asiallinen virheilmoitus "Document tree could not be created. Reason: The document could not not loaded due to its invalidity." Käyttöliitymä ja softa pysyi kunnossa. Column DTD:n tallennus/lataus ei tuota validia lopputuosta!!! Samalla view source lopettaa alkurivien jälkeen DOCTYPEEN, artikkeli oli kunnossa tallennustilanteessa ja tuntui olevan kunnossa myös latauksen alussa. UIManagerin setHeaderValues metodi heittää keskeytyksen (Header values cuold not be saved XML-tree). Vakavuus: 1 Luokittelu: TreeManager 13.4.2001 1.4.1 Kuvaus : tehtiin artikkeli kaikkine tietoineen, tallennettiin ilman kuvausta. Ensin ladattiin tyhjä pohja. Sitten ladattiin artikkeli, jolloin puuttuivat headersit. Käytettiin artikkelissa Corrected DTD. Havainto: Ei tallentanut sitä puuhun, xml-tiedot olivat tyhjiä, tapahtui kaksi kertaa, mutta ei löydetty tapaa toistaa virhettä. Virhe ei tapahdu koskaan kahta kertaa perätysten. Huom! virhe ehkä johtunee setHeadersValuesin kutsumattomuudesta näissä tilanteissa. Vakavuus. 2 Luokittelu: UIManage/TreeManager Korjaus: korjattu ********************* 17.4. Toinen testaus Tulos: Virhettä ei enää tapahtunut 1.4.8 Kuvaus: Tekstiä ilman kappaletta ei saada aikaan, mutta kun pelkät headersit oli ja body tyhjä. Tällöin body content alkumerkki jää lisäämättä puuhun. Havainto: Ohjelma katuu invalidiin puuhun. toString() pitää huolehtia, että puun tulee olla validi. Vakavuus: 1 Luokittelu: TreeManager 1.4.14 Kuvaus: viimeisen keywordsin jälkeen jätettiin pilkku ja pilkkuja. Havainto: teki tyhjiä avainsanoja. Menee tallenusvaiheesta läpi ja tulee loadista läpi. Xml-puu pysyy validina Vakavuus: 3 Luokittelu: TreeManager 1.5.2 Kuvaus: lopetus tallennuksen jälkeen Havainto: Ei pitäisi tulla Dialogi-ikkunaa, lopetuksen uudelleenkysmistä. Vakavuus: 3 Luokittelu: UIManager 1.6.1. Kuvaus: Päivämäärä ei mene puuhun. Tallennuksen jälkeen näkyy editorissa. Havainto: Ei heti käytössä, xlm:ssä Vakavuus: 3 Lukoittelu: UIManager 1.6 Kuvaus: Päivämäärässä menee kaikki läpi. Havainto: Tallentuu sekä puuhun että tietokantaan, tulee myös latauksen jälkeen artikkelin pvm:ksi. Vakavuus: 3 Luokittelu: UIManager Korjaus: korjattu ******************* 21.4. Toinen testaus Tulos: katso, että on oikean muotoista dataa, mutta ei ota kantaa päivämäärän järkevyyteen. Kuvaus: Srollaus ei toimi alaspäin eikä ylöspäin. Havainto: Alaspäin mentäessä elementtien lisäys teksteineen ei srollaa ikkunaa alaspäin kirjoitettaessa. Samalla kadotettiin ylöspäin srollaus-ominaisuus yhden kerran - jotakin ongelmaa - kun ensin siirrettiin tekstin loppuun sroll barista. Kun lisätään kappale, se laukaisee sroll barin ongelman. Kun artikkeli on riittävän pitkä (noin 1,5 ruutua), sroll-ongelmaa ei enää esiinny. Vakavuus: 1 Luokittelu: Body ja TreeManager Korjaus: Korjattu ********************** 17.4. Toinen testaus tulos: Sroll bar toimii sivua alaspäin kirjoitettaessa, kun sivu on yli näytön mittainen, ei pääse ylöspäin takaisin esim lisäämään alkuun uusi kappale. Korjaus: Korjattu ********************** 21.4. Kolmas testaus tulos: Sroll toimii nyt myös ylöspäin. Kuvaus: Mikäli kursori on näkymättömässä osasssa, sen jälkeen suoritetun valinta, minkä tahansaa osan valinta, aiheuttaa virheen metodissa Body.paint rivillä 218 ja ArrayIndexOutOfBoundsException 1>=1. kts myös kohta 2.2.5 Vakavuus: 2 Luokittelu: Body Korjaus: korjattu ********************* 17.4. Toinen testaus Tulos: kursori ei enää mene piiloon, vain silloin kun kursori lähtee juoksemaan. Katsol edellinen kohta myös. Kuvaus: Rivitysalgoritmin? mahdollinen bugi: kursorin epämääräinen siirtyminen isoja tekstilohkokja kirjoitettaessa. Rivin lopussa se hyppää joko jollekin seuraavalle riville tai blockin loppuun. Jossain vaiheessa hyppäys taapahtuu myösss seuraavaan blockiin. Mitä enemmän on inline-elemetin osia mukana kursorin edellä, sitä varmemmin alkaa kursorin hyppääminen. Suoritusongelma? Satunnaisesti tapahtuu seuraavaa: Kun ollaan rivin lopussa, kursori alkaa mennä rivejä eteenpäin, mutta teksti kirjoittuu silti oikeaan kohtaan, ts. kursori kadottaa paikkansa mutta itse kirjoituskohta säilyttää paikkaansa. Vakavuus: 2 Luokittelu: Body Korjattu: ei korjausta, suorituskykyongelma Kuvaus: Kappaleen keskellä kirjoitettaessa isossa paragrafissa ts. kursorin edessä on sana, tällöin rivitys tapahtuu seuraavasti: edellä oleva sana menee seuraavalle riville mutta kursori jää edelliselle riville. Tämän jälkeen space ei toimi, tulee vain pitkiä sanoja. Kun tästä edelleen jatkaa kirjoittelua, kursorin hyppimen alkaa. Vakavuus: 2 Luokittelu: Body 2.2. Kuvaus: Poiston jälkeen kursori jää leikkausalueen viimeiksi merkatuun kohtaan. Havainto: Tulisi siirtyä aina leikatun alueen alkuun. Poisto jälkeen UIManagerilta häviää myös focus, ts. ei pysty kirjoittamaan. Vakavuus: 3 (Näpättävä uudelleen kirjoitettavaan kohtaan.) Luokittelu: Body 2.2.5 Kuvaus: Kokonaisen block-tason elementtin poistaminen teksteineen ei onnistu cutilla. Havainto: Alue ei ole valittavissa aina, tulee virheilm. ArrayIndexOutOfBoundsException: 1>=1. Myös TreeManagerin getActiveButtons rivillä 506 ja Body.paint rivillä 218 voi olla asian kanssa tekemistä. Ei tapahdu aina, mutta on usein toistettavissa. Poistettava alue menee leikepöydälle ja pastella liitettävissä silloin kun on vain pelkät block-tason elemetit. Vakavuus: valintatason ongelma 2 cutia ei edes ole toteutettu tähän tarkoitukseen. Luokittelu: Body ja TreeManager ***************** 21.4. Toinen testaus Tulos: Cut-toiminnon voi tässä tilanteessa tehdä popup-ikkunan kautta. 2.2.14 Kuvaus: Kun blockin aluista otetaan mukaan blockin aloitusmerkki ja osa tekstiä inline-elementteineen, cut ei onnistu, joskus tekee paste ja joskus poistaa osan. Olettavasti muistaa vanhan kursorin paikan. Huom! blockin lopulle tehtäessä sama testi, näitä ongelmia ei esiinny. Havainto: Kursorin sijoittaminen blockin ulkopuolelle aiheuttaa epämääräistä toimintaa. Kts. 2.5.5 kohta. Vakavuus: 1 Luokittelu: Body Korjaus: Korjattu ********************** 17.4. Toinen testaus Tulos: Jos paragraphin ensimmäinen ja viimein asian on inline-tageilla merkattu sana, tällöin poistaminen ei onnistu Tool Barin cutilla. Tässä tilenteessa cut onnistui popup-ikkunan kautta. Kuvaus: Aina kun mennään block-alueen ulkopuolelle ja painetaan esim. Enter, muitaa jokin osa vanhan kursoripaikan ja tekee esim. uuden paragrafin. Havainto: Ulkopuolella oltaessa ei nollata kursorin paikkaa. Vakavuus: 1 Luokittelu Body Korjaus: Korjattu ******************** 17.4. Toinen testaus Tulos: Ei enää muista vanhaa paikkaa. 2.5.5 Kuvaus: Kun ensin jaetaan kappale painamalla Enter ja sitten kursori näpätään jälkimmäisen kallapeen block-kuvan jälkeen ja painetaa uudelleen Enter. Koodissa tulee error StringIndexOutOfBoundsExpection: String index out of range: -1 tapahtuu Body.keyRelease rivillä 963 (StringBuffer indeksivirhe) Huom. tässä vaiheessa ruutua ei piirretä uudelleen, mutta kun siirrytään tekemään jotakin, piirretään uudelleen ruutu lisättynä uudella paragrafilla. Yleiseti ottaen ongelma lienee, että ohjelma muistaa vanha kursorin paikka ja tekee toiminnan sinne silloin, kun ollaan sallitun alueen ulkopuolella. Toiminta tapahtuu vasta kun mennään seuraavaan vaiheesee. Vakavuus: 2 Luokittelu: Body Korjaus: korjattu ****************** 17.4. Toinen testaus Tulos: Ei enää lisäile kappaleita Enterillä missä sattuu. Kuvaus: Inlinen tagit ovat aktiivisia silloin kun niiden pitää olla (yleiskuva näin kevyen testauksen jälkeen), mutta blocktason tagit eivät ole aina aktiivisia silloin kun niiden pitäisi olla. Kun ollaan blockaluen ulkopuolella (esim. keskellä artikkelia), tällöin pitäisi olla block-elementit aktiivisia, jotta päässään lisäämään uusia kappaleita. Block-tason muiden kuin paragrafien lisäys on työlästä, kun ovat joskus aktiivisia ja joskus ei. Saadaan aktiivisiksi kikkailemalla. Vakavuus: 2 Luokittelu: Body ****************** 21.4. Toinen testaus Tulos: Kappaleita voidaan lisätä väliin, ainakin joissain tilanteissa, siten, että ollaan edellisen kappaleen lopputagin edessä ja lisättään sitten Tool Barista kuvakkeella uusi kappale. Tosin lisäys tehdään kyseisen kappaleen yläpuolelle, ei alapuolelle. Ei käyttäjän toiveiden mukainen lisäystapa. Kuvaus: Jos paragraf alkaa tai loppu inlinella, ei voida lisätä tekstiä eikä pasteta, lisäys tapahtuu joko inlinen sisään, vanhaan kursorin paikkaan (lopputagi) tai satunnisesti tulee exceptioneita. Paragrafin lisäys myöskään ei onnistu blockin alkumerkin jälkeen tai kursori on ensimmäisen kirjaimen edessä. Lopputagissa oltaessa, ohjelma tulkitsee kursorin olevan ulkopuolella??? ja tekstin kirjoitus/paste aiheuttaa seuraavat virheet: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.StringBuffer.charAt(StringBuffer.java:272) at Body.splitRow(Body.java:396) at Body.drawNode(Body.java:501) at Body.drawNode(Body.java:483) at Body.drawNode(Body.java:483) at Body.paint(Body.java:195) Vakavuus: 2 Luokittelu: Body Korjaus: osittain korjattu *********************** 21.4. Toinen testaus Tulos: Edelleenkään lisäys ei onnistu tekstin muodossa, mutta paragraphin ja inlinen väliin voi lisätä toisen inlinen. Kuvaus: Kun lisätään listoja pre eteen ensimmäisen listarivin kirjoitu on kikkailua. Ei toimi niin kuin muiden block-tason elementtien eteen lisäätäessä. Luokittelu: 2 Luokittelu: Body Kuvaus: Kun lisätään ensimmäisen numeroideun listan jälkeen toinen numeroitu lista, alkaa kursori juosta ja ensimmäisen rivin lisäys on vaikeaa. Yleiseti ottaen listojen lisäys ei etene aina oikein ja sama ongelma koskee listan ensimmäisen rivin kirjoitusta. Listojen lisäyksen yhteydessä tapahtuu usein piirtovirheitä ja jopa muihin elementteihin tapahtuvay lisäykset vaikeutuvat. Vakavuus: 2 Luokittelu: Body Kuvaus: Viimeisen kappaleen jälkeen uuden kappaleen lisääminen ei onnistu, sillä lisäys tapahtuu sen edelle. Saatiin tapahtumaan useilla blockeilla. Vakavuus: 2 Luokittelu: body Lisätieto: On ollut tiedossa oleva bugi. Aikarajavaatimuksen vuoksi toteuttamatta. Kuvaus: Artikkelin ainoan kappaleen tappaminen cutilla, tekee xlm-sivun mukaan puusta invaliditin poistamalla body.contentin. Vakavuus: 1 Luokittelu: TreeManager ja Body ********************* 20.4. Toinen testaus Tulos: Ei enää tapahtu tätä virhettä. Kuvaus: Hyperlinkki, quote ja secial sallii mitä tahansa inlinen elementtejä lisättävän sisään ensimmäisellä kierroksessa. Onko näin nitf:n mukaan? Samat elementit sallivat, esim. ensin hyperlinkki, äärettömän monta quote, hyperlinkkiä ja specialia niin, että viimeisimpään tasoon saakka voi lisät kaikkia muitakin inline-elementtejä. Onko näin nitf:n mukaan? <<<<<<< IntegrointiBugit.txt Vakavuus: ? Luokittelu: TreeManager Lisätieto: On nitfin mukaan sallittua. 2.18.1 ======= Lukittele: TreeManager 2.18 >>>>>>> 1.3 Kuvaus: Kun popup on pakkopakotettu, tälläin aina popup-ikkuna ei aina avaudu kunnolla, eikä voi silloin saada oikeaan kokoon, jotta olisi Ok ja Cancel esillä. Vakavuus: 3 Luokittelu: Body <<<<<<< IntegrointiBugit.txt 2.18.2 ======= 2.18 >>>>>>> 1.3 Kuvaus: Personille lisätään value=vesipää ja idsrc=. Havainto: Ikkuna ei kuole ja tulee ClassCastException: PCData paikassa Body.ActionPerformed rivillä 1143. Samoin tapahtuu kun tyhjillä arvoilla painetaa ok. Kirjoitetu arvot ei myöskään tallennu puuhun xml-sivun mukaan. Näyttää olevan muiden attribuutti- ikkunoiden ongelma. Muöskään kantaan tallennettujen attribuuttien ylläpito ei onnistu. Vakavuus: 2 Luokittelu: TreeManager <<<<<<< IntegrointiBugit.txt 2.18.3 ======= 2.18 >>>>>>> 1.3 Kuvaus: Popup-ikkuna avautuu aina vakiokohtaan, kun sen pitäisi avautua tagin viereen ja samoin attribuutti avautuu aina käliin ylös vaikka sen pitäisi avautua johonkin lähelle. Vakavuus: 3 Luokittelu: Body <<<<<<< IntegrointiBugit.txt 2.18.4 ======= 2.18 >>>>>>> 1.3 Kuvaus: Popupin copy ei osaa valita leikepöydälle kopioitavaa inline- elementtiä (AreSelection pitäisi määrittää oikein). Vakavuus: 3 Luokittelu: Body Korjaus: korjattu *************** 22.4. Toinen testaus Tulos: toimii <<<<<<< IntegrointiBugit.txt 2.18.5 ======= >>>>>>> 1.3 Kuvaus: Popupin delete ei tee mitään, pitäisi varmaan poistaa popupista. Vakavuus: 3 Luokittelu: Body 17.4. Kuvaus: Peräkkäisten inlinetagien väliin ei voi lisätä mitään. Lisäys onnistuu paragraphtagin ja inlintagien väliin kun lisättävä asia on toinen inlinaasia. 17.4. Kuvaus: Kappaleita ei voi yhdistää. 21.4. Kuvaus: Kirjoitin artikkelin, tein merkkauksia ja tallensin kuvakkeen kautta, ei kysynyt kuvausta. Tallensi ja onnistuin lataamaan artikkelin siinä muodossa kuin olin kitjoittanut kolumnDTD:llä. Onnistui myös correctedDTD:llä. Molemmissa tilanteissa tallentui edellisen kirjoittamani artikkelin päälle, vaikka olin avannut new:n kautta uuden, puhtaan pohjan. Lopuksi vielä meni täysin tyhjä artikkeli kaikkien näiden edellisten päälle yhtään ilman, että bodyssä tai headerseissa oli mitään, latauskin onnistui editoriin kannasta tyhjänä.