(Post przeniesiony z wątku https://4programmers.net/Forum/Spolecznosc/Projekty/355353-nowa_wersja_edytora_postow_i_moze_i_microblogow_na_4programmersnet?p=1808202#comment-765782).
Dobrze, napisz mi konkretnie gdzieś, tutaj czy pw
@Silv: Okej, to będzie takie broken QA. Chodzi o to żeby robić bardzo dziwne rzeczy, i sprawdzić czy edytor nadal zachowa się dobrze:
Metodyka testowania
-
Przeglądarka: Chromium 90.0.4430.212 (Developer Build)
-
System operacyjny: Linux
-
Sposób uruchamiania środowiska testowego:
chromium --temp-profile https://danon.github.io/4play.demo/
(dla każdego testu uruchamiałem tak przeglądarkę na nowo)
Wyniki testów
- Testowanie wklejania linków
- Ad. 1 Wklej link, np
http://google.com
i losowe miejsca. Edytor powinien:
- Jeśli miejsce jest odpowiednie, wkleić link jako markdown, czyli
[link](http://google.com)
- tzw "smart paste".
- Jeśli wklejasz w dziwne miejsce, edytor powinien po prostu wkleić to co masz w schowku.
Trzeba przetestować, czy edytor nigdy nie próbuje zrobić "smart paste", tam gdzie to nie ma sensu (np do nagłówka, do innego linka, do obrazka, do kodu, do inline code'u, etc.)
Test 1
Wkleiłem http://google.com
przed ciąg ## Welcome
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 2
Wkleiłem http://google.com
w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 3
Wkleiłem http://google.com
między *
a *
w pierwszej parze gwiazdek w ciągu **pogrubienie**
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 4
Wkleiłem google.com
w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 5
Wkleiłem https://google.com
(zauważ, że jest https
, nie http
) w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 6
Wkleiłem ftp://google.com
w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
Widok:
- Ad. 2 To samo, tylko z linkiem do obrazka, np
http://image.com/file.jpg
(rozpoznawane jest po rozszerzeniach)
Test 7
Wkleiłem http://image.com/file.jpg
przed ciąg ## Welcome
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 8
Wkleiłem http://image.com/file.jpg
w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 9
Wkleiłem http://image.com/file.jpg
między *
a *
w pierwszej parze gwiazdek w ciągu **pogrubienie**
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 10
Wkleiłem image.com/file.jpg
w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 11
Wkleiłem https://image.com/file.jpg
(zauważ, że jest https
, nie http
) w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
Test 12
Wkleiłem ftp://image.com/file.jpg
w środek wyrazu nowatorski
, między no
a watorski
, korzystając z CTRL+C, CTRL+V. Wynik:
- Testowanie dekoracji w tabelkach
- Tabelki mają font-monospace, i w środku nich powinny działać wszystkie inline elementy markdownu, jak pogrubienie, pochylenie, przekreślenie, link, inline code, etc.
Test 13
Załączam zrzut ekranu tabelki, którą Ty już umieściłeś w przykładowym tekście; ja dodałem tylko przekreślenie oraz link:
- W tabelkach nie powinny działać blockowe elementy, jak fragmenty kodu, obrazki, inne tabelki
Test 14
Załączam zrzut ekranu tabelki, którą Ty już umieściłeś w przykładowym tekście; dodałem fragment kodu, obrazek oraz inną tabelkę:
- Sprawdź dekoracje z użyciem
<kbd></kbd>
, np jak działają z innymi dekoracjami, np **bold**
, *italic*
, __bold__
, _italic_
Nie bardzo rozumiem. Wykonałem następujące testy – nie wiem, czy tego oczekujesz:
Test 15
Umieściłem ciąg test
między znacznikami <kbd>
i </kbd>
. Wynik:
Test 16
Umieściłem ciąg test
między znacznikami <kbd>
i </kbd>
; ciąg pogrubiłem (w dwóch wersjach), pochyliłem (w dwóch wersjach), przekreśliłem oraz sformatowałem jako font o stałej szerokości. Wynik:
Test 17
Umieściłem ciąg test
między znacznikami <kbd>
i </kbd>
; ciąg wraz ze znacznikami pogrubiłem (w dwóch wersjach), pochyliłem (w dwóch wersjach), przekreśliłem oraz sformatowałem jako font o stałej szerokości. Wynik:
- Sprawdź czy przekreślenie
~~
nie psuje nic kiedy używa się go obok kodu ~~~py
Nie bardzo rozumiem. Wykonałem następujące testy – nie wiem, czy tego oczekujesz:
Test 18
Usunąłem cały przykładowy tekst z pola edycji. Ciąg ~~test~~
umieściłem w osobnej linii, po linii ze znacznikiem ~~~py
(znacznik otwierający), a przed linią ze znacznikiem ~~~
(znacznik zamykający). Wynik:
Test 19
Usunąłem cały przykładowy tekst z pola edycji. Ciąg ~~test~~
umieściłem w tej samej linii, co znacznik ~~~py
(znacznik otwierający) po spacji, a w następnej linii umieściłem znacznik ~~~
(znacznik zamykający). Wynik:
Test 20
Usunąłem cały przykładowy tekst z pola edycji. Ciąg ~~test~~
umieściłem w tej samej linii, co znacznik ~~~
(znacznik zamykający) po spacji, a w poprzedzającej linii umieściłem znacznik ~~~py
(znacznik otwierający) – czyli odwrotnie niż w teście 19. Za znacznikiem ~~~
umieściłem dwie puste linie, a następnie linię z ciągiem ABC
, żeby było widać, że formatowanie fontem o stałej szerokości cały czas działa. Wynik:
- Sprawdź, czy jak się zagnieździ dużo formatowania to ma to nadal sens, inline code, w pogrubieniu, w przekreśleniu, w pochyleniu, linku w podkreśleniu
Test 21
Usunąłem cały przykładowy tekst z pola edycji. Ciąg test test test test test test test test test
sformatowałem w następujący sposób:
- pierwszy i ostatni podciąg
test
zostawiłem bez formatowania;
- podciągi od drugiego (włącznie) do przedostatniego (włącznie) pogrubiłem;
- podciągi od trzeciego (włącznie) do trzeciego od końca (włącznie) pochyliłem;
- podciągi od czwartego (włącznie) do czwartego od końca (włącznie) przekreśliłem;
- podciągi piąty sformatowałem jako font o stałej szerokości.
Wynik:
Test 22
Usunąłem cały przykładowy tekst z pola edycji. Wykonałem to samo, co w teście 21, tylko ciąg zbudowałem z podciągów [test](http://google.com)
zamiast z podciągów test
. Wynik:
Test 23
Usunąłem cały przykładowy tekst z pola edycji. Wykonałem to samo, co w teście 21, tylko ciąg zbudowałem z podciągów [test](http://image.com/file.jpg)
zamiast z podciągów test
. Wynik:
- Sprawdź czy
<u>
, <b>
oraz <i>
dodają dekoracje "sensownie".
Nie bardzo rozumiem. Czy chodzi Ci o to, że dodają dekoracje zgodnie z założeniem, albo: tak samo, jak w obecnym edytorze? Wykonałem następujące testy – nie wiem, czy tego oczekujesz:
Test 24
Usunąłem cały przykładowy tekst z pola edycji. Ciąg test
umieściłem między znacznikami <b>
i </b>
. Wynik:
Test 25
Usunąłem cały przykładowy tekst z pola edycji. Ciąg test
umieściłem między znacznikami <i>
i </i>
. Wynik:
Test 26
Usunąłem cały przykładowy tekst z pola edycji. Ciąg test
umieściłem między znacznikami <u>
i </u>
. Wynik:
Test 27
Usunąłem cały przykładowy tekst z pola edycji. Ciąg test test test test test test test
sformatowałem w następujący sposób:
- pierwszy i ostatni podciąg
test
zostawiłem bez formatowania;
- podciągi od drugiego (włącznie) do przedostatniego (włącznie) pogrubiłem za pomocą znaczników
<b>
i </b>
;
- podciągi od trzeciego (włącznie) do trzeciego od końca (włącznie) pochyliłem za pomocą znaczników
<i>
i </i>
;
- podciąg piąty podkreśliłem za pomocą znaczników
<u>
i </u>
.
Wynik:
TODO (brak możliwości wykonania testu w związku niestabilnym zachowaniem edytora podczas zagnieżdżania znaczników (?), opisanym w tym poście)
Test 28
Usunąłem cały przykładowy tekst z pola edycji. Wykonałem to samo, co w teście 27, tylko ciąg zbudowałem z podciągów [test](http://google.com)
zamiast z podciągów test
. Wynik:
TODO (brak możliwości wykonania testu w związku niestabilnym zachowaniem edytora podczas zagnieżdżania znaczników (?), opisanym w tym poście)
Test 29
Usunąłem cały przykładowy tekst z pola edycji. Wykonałem to samo, co w teście 27, tylko ciąg zbudowałem z podciągów [test](http://image.com/file.jpg)
zamiast z podciągów test
. Wynik:
TODO (brak możliwości wykonania testu w związku niestabilnym zachowaniem edytora podczas zagnieżdżania znaczników (?), opisanym w tym poście)
Funkcje:
- Sprawdź czy dobrze działa autocomplete kodu, napisz
~~~py
i ustaw kursor w miejscu: ~~~p|y
, albo ~~~|py
, albo ~~|~py
, albo ~|~~py
i zobacz czy działa "mądrze"
Test 30
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg ~~~py
. Wynik: pojawiło się okienko autouzupełniania.
Test 31
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg ~~~py
. Wynik: pojawiło się okienko autouzupełniania. Następnie ustawiłem kursor między literami p
i y
. Wynik: zniknęło okienko autouzupełniania.
Test 32
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg ~~~py
. Wynik: pojawiło się okienko autouzupełniania. Następnie ustawiłem kursor między trzecim od lewej znakiem ~
a literą p
. Wynik: zniknęło okienko autouzupełniania.
Test 33
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg ~~~py
. Wynik: pojawiło się okienko autouzupełniania. Następnie ustawiłem kursor między drugim a trzecim od lewej znakiem ~
. Wynik: zniknęło okienko autouzupełniania.
Test 34
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg ~~~py
. Wynik: pojawiło się okienko autouzupełniania. Następnie ustawiłem kursor między pierwszym a drugim od lewej znakiem ~
. Wynik: zniknęło okienko autouzupełniania.
Test 35
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg ~~~py
. Wynik: pojawiło się okienko autouzupełniania. Następnie ustawiłem kursor przed pierwszym od lewej znakiem ~
. Wynik: zniknęło okienko autouzupełniania.
- Sprawdź autocomplete podpowiadania nazw użytkowników. Uzytkownicy ze spacją, jak @Adam Boduch lub z kropką jak @s.lookash: są podpowiadani dobrze, czy jak zmażesz pół ich nazwy, to czy autocomplete nagal ogarnia i koloruje te nicki poprawnie.
Test 36 (podpowiadanie nazwy użytkownika ze spacją)
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg @a
. Wynik:
Test 37 (podpowiadanie nazwy użytkownika ze spacją)
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg @a
. Wynik: pojawiło się okienko jak w wyniku testu 36. Następnie nacisnąłem ENTER. Wynik:
Test 38 (podpowiadanie nazwy użytkownika ze spacją)
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg @a
. Wynik: pojawiło się okienko jak w wyniku testu 36. Następnie nacisnąłem ENTER. Wynik: okienko zniknęło, a w polu edycji pojawił się ciąg @{Adam Boduch}:
(na końcu spacja). Następnie naciskałem klawisz BACKSPACE, aż wpisany ciąg został skrócony do ciągu @{Adam
(na końcu spacja). Pierwsze naciśnięcie klawisza BACKSPACE spodowało zniknięcie okienka. Drugie nie zmieniło nic – okienka nie było. Trzecie, czyli usunięcie znaku }
, spowodowało pojawienie się okienka z jedną opcją do wyboru: Adam Boduch
. Po każdym następnym naciśnięciu klawisza BACKSPACE okienko znikało i pojawiało się na nowo (w sensie: migało). Na końcu okienko wyglądało tak:
Test 39 (podpowiadanie nazwy użytkownika z kropką)
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg @s
. Wynik:
Test 40 (podpowiadanie nazwy użytkownika z kropką)
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg @a
. Wynik: pojawiło się okienko jak w wyniku testu 39. Następnie nacisnąłem ENTER. Wynik:
Test 41 (podpowiadanie nazwy użytkownika z kropką)
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg @s
. Wynik: pojawiło się okienko jak w wyniku testu 36. Następnie nacisnąłem ENTER. Wynik: okienko zniknęło, a w polu edycji pojawił się ciąg @{s.text}:
(na końcu spacja). Następnie naciskałem klawisz BACKSPACE, aż wpisany ciąg został skrócony do ciągu @{s.
(na końcu kropka). Pierwsze naciśnięcie klawisza BACKSPACE spodowało zniknięcie okienka. Drugie nie zmieniło nic – okienka nie było. Trzecie, czyli usunięcie znaku }
, spowodowało pojawienie się okienka z jedną opcją do wyboru: s.text
. Po każdym następnym naciśnięciu klawisza BACKSPACE okienko znikało i pojawiało się na nowo (w sensie: migało). Na końcu okienko wyglądało tak:
- Sprawdź czy jak masz kursor na elemencie listy, i klikniesz Enter, to czy edytor doda sam nową linię. To samo potem z cytatem.
Test 42
Usunąłem cały przykładowy tekst z pola edycji. Utworzyłem przykładową listę:
Następnie ustawiłem kursor w linii z pierwszym elementem tej listy, przed znakiem 1
. Następnie nacisnąłem ENTER. Wynik:
Test 43
Usunąłem cały przykładowy tekst z pola edycji. Utworzyłem przykładową listę jak w teście 42. Następnie ustawiłem kursor w linii z pierwszym elementem tej listy, między znakami 1
a .
. Następnie nacisnąłem ENTER. Wynik:
Test 44
Usunąłem cały przykładowy tekst z pola edycji. Utworzyłem przykładową listę jak w teście 42. Następnie ustawiłem kursor w linii z pierwszym elementem tej listy, między znakami .
a
(spacja). Następnie nacisnąłem ENTER. Wynik:
Test 45
Usunąłem cały przykładowy tekst z pola edycji. Utworzyłem przykładową listę jak w teście 42. Następnie ustawiłem kursor w linii z pierwszym elementem tej listy, między znakami
(spacja) a A
. Następnie nacisnąłem ENTER. Wynik:
Test 46
Usunąłem cały przykładowy tekst z pola edycji. Utworzyłem przykładową listę jak w teście 42. Następnie ustawiłem kursor w linii z pierwszym elementem tej listy, między znakami A
a B
. Następnie nacisnąłem ENTER. Wynik:
Test 47
Usunąłem cały przykładowy tekst z pola edycji. Utworzyłem przykładową listę jak w teście 42. Następnie ustawiłem kursor w linii z pierwszym elementem tej listy, za znakiem C
. Następnie nacisnąłem ENTER. Wynik:
Komendy:
- Sprawdź czy kliknięcie Ctrl+B pogrubia tekst. Sprawdź czy nie pogrubia jeśli zaznaczyłeś tekst już pogrubiony albo dotykający innych elementów. Pamiętaj, markdown ma dodawać jakieś elementy tylko jeśli na 100% nie zepsuje to istniejącego markdownu
Wstępna uwaga: zgodnie z pomocą Google Chrome dotyczącą skrótów klawiszowych dla Windowsa i Linuxa w przeglądarce Chrome domyślnie do skrótu CTRL+B nie jest przypisana żadna akcja – z czego wnioskuję, że i w Chromium.
Test 48
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg test
. Nacisnąłem CTRL+A. Następnie nacisnąłem CTRL+B. Wynik:
Test 49
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg test
. Nacisnąłem CTRL+A. Następnie nacisnąłem CTRL+B. Następnie jeszcze raz nacisnąłem CTRL+A, a potem CTRL+B. Wynik:
Test 50
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg test
. Następnie zaznaczyłem podciąg te
. Następnie nacisnąłem CTRL+B. Wynik:
Następnie zaznaczyłem podciąg st
. Następnie nacisnąłem CTRL+B. Wynik:
- To samo z Ctrl+I, do pochylenia
Wstępna uwaga: zgodnie z pomocą Google Chrome dotyczącą skrótów klawiszowych dla Windowsa i Linuxa w przeglądarce Chrome domyślnie do skrótu CTRL+I nie jest przypisana żadna akcja – z czego wnioskuję, że i w Chromium.
Test 51
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg test
. Nacisnąłem CTRL+A. Następnie nacisnąłem CTRL+I. Wynik:
Test 52
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg test
. Nacisnąłem CTRL+A. Następnie nacisnąłem CTRL+I. Następnie jeszcze raz nacisnąłem CTRL+A, a potem CTRL+I. Wynik:
Test 53
Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg test
. Następnie zaznaczyłem podciąg te
. Następnie nacisnąłem CTRL+I. Wynik:
Następnie zaznaczyłem podciąg st
. Następnie nacisnąłem CTRL+I. Wynik:
UPDATE Skończyłem. Napisz mi, jeśli zauważysz w tych testach błędy, czegoś Ci brakuje lub oczekujesz czegoś innego.