QA nowego edytora postów.

2

@Silv: Wątek https://4programmers.net/Forum/Spolecznosc/Projekty/355353-nowa_wersja_edytora_postow_i_moze_i_microblogow_na_4programmersnet?p=1808202#comment-765782 przerodził się w QA.

Myślę, żę powinniśmy przenieść wszystkie posty związane z QA do tego tematu tutaj, i usunąć je z wątku tam, żeby tamten wątek został na rozmowy o edytorze.

Jakbyś mógl po prostu przepisać swoje posty odn. QA do tego wątku, a potem je usunąć z tamtego to byłoby super.

1
Silv napisał(a):

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:

  • 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.)

Widok:

  • Ad. 2 To samo, tylko z linkiem do obrazka, np http://image.com/file.jpg (rozpoznawane jest po rozszerzeniach)
  • 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.
  • W tabelkach nie powinny działać blockowe elementy, jak fragmenty kodu, obrazki, inne tabelki
  • Sprawdź dekoracje z użyciem <kbd></kbd>, np jak działają z innymi dekoracjami, np **bold**, *italic*, __bold__, _italic_
  • Sprawdź czy przekreślenie ~~ nie psuje nic kiedy używa się go obok kodu ~~~py
  • 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
  • Sprawdź czy <u>, <b> oraz <i> dodają dekoracje "sensownie".

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"
  • 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.
  • Sprawdź czy jak masz kursor na elemencie listy, i klikniesz Enter, to czy edytor doda sam nową linię. To samo potem z cytatem.

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
  • To samo z Ctrl+I, do pochylenia

Tak na początek.

1

(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).

TomRiddle napisał(a):
Silv napisał(a):

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:

screenshot-20211127115614.png

Test 2

Wkleiłem http://google.com w środek wyrazu nowatorski, między no a watorski, korzystając z CTRL+C, CTRL+V. Wynik:

screenshot-20211127120036.png

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:

screenshot-20211127120402.png

Test 4

Wkleiłem google.com w środek wyrazu nowatorski, między no a watorski, korzystając z CTRL+C, CTRL+V. Wynik:

screenshot-20211127130527.png

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:

screenshot-20211127130602.png

Test 6

Wkleiłem ftp://google.com w środek wyrazu nowatorski, między no a watorski, korzystając z CTRL+C, CTRL+V. Wynik:

screenshot-20211127130638.png

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:

screenshot-20211127131022.png

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:

screenshot-20211127131100.png

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:

screenshot-20211127131144.png

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:

screenshot-20211127131231.png

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:

screenshot-20211127131306.png

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:

screenshot-20211127131337.png

  • 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:

screenshot-20211127132045.png

  • 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ę:

screenshot-20211127132719.png

  • 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:

screenshot-20211127134334.png

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:

screenshot-20211127134801.png

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:

screenshot-20211127134700.png

  • 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:

screenshot-20211127135801.png

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:

screenshot-20211127135858.png

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:

screenshot-20211127140127.png

  • 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:

  1. pierwszy i ostatni podciąg test zostawiłem bez formatowania;
  2. podciągi od drugiego (włącznie) do przedostatniego (włącznie) pogrubiłem;
  3. podciągi od trzeciego (włącznie) do trzeciego od końca (włącznie) pochyliłem;
  4. podciągi od czwartego (włącznie) do czwartego od końca (włącznie) przekreśliłem;
  5. podciągi piąty sformatowałem jako font o stałej szerokości.

Wynik:

screenshot-20211127141406.png

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:

screenshot-20211127141838.png

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:

screenshot-20211127142206.png

  • 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:

screenshot-20211127144810.png

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:

screenshot-20211127144854.png

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:

screenshot-20211127144936.png

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:

  1. pierwszy i ostatni podciąg test zostawiłem bez formatowania;
  2. podciągi od drugiego (włącznie) do przedostatniego (włącznie) pogrubiłem za pomocą znaczników <b> i </b>;
  3. podciągi od trzeciego (włącznie) do trzeciego od końca (włącznie) pochyliłem za pomocą znaczników <i> i </i>;
  4. 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:

screenshot-20211127165142.png

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:

screenshot-20211127165434.png

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:

screenshot-20211127165846.png

Test 39 (podpowiadanie nazwy użytkownika z kropką)

Usunąłem cały przykładowy tekst z pola edycji. Wpisałem ciąg @s. Wynik:

screenshot-20211127171332.png

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:

screenshot-20211127171451.png

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:

screenshot-20211127171722.png

  • 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ę:

screenshot-20211127172922.png

Następnie ustawiłem kursor w linii z pierwszym elementem tej listy, przed znakiem 1. Następnie nacisnąłem ENTER. Wynik:

screenshot-20211127173010.png

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:

screenshot-20211127173227.png

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:

screenshot-20211127173423.png

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:

screenshot-20211127173757.png

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:

screenshot-20211127173918.png

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:

screenshot-20211127174130.png

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:

screenshot-20211127181211.png

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:

screenshot-20211127180210.png

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:

screenshot-20211127180621.png

Następnie zaznaczyłem podciąg st. Następnie nacisnąłem CTRL+B. Wynik:

screenshot-20211127180642.png

  • 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:

screenshot-20211127181313.png

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:

screenshot-20211127181516.png

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:

screenshot-20211127181644.png

Następnie zaznaczyłem podciąg st. Następnie nacisnąłem CTRL+I. Wynik:

screenshot-20211127181706.png


UPDATE Skończyłem. Napisz mi, jeśli zauważysz w tych testach błędy, czegoś Ci brakuje lub oczekujesz czegoś innego.

1

@Silv: Okey, super.

  • Test 1 - Moim zdaniem zachowanie OK. User "psuje" markdown, bo wklejeniem usuwa heading, innymi słowy zabiera znakom ## markdownowe znaczenie. Dla mnie ok.
  • Test 2 - Moim zdaniem zachowanie OK, nie jest powiedziane że nie można wkleić linku pomiędzy słowo. Dla mnie ok.
  • Test 3 - Moim zdaniem zachowanie OK, User psuje "pogrubienie", bo wklejeniem zabiera markowi ** specjalne markdownowe znaczenie. Dla mnie ok.
2

(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).

Problem

Edytor wydaje się dziwnie działać przy wklejaniu linków, podczas gdy tekst jest zaznaczony.

Kroki do zreprodukowania

  1. Wyczyścić edytor.
  2. Skopiować ciąg [4programmers.net](https://4programmers.net), używając CTRL+C.
  3. Wkleić ciąg do edytora, używając CTRL+V.
  4. Nacisnąć CTRL+A.
  5. Nacisnąć CTRL+V (efekt: nic się nie dzieje – dziwne).
  6. Nacisnąć jeszcze raz CTRL+V (efekt: ciąg [4programmers.net](https://4programmers.net) pojawia się podwójnie – dziwne).

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/
2

(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).

Problem

Wydaje mi się to poważny problem, jeśli chodzi o UX. Wpisanie ciągu <b><i></i></b> powoduje następujące błędy w konsoli (ostatni błąd jest najprawdopodobniej związany z utratą focusa przez edytor):

screenshot-20211127145953.png

Ponadto po wpisaniu powyższego ciągu edytor wydaje się zachowywać niestabilnie – wydaje się zachowywać w sposób nieoczekiwany dla różnych moich akcji.

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/

UPDATE

Powyższe zachowanie pojawia się także po wpisaniu ciągu <b><i>test</i></b>. Co warte odnotowania, zarówno formatowanie, jak i kolorowanie składni po wpisaniu tego ciągu (jak i ciągu <b><i></i></b>) nie jest poprawne – wygląda tak:

screenshot-20211127151313.png

0
Silv napisał(a):

Problem

Edytor wydaje się dziwnie działać przy wklejaniu linków, podczas gdy tekst jest zaznaczony.

To był problem z tym że przeglądarka robiła Ctrl+A, zamiast edytor. Dodałem buga który przechwytuje Ctrl+A, zanim przeglądarka coś zrobi.

Poprawiłem, powinno działać. Ale! Poprawiłem tylko na Windowsie.

Na 99% ten bug wystąpi też na Macu, tylko oczywiście nie z Ctrl+A tylko pewnie Command+A.

1
TomRiddle napisał(a):

Poprawiłem, powinno działać.

Czy piszesz o sytuacji sprzed mojego drugiego sprawdzenia (w komentarzach w usuniętym poście w poprzednim wątku)?

Zresztą… sprawdzę jeszcze raz. ;)


UPDATE @TomRiddle Błąd już nie występuje. Efekt kroku 5 (czyli wykonanie CTRL+V na zaznaczonym tekście) jest taki, że zaznaczenie tekstu znika, a w polu edycji pojawia się ten sam tekst.

1

@Silv: Co do Twojego postu z 53ema testami:

  • Test 1: Ctrl+V to jest ten skrót, który ma pozwolić użytkownikowi wszystko co chce, więc ja mówię że ok.
  • Test 2: Ad. punkt B.
  • Test 3: Ad. punkt A.
  • Test 4: That's fine. Czy tutaj chodzi o to że google.com ma być zinterpretowany jako link? Nie wydaje mi się.
  • Test 5: Ad. punkt B.
  • Test 6: Fakt, bo na razie "smart paste" nie uważa że link ftp:// powinny być uważane automatycznie za linki. @somekind jak myślisz?
  • Test 7: Ad. punkt A.
  • Test 8: Ad. punkt A.
  • Test 9: Ad. punkt A.
  • Test 10: Ad. punkt A.
  • Test 11: Ad. punkt B.
  • Test 12: Link zaczynający się od ftp:// nie ma przypisanego żadnego customowego zachowania
  • Test 13: Ad. punkt C
  • Test 14: Ad. punkt C
  • Test 15: test nie jest klawiszem, więc nie jest dekorowany
  • Test 16: Żadne z tych tekstów to nie klawisz, więc to nie zadziała. Test miałby sens gdybyś zamiast frazy "test" użył czegoś co jest klawiszem, np "Ctrl".
  • Test 17: Ad. punkt C
  • Test 18: Ad. punkt C
  • Test 19: Ad. punkt C
  • Test 20: Ad. punkt C
  • Test 21: Ad. punkt C
  • Test 22: Ad. punkt C
  • Test 23: Ad. punkt C
  • Test 24: Ad. punkt C
  • Test 25: Ad. punkt C
  • Test 26: Ad. punkt C

Punkt A: To by zepsuło markdown, więc edytor nic nie robi, i dzieje się zwykły Ctrl+V
Punkt B: To nie psuje markdownu, więc edytor wkleja link jako markdown.
Punkt C: No to jest chyba okej, nie?

0

@Silv:

  • Test 27: To be continued?
  • Test 28: To be continued?
  • Test 29: To be continued?
  • Test 30: Good
  • Test 31, 32, 33, 34, 35 - Tak, bo kliknięcie myszką albo strzałkami howa autokomplete. Zachowuje autocomplete Backspace albo Enter Myślisz że wymagałoby to poprawy?
  • Test 36: Chyba good?
  • Test 37: Chyba good?
  • Test 38: Chyba good?
  • Test 39: Chyba good?
  • Test 40: Chyba good?
  • Test 41: Chyba good?
  • Test 42: No tak działa indentacja list, skoro kursor jest przed listą.
  • Test 43: No tak działa indentacja list, skoro kursor jest przed elementem
  • Test 44: What? Opowiedz o tym
  • Test 45: What? Opowiedz o tym
  • Test 46: Chyba good?
  • Test 47: Chyba good?
  • Test 48: Chyba good?
  • Test 49: Chyba good?
  • Test 50: Chyba good?
  • Test 51: Chyba good?
  • Test 52: Chyba good?
  • Test 53: Chyba good?
1

Nie wiem, czy powinienem odpowiadać na Twój komentarz do każdego z testów, więc odpowiem tylko na te, co do których albo Ty, albo ja mamy wątpliwości.

TomRiddle napisał(a):

@Silv: Co do Twojego postu z 53ema testami:

  • Test 1: Ctrl+V to jest ten skrót, który ma pozwolić użytkownikowi wszystko co chce, więc ja mówię że ok.

Jak to brzmi – skrót, który robi wszystko. :P

  • Test 2: Ad. punkt B.
  • Test 3: Ad. punkt A.
  • Test 4: That's fine. Czy tutaj chodzi o to że google.com ma być zinterpretowany jako link? Nie wydaje mi się.

Zgadzam się, że jeśli edytor umiałby zinterpretować ten ciąg znaków jako link, to byłoby to zbyt "magiczne" (musiałbyś pewnie odgórnie jakąś listę domen przygotować – a to bez sensu). Trochę moja wina, testy z ciągiem google.com niewiele mówią; powinienem był przetestować raczej www.google.com (niezależnie od tego, czy edytor potrafi to zinterpretować jako link, czy nie). Więc wynik testu jest dla mnie OK.

  • Test 5: Ad. punkt B.
  • Test 6: Fakt, bo na razie "smart paste" nie uważa że link ftp:// powinny być uważane automatycznie za linki. @somekind jak myślisz?
  • Test 7: Ad. punkt A.
  • Test 8: Ad. punkt A.
  • Test 9: Ad. punkt A.
  • Test 10: Ad. punkt A.
  • Test 11: Ad. punkt B.
  • Test 12: Link zaczynający się od ftp:// nie ma przypisanego żadnego customowego zachowania

W takim razie wyniki testów z ciągami zaczynającymi się ftp:// są dla mnie OK.

  • Test 13: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 14: Ad. punkt C

Jeśli chodzi o blokowy fragment kodu: nie ma kolorowania, więc wynik testu jest dla mnie OK.

Jeśli chodzi o obrazek: moja wina, nie napisałem, jak go wstawiłem. Już nie pamiętam; jedynie domyślam się, że użyłem CTRL+C, CTRL+V. Przetestowałem więc jeszcze raz podczas pisania tego postu (wersja edytora: "1.4.1, /ChangeLog.md, last change: 11:42. 30.11.2021"). Skopiowałem ciąg http://image.com/file.jpg za pomocą CTRL+C i wkleiłem go między znakami (spacją) a G. Wynik nowego testu:

screenshot-20211201105805.png

W związku z tym wynikiem nie bardzo rozumiem, co dla Ciebie oznacza, że "obrazki" nie powinny "działać" w tabelkach. Moim zdaniem jeśli obrazek "nie działa w tabeli", to nie powinno następować żadne formatowanie wklejanego przeze mnie ciągu.

Jeśli chodzi o tabelę w tabeli: nagłówki kolumn nie są pogrubione, więc wynik testu jest dla mnie OK.

  • Test 15: test nie jest klawiszem, więc nie jest dekorowany

Żeby określić, jaki ciąg reprezentuje klawisz, a jaki nie, musiałbyś mieć listę wszystkich klawiszy, jakie mogą występować we wszystkich układach klawiatur – dobrze myślę?

  • Test 16: Żadne z tych tekstów to nie klawisz, więc to nie zadziała. Test miałby sens gdybyś zamiast frazy "test" użył czegoś co jest klawiszem, np "Ctrl".

W takim razie patrz mój komentarz do testu 15.

  • Test 17: Ad. punkt C

Patrz mój komentarz do testu 15.

  • Test 18: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 19: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 20: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 21: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 22: Ad. punkt C

Nie wiem, czy wynik testu jest OK, ponieważ zauważyłem błąd – znacznik zamykający ~~ umieściłem po spacji, a nie przed nią. W związku z tym wygląda, że działa on inaczej niż np. pogrubienie. Wykonałem więc nowy test (edytor: "version 1.4.1, /ChangeLog.md, last change: 11:42. 30.11.2021", przeglądarka: "Chromium 90.0.4430.212 (Developer Build)"). Wynik:

screenshot-20211201112232.png

Wynik wydaje się być taki sam, jak wynik starego testu. Jeśli miejsce umieszczenie znacznika zamykającego ~~ rzeczywiście nie powinno mieć znaczenia, to oba wyniki są dla mnie OK.

  • Test 23: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 24: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 25: Ad. punkt C

Wynik testu jest dla mnie OK.

  • Test 26: Ad. punkt C

Wynik testu jest dla mnie OK.

Punkt A: To by zepsuło markdown, więc edytor nic nie robi, i dzieje się zwykły Ctrl+V
Punkt B: To nie psuje markdownu, więc edytor wkleja link jako markdown.
Punkt C: No to jest chyba okej, nie?

0
TomRiddle napisał(a):

@Silv:

  • Test 27: To be continued?

Przetestowałem teraz (edytor: "version: 1.4.1, /ChangeLog.md, last change: 11:42. 30.11.2021", przeglądarka: "Chromium 90.0.4430.212 (Developer Build)"). Wynik:

screenshot-20211201135203.png

  • Test 28: To be continued?

Przetestowałem teraz (edytor: "version: 1.4.1, /ChangeLog.md, last change: 11:42. 30.11.2021", przeglądarka: "Chromium 90.0.4430.212 (Developer Build)"). Wynik:

screenshot-20211201135441.png

  • Test 29: To be continued?

Przetestowałem teraz (edytor: "version: 1.4.1, /ChangeLog.md, last change: 11:42. 30.11.2021", przeglądarka: "Chromium 90.0.4430.212 (Developer Build)"). Przy okazij poprawiam błąd w opisie testu, który wkradł się do pierwszego postu z wynikami testów – ciąg powinien być ![test](http://image.com/file.jpg) (z wykrzyknikiem na początku), a nie [test](http://image.com/file.jpg). Wynik:

screenshot-20211201140051.png

  • Test 30: Good
  • Test 31, 32, 33, 34, 35 - Tak, bo kliknięcie myszką albo strzałkami howa autokomplete. Zachowuje autocomplete Backspace albo Enter Myślisz że wymagałoby to poprawy?

Akcja wyboru użytkownika nie wydaje mi się skomplikowana. Jest to jedynie wybór strzałkami pozycji na liście oraz naciśnięcie ENTER. Myślę, że tak, jak jest, jest dobrze.

Nie rozumiem jednak, co masz na myśli, pisząc, że ENTER "zachowuje autocomplete". Przecież po jego naciśnięciu okienko się chowa (i to zresztą jest oczekiwane zachowanie)?

  • Test 36: Chyba good?

O ile lista użytkowników powinna zawierać dokładnie takie wartości, jakie zawiera na zrzutach ekranu (czyli nie pomija żadnych przykładowych użytkowników, których dodałeś), to dla mnie jest OK.

  • Test 37: Chyba good?

O ile lista użytkowników powinna zawierać dokładnie takie wartości, jakie zawiera na zrzutach ekranu (czyli nie pomija żadnych przykładowych użytkowników, których dodałeś), to dla mnie wynik testu jest OK.

  • Test 38: Chyba good?

O ile lista użytkowników powinna zawierać dokładnie takie wartości, jakie zawiera na zrzutach ekranu (czyli nie pomija żadnych przykładowych użytkowników, których dodałeś), to dla mnie wynik testu jest OK.

  • Test 39: Chyba good?

O ile lista użytkowników powinna zawierać dokładnie takie wartości, jakie zawiera na zrzutach ekranu (czyli nie pomija żadnych przykładowych użytkowników, których dodałeś), to dla mnie wynik testu jest OK.

  • Test 40: Chyba good?

O ile lista użytkowników powinna zawierać dokładnie takie wartości, jakie zawiera na zrzutach ekranu (czyli nie pomija żadnych przykładowych użytkowników, których dodałeś), to dla mnie wynik testu jest OK.

  • Test 41: Chyba good?

O ile lista użytkowników powinna zawierać dokładnie takie wartości, jakie zawiera na zrzutach ekranu (czyli nie pomija żadnych przykładowych użytkowników, których dodałeś), to dla mnie wynik testu jest OK.

  • Test 42: No tak działa indentacja list, skoro kursor jest przed listą.

Wynik testu jest dla mnie OK.

  • Test 43: No tak działa indentacja list, skoro kursor jest przed elementem

Wynik testu jest dla mnie OK.

  • Test 44: What? Opowiedz o tym

Też mnie to zdziwiło. Najwyraźniej jest jakiś bug. Dla pewności przetestowałem teraz ponownie (edytor: "version: 1.4.1, /ChangeLog.md, last change: 11:42. 30.11.2021", przeglądarka: "Chromium 90.0.4430.212 (Developer Build)"). Wynik:

screenshot-20211201143435.png

Wynik wydaje się być taki sam. W konsoli brak błędów.

Oczekiwane zachowanie według mnie jest takie:

  1. nic się nie dzieje z ciągiem znaków przed kursorem;
  2. cały ciąg znaków za kursorem do końca linii zostaje umieszczony w nowym punkcie listy w linii pod linią z kursorem; punkt ten otrzymuje numer 2.
  3. punkty 2 i 3 otrzymują numery, odpowiednio, 3 i 4 (to się dzieje obecnie).
  • Test 45: What? Opowiedz o tym

Też mnie to zdziwiło. Najwyraźniej jest jakiś bug. Dla pewności przetestowałem teraz ponownie (edytor: "version: 1.4.1, /ChangeLog.md, last change: 11:42. 30.11.2021", przeglądarka: "Chromium 90.0.4430.212 (Developer Build)"). Wynik:

screenshot-20211201143152.png

Wynik wydaje się być taki sam. W konsoli brak błędów.

Oczekiwane zachowanie według mnie jest takie samo, jak w komentarzu do testu 44.

  • Test 46: Chyba good?

Wynik test jest moim zdaniem OK.

  • Test 47: Chyba good?

Wynik test jest moim zdaniem OK.

  • Test 48: Chyba good?

Jeśli tekst ma być zaznaczony po naciśnięciu CTRL+B, to wynik testu jest moim zdaniem OK.

  • Test 49: Chyba good?

Wynik testu jest moim zdaniem OK.

  • Test 50: Chyba good?

Nie bardzo rozumiem to zachowanie. Wygląda to tak, że nie mogę pogrubić tekstu, który "dotyka" innego pogrubionego tekstu. Dlaczego?

  • Test 51: Chyba good?

Wynik testu jest moim zdaniem OK.

  • Test 52: Chyba good?

Wynik testu jest moim zdaniem OK.

  • Test 53: Chyba good?

Patrz: komentarz do testu 50.


UPDATE Poprawiłem zrzut ekranu oraz opis oczekiwanego zachowania w komentarzu do testu 44, bo przez pomyłkę wykonałem test 45 jeszcze raz zamiast niego.

0
TomRiddle napisał(a) w komentarzu:

@Silv: sorry, ale nic nie rozumiem z tego posta. Mógłbyś go jakoś strescic, i ewentualnie napisać co jest do poprawy?

Rzeczywiście, wygląda to trochę chaotycznie. Przy okazji zauważyłem teraz kilka literówek – ale nie edytuję tamtego postu, żeby Twoja prośba miała sens. Więc pisząc to jeszcze raz:

  1. Jeśli chodzi o testy 27, 28 oraz 29 – nie mogłem ich wykonać poprzednio z uwagi na bug. Zamieściłem jednak ich opisy, czyli to, co zamierzałem wykonać. Wykonałem je teraz, ponieważ poprawiłeś bug. W poście zamieściłem wyniki. Przy okazji wykonywania testu 29 odkryłem, że to, co zawierał jego opis, nie było dokładnie tym, co chciałem wykonać – zawierało błąd (literówkę). W związku z tym teraz wykonałem test 29 tak, jak zamierzałem, bez błędu (nowego opisu już nigdzie nie zamieszczałem). Wyników nie oceniłem, żeby nie sugerować Ci, że są poprawne lub niepoprawne – tylko żebyś sam ocenił (lepiej wiesz, co edytor powinien robić).
  2. Jeśli chodzi o test 30 – nie mam żadnego komentarza (bo napisałeś, że jest "good").
  3. Jeśli chodzi o testy 31, 32, 33, 34 oraz 35 – wyniki są dla mnie OK. Nie rozumiem jednak Twojego komentarza do tych testów – napisałeś: "Zachowuje autocomplete Backspace albo Enter". Rozumiem, że klawisz BACKSPACE nie powoduje zamknięcia okienka, ale klawisz ENTER przecież powoduje. Jakbyś mógł napisać, co masz na myśli?
  4. Jeśli chodzi o testy 36, 37, 38, 39, 40 oraz 41 – wyniki są dla mnie OK. Jednak nie wiem, czy sprawdzałeś poprawność zawartości listy użytkowników, która jest w okienku. Chciałem zasugerować Ci, że jeśli tego nie zrobiłeś, to warto to zrobić. W przypadku takich list czasem wszystko wygląda dobrze, a finalnie może okazać się, że w filtrowaniu użytkowników jest bug i któreś elementy nie wyświetlają się. Na przykład – czy nie pomijasz nazw użytkowników z niestandardowymi znakami, np. ą, *, π? Tak sobie myślę, że teoretycznie mógłbym to dodatkowo przetestować – potrzebujesz?
  5. Jeśli chodzi o testy 42 oraz 43 – wyniki są dla mnie OK.
  6. Jeśli chodzi o test 44 – moim zdaniem wynik jest niepoprawny. Na wszelki wypadek przetestowałem jeszcze raz i wynik okazał się taki sam. Opisałem w poście, jakie powinno być zachowanie oczekiwane. Trochę namieszałem, bo pomyliłem się i jako wynik testu 44 zamieściłem początkowo wynik test 45. Dlatego edytowałem później post i dodałem "UPDATE" na jego końcu.
  7. Jeśli chodzi o test 45 – podobnie, jak w przypadku testu 44.
  8. Jeśli chodzi o testy 46 oraz 47 – wyniki są dla mnie OK.
  9. Jeśli chodzi o test 48 – (teraz widzę, że w poście pomyliłem się, przypadkowo zamieściłem komentarz do testu 49). Wynik testu 48 jest dla mnie OK.
  10. Jeśli chodzi o test 49 – (teraz widzę, że w poście pomyliłem się, przypadkowo zamieściłem komentarz do testu 48). Chciałem zasugerować Ci, że zaznaczenie tekstu po naciśnięciu CTRL+B mogłoby albo pozostać, albo zniknąć. Czasem widzę w różnych edytorach przy różnych akcjach, że zaznaczenie znika. Wynik testu pokazał, że Ty zrobiłeś tak, że zaznaczenie pozostało. Jeśli tak ma być, to wynik testu jest dla mnie OK.
  11. Jeśli chodzi o test 50 – czy mógłbyś wyjaśnić, czemu nie można pogrubić dwóch tekstów obok siebie, czyli uzyskać czegoś takiego: **te****st**?
  12. Jeśli chodzi o test 51 – wynik jest dla mnie OK.
  13. Jeśli chodzi o test 52 – wynik testu jest dla mnie OK (choć teraz widzę, że powinienem go opisać tak, jak test 49).
  14. Jeśli chodzi o test 53 – mam wątpliwości podobne jak w przypadku testu 50 (tylko tutaj chodzi o pochylenie, nie pogrubienie).
0
TomRiddle napisał(a) w komentarzu:

@Silv: Mógłbyś pomijać te wyniki które są OK? Bo one tylko zaciemniają wynik.

Przepisuję więc to, co powyżej, opuszczając wzmianki o poprawnych wynikach.

  1. Jeśli chodzi o testy 27, 28 oraz 29 – wyników nie oceniłem, żeby nie sugerować Ci, że są poprawne lub niepoprawne – tylko żebyś sam ocenił (lepiej wiesz, co edytor powinien robić).
  2. Jeśli chodzi o testy 31, 32, 33, 34 oraz 35 – nie rozumiem Twojego komentarza do nich; napisałeś: "Zachowuje autocomplete Backspace albo Enter". Rozumiem, że klawisz BACKSPACE nie powoduje zamknięcia okienka, ale klawisz ENTER przecież powoduje. Jakbyś mógł napisać, co masz na myśli?
  3. Jeśli chodzi o testy 36, 37, 38, 39, 40 oraz 41 – nie wiem, czy sprawdzałeś poprawność zawartości listy użytkowników, która jest w okienku. Chciałem zasugerować Ci, że jeśli tego nie zrobiłeś, to warto to zrobić. W przypadku takich list czasem wszystko wygląda dobrze, a finalnie może okazać się, że w filtrowaniu użytkowników jest bug i któreś elementy nie wyświetlają się. Na przykład – czy nie pomijasz nazw użytkowników z niestandardowymi znakami, np. ą, *, π? Tak sobie myślę, że teoretycznie mógłbym to dodatkowo przetestować – potrzebujesz?
  4. Jeśli chodzi o test 44 – moim zdaniem wynik jest niepoprawny. Na wszelki wypadek przetestowałem jeszcze raz i wynik okazał się taki sam. Opisałem w poście, jakie powinno być zachowanie oczekiwane.
  5. Jeśli chodzi o test 45 – podobnie, jak w przypadku testu 44.
  6. Jeśli chodzi o test 49 – chciałem zasugerować Ci, że zaznaczenie tekstu po naciśnięciu CTRL+B mogłoby albo pozostać, albo zniknąć. Czasem widzę w różnych edytorach przy różnych akcjach, że zaznaczenie znika. Wynik testu pokazał, że Ty zrobiłeś tak, że zaznaczenie pozostało. Jeśli tak ma być, to wynik testu jest dla mnie OK.
  7. Jeśli chodzi o test 50 – czy mógłbyś wyjaśnić, czemu nie można pogrubić dwóch tekstów obok siebie, czyli uzyskać czegoś takiego: **te****st**?
  8. Jeśli chodzi o test 53 – mam wątpliwości podobne jak w przypadku testu 50 (tylko tutaj chodzi o pochylenie, nie pogrubienie).
0
Silv napisał(a):
  1. Jeśli chodzi o testy 27, 28 oraz 29 – wyników nie oceniłem, żeby nie sugerować Ci, że są poprawne lub niepoprawne – tylko żebyś sam ocenił (lepiej wiesz, co edytor powinien robić).

A mógłbyś dołączyć content będący w formularzu i screena? Nie chodzi o to że chcę na Ciebie zrzucać robotę, tylko czy na pewno się dobrze rozumiemy?

  1. Jeśli chodzi o testy 31, 32, 33, 34 oraz 35 – nie rozumiem Twojego komentarza do nich; napisałeś: "Zachowuje autocomplete Backspace albo Enter". Rozumiem, że klawisz BACKSPACE nie powoduje zamknięcia okienka, ale klawisz ENTER przecież powoduje. Jakbyś mógł napisać, co masz na myśli?

Mam na myśli to że innymi zasadami działa edytor, a innymi biblioteka. Autocomplete w bibliotece robi "renew complete" (czyli zamknij i otwórz) na wciśnięcie klawisza, oprócz Backspace i Enter. Dodatkowo, autocomplete tylko wtedy się otworzy jeśli ma kursor w miejscu, przed którym jest nick.

Fakt, że Enter zamyka autocomplete to pół prawda, bo to co robi enter to wkleja nick w miejsce gdzie jest część nicku, np jak wpiszę @TomR i kliknę enter, to autocomplete wklei iddle: , czyli dokeli resztę nicka, dwukropek i spacje. I wtedy autocomplete uznaje, że przed kursorem już nie ma nicka. Byłby, gdyby przed kursorem był @TomRiddle, ale @TomRiddle: już nie, więc autocomplete się nie pokazuje.

Innymi słowy, fakt że Enter "zamyka" autocomplete, jest tylko i wyłącznie konsekwencją tego że po wciśnięciu Entera, zostaje wklejony taki string do inputa, że przed kursorem bezpośrednio nie ma już poprawnego nicka. Enter sam w sobie nie zamyka autocomplete, z punktu widzenia bibilioteki. Gdybym przerobił regex że : jest poprawny na końcu nicka, autocomplete by pozostał.

Z resztą, backspace działa tu tak samo. Niby backspace nie zamyka autocomplete, ale jak masz @T, i wciśniesz backspace, to zostanie Ci @ i autocomplete się zamknie. Ale to nie backspace zamknął autocomplete, tylko nie ma już poprawnego nicka przed kursorem. Identycznie jest z Enterem, to nie enter zamknął autocomplete, tylko nie ma już poprawnego nicka przed kursorem (bo enter wkleił : ).

  1. Jeśli chodzi o testy 36, 37, 38, 39, 40 oraz 41 – nie wiem, czy sprawdzałeś poprawność zawartości listy użytkowników, która jest w okienku. Chciałem zasugerować Ci, że jeśli tego nie zrobiłeś, to warto to zrobić. W przypadku takich list czasem wszystko wygląda dobrze, a finalnie może okazać się, że w filtrowaniu użytkowników jest bug i któreś elementy nie wyświetlają się. Na przykład – czy nie pomijasz nazw użytkowników z niestandardowymi znakami, np. ą, *, π? Tak sobie myślę, że teoretycznie mógłbym to dodatkowo przetestować – potrzebujesz?

Poprawnośc nicków? Nie wiem czy istnieje w ogóle taka idea jak "poprawność nicków". Co do wklejania nicków, te które będą dostarczone przez Coyote'a, można wkleić wszystkie.

Co do parsowania nicków do dekoracji i autocomplete'a, używam takich regexpów:

  • Regexp mówiący czy autocomplete ma się pokazać: /(@{?)((?! )[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ#_@.\- ]+)$/
  • Regexp kolorujący wspomnienie użytkownika bez bracketów /^@[a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ#_@-]+/
  • Regexp kolorujący wspomnienie użytkownika z bracketami /^@{[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ#_@.\- ]+}/
  1. Jeśli chodzi o test 44 – moim zdaniem wynik jest niepoprawny. Na wszelki wypadek przetestowałem jeszcze raz i wynik okazał się taki sam. Opisałem w poście, jakie powinno być zachowanie oczekiwane.
  2. Jeśli chodzi o test 45 – podobnie, jak w przypadku testu 44.

No faktycznie. Znalazłeś buga. Dzięki

  1. Jeśli chodzi o test 49 – chciałem zasugerować Ci, że zaznaczenie tekstu po naciśnięciu CTRL+B mogłoby albo pozostać, albo zniknąć. Czasem widzę w różnych edytorach przy różnych akcjach, że zaznaczenie znika. Wynik testu pokazał, że Ty zrobiłeś tak, że zaznaczenie pozostało. Jeśli tak ma być, to wynik testu jest dla mnie OK.

No, tak jest zrobione w całym edytorze. Tzn pozostaje zaznaczenie pogrubienia, pochylenia, linków, obrazków etc. Jeśli miałoby zniknąć, to należałoby zrobić że znika wszędzie; a nie raz tak raz tak.

  1. Jeśli chodzi o test 50 – czy mógłbyś wyjaśnić, czemu nie można pogrubić dwóch tekstów obok siebie, czyli uzyskać czegoś takiego: **te****st**?
  2. Jeśli chodzi o test 53 – mam wątpliwości podobne jak w przypadku testu 50 (tylko tutaj chodzi o pochylenie, nie pogrubienie).

Dlatego że w Markdown, nie tak jak w HTML, nie można zrobić zagnieżdżonego pogrubienia. W HTML możesz mieć takie coś:

<b>one<b>two</b>three</b>

gdzie potencjalnie mógłbyś ostylować to jako podwójne pogrubienie.

W Markdownie nie ma czegoś takiego - gdybyś zrobił to, to dostałbyś

**one**two**three**

Co oznaczałoby że one i three są pogrubione, a two jest "normalny", zamiast podwójnie pogrubiony. Można zagnieździć np pochylenie i pogrubienie, **one*two*three**, ale dwóch tych samych typoów nie.

0
TomRiddle napisał(a):
Silv napisał(a):
  1. Jeśli chodzi o testy 27, 28 oraz 29 – wyników nie oceniłem, żeby nie sugerować Ci, że są poprawne lub niepoprawne – tylko żebyś sam ocenił (lepiej wiesz, co edytor powinien robić).

A mógłbyś dołączyć content będący w formularzu i screena? Nie chodzi o to że chcę na Ciebie zrzucać robotę, tylko czy na pewno się dobrze rozumiemy?

Zrzuty ekranu są widoczne w moim poprzednim poście. W polu edycji nie ma nic poza tekstami widocznymi na zrzutach ekranu (rozumiem, że pole edycji to dla Ciebie "formularz").

  1. Jeśli chodzi o testy 31, 32, 33, 34 oraz 35 – nie rozumiem Twojego komentarza do nich; napisałeś: "Zachowuje autocomplete Backspace albo Enter". Rozumiem, że klawisz BACKSPACE nie powoduje zamknięcia okienka, ale klawisz ENTER przecież powoduje. Jakbyś mógł napisać, co masz na myśli?

Mam na myśli to że innymi zasadami działa edytor, a innymi biblioteka. Autocomplete w bibliotece robi "renew complete" (czyli zamknij i otwórz) na wciśnięcie klawisza, oprócz Backspace i Enter. Dodatkowo, autocomplete tylko wtedy się otworzy jeśli ma kursor w miejscu, przed którym jest nick.

Fakt, że Enter zamyka autocomplete to pół prawda, bo to co robi enter to wkleja nick w miejsce gdzie jest część nicku, np jak wpiszę @TomR i kliknę enter, to autocomplete wklei iddle: , czyli dokeli resztę nicka, dwukropek i spacje. I wtedy autocomplete uznaje, że przed kursorem już nie ma nicka. Byłby, gdyby przed kursorem był @TomRiddle, ale @TomRiddle: już nie, więc autocomplete się nie pokazuje.

Innymi słowy, fakt że Enter "zamyka" autocomplete, jest tylko i wyłącznie konsekwencją tego że po wciśnięciu Entera, zostaje wklejony taki string do inputa, że przed kursorem bezpośrednio nie ma już poprawnego nicka. Enter sam w sobie nie zamyka autocomplete, z punktu widzenia bibilioteki. Gdybym przerobił regex że : jest poprawny na końcu nicka, autocomplete by pozostał.

Z resztą, backspace działa tu tak samo. Niby backspace nie zamyka autocomplete, ale jak masz @T, i wciśniesz backspace, to zostanie Ci @ i autocomplete się zamknie. Ale to nie backspace zamknął autocomplete, tylko nie ma już poprawnego nicka przed kursorem. Identycznie jest z Enterem, to nie enter zamknął autocomplete, tylko nie ma już poprawnego nicka przed kursorem (bo enter wkleił : ).

OK, wszystko jasne.

  1. Jeśli chodzi o testy 36, 37, 38, 39, 40 oraz 41 – nie wiem, czy sprawdzałeś poprawność zawartości listy użytkowników, która jest w okienku. Chciałem zasugerować Ci, że jeśli tego nie zrobiłeś, to warto to zrobić. W przypadku takich list czasem wszystko wygląda dobrze, a finalnie może okazać się, że w filtrowaniu użytkowników jest bug i któreś elementy nie wyświetlają się. Na przykład – czy nie pomijasz nazw użytkowników z niestandardowymi znakami, np. ą, *, π? Tak sobie myślę, że teoretycznie mógłbym to dodatkowo przetestować – potrzebujesz?

Poprawnośc nicków? Nie wiem czy istnieje w ogóle taka idea jak "poprawność nicków". Co do wklejania nicków, te które będą dostarczone przez Coyote'a, można wkleić wszystkie.

Co do parsowania nicków do dekoracji i autocomplete'a, używam takich regexpów:

  • Regexp mówiący czy autocomplete ma się pokazać: /(@{?)((?! )[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ#_@.\- ]+)$/
  • Regexp kolorujący wspomnienie użytkownika bez bracketów /^@[a-zA-Z0-9ąćęłńóśźżĄĆĘŁŃÓŚŹŻ#_@-]+/
  • Regexp kolorujący wspomnienie użytkownika z bracketami /^@{[a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ#_@.\- ]+}/

Troszkę się nie zrozumieliśmy – nie chodziło mi o "poprawność nicków", tylko o to m.in., w jaki sposób parsujesz. Inaczej mówiąc – czy na liście użytkowników w okienku są wszystkie nazwy użytkowników, które powinny tam się pojawiać (= które są przez Ciebie wpisane w przykładowych danych do testowania edytora).

Więc w sumie odpowiedziałeś na moją wątpliwość. Tylko że po samych regexach trudno mi rozpoznać, czy są poprawne, czy nie (musiałbym douczyć się ich składni). Ale dobrze, że je tutaj zamieściłeś, w razie czego zawsze możemy później wrócić do tej sprawy i głębiej zanalizować czy przetestować. Na razie tego nie planuję – zakładam, że jest OK.

  1. Jeśli chodzi o test 49 – chciałem zasugerować Ci, że zaznaczenie tekstu po naciśnięciu CTRL+B mogłoby albo pozostać, albo zniknąć. Czasem widzę w różnych edytorach przy różnych akcjach, że zaznaczenie znika. Wynik testu pokazał, że Ty zrobiłeś tak, że zaznaczenie pozostało. Jeśli tak ma być, to wynik testu jest dla mnie OK.

No, tak jest zrobione w całym edytorze. Tzn pozostaje zaznaczenie pogrubienia, pochylenia, linków, obrazków etc. Jeśli miałoby zniknąć, to należałoby zrobić że znika wszędzie; a nie raz tak raz tak.

OK, jasne. Niech zostanie, jak jest.

  1. Jeśli chodzi o test 50 – czy mógłbyś wyjaśnić, czemu nie można pogrubić dwóch tekstów obok siebie, czyli uzyskać czegoś takiego: **te****st**?
  2. Jeśli chodzi o test 53 – mam wątpliwości podobne jak w przypadku testu 50 (tylko tutaj chodzi o pochylenie, nie pogrubienie).

Dlatego że w Markdown, nie tak jak w HTML, nie można zrobić zagnieżdżonego pogrubienia. W HTML możesz mieć takie coś:

<b>one<b>two</b>three</b>

gdzie potencjalnie mógłbyś ostylować to jako podwójne pogrubienie.

W Markdownie nie ma czegoś takiego - gdybyś zrobił to, to dostałbyś

**one**two**three**

Co oznaczałoby że one i three są pogrubione, a two jest "normalny", zamiast podwójnie pogrubiony. Można zagnieździć np pochylenie i pogrubienie, **one*two*three**, ale dwóch tych samych typoów nie.

Troszkę się nie zrozumieliśmy. Nie chcę zagnieżdżać pogrubienia, tylko pogrubić dwa ciągi obok siebie. Innymi słowy, dla przykładu **te****st** chodzi o to, że są to dwa oddzielne pogrubione ciągi połączone w jeden ciąg: **te** oraz **st**.

1

@Silv bug z enterem przy liście powinien być naprawiony. Zrobię deploy demo za 2-3h

PS: @Silv Deployed.

1
TomRiddle napisał(a):

@Silv bug z enterem przy liście powinien być naprawiony. Zrobię deploy demo za 2-3h

PS: @Silv Deployed.

Rozumiem, że mówisz konkretnie o wynikach testów 44 oraz 45. Wykonałem je jeszcze raz.

Wynik dla testu 44:

screenshot-20211211103930.png

Wynik dla testu 45:

screenshot-20211211104046.png

Uznaję, że zachowanie jest takie, jak zachowanie oczekiwane (które opisałem wcześniej). Czyli – jest OK.

0

@Silv: Nadal jesteś zainteresowany QAowaniem edytora? Bo wyszła nowa wersja, mógłbyś zrobić swoje testy jeszcze raz.

0

Zawsze warto robić QA. :) Ale z uwagi na to, że prace trwają, z następnymi testami wolałbym poczekać, aż edytor zostanie zintegrowany na serwerze deweloperskim.

0
Silv napisał(a):

Zawsze warto robić QA. :) Ale z uwagi na to, że prace trwają, z następnymi testami wolałbym poczekać, aż edytor zostanie zintegrowany na serwerze deweloperskim.

Zabawna sprzeczność (niezamierzona)?

"Zawsze" vs "aż edytor zostanie zintegrowany".

Dżołking ofkors.

0

Ach, tak, nawet ciekawie mi wyszło. :) Chodzi mi o to, że Twój pomysł jest jak najbardziej w porządku w ogólności; natomiast z uwagi na ograniczony czas i moce przerobowe (1 deweloper :P) najlepiej byłoby zrobić kolejne QA tuż przed wdrożeniem – czyli po integracji z serwerem deweloperskim.

0
Silv napisał(a):

Ach, tak, nawet ciekawie mi wyszło. :) Chodzi mi o to, że Twój pomysł jest jak najbardziej w porządku w ogólności; natomiast z uwagi na ograniczony czas i moce przerobowe (1 deweloper :P) najlepiej byłoby zrobić kolejne QA tuż przed wdrożeniem – czyli po integracji z serwerem deweloperskim.

No tak, rozumiem.

Tylko to jest sprzeczne ze słowem "Zawsze", więc nie powinieneś go użyć.

2

Hej, znalazłem takie coś w edytorze

screenshot-20211221123657.png

czy to co jest po pierwszym # też nie powinno zostać nagłówkiem?

1
no_solution_found napisał(a):

Hej, znalazłem takie coś w edytorze

czy to co jest po pierwszym # też nie powinno zostać nagłówkiem?

Przede wszystkim, dzięki za chęć zgłoszenia buga! Liczę że uda nam się naprawić większość kiedy edytor jeszcze jest na DEV; a nie tak żę 99% userów się obudzi z bugiem jak już wrzucimy.

Co do samego # - nie, bo 4programmers nie pozwala na nagłówki najwyższego poziomu.

Dowód:

Nagłówek

0

no tak, ale takie coś

# Nagłówek

może się stać po prostu h2 i tak dalej

0
no_solution_found napisał(a):

no tak, ale takie coś

# Nagłówek

może się stać po prostu h2 i tak dalej

Nie rozumiem, co to znaczy może się stać?

Masz na myśli to że 4programmers.net mógłby parsować # na <h2>, ## na <h3> etc?

No mógłby, ale nie wiem czy to nie byłoby wprowadzanie w błąd, bo w markdown # oraz w ogóle w HTML'u istnieje konwencja żę możę być jeden nagłówek wysokiego poziomu na stronę, a postów na stronie możę być wiele, więc lepiej nie dodawać zarówno <h1> jak i # w poście.

Bo mimo że technicznie możnaby wyrenderować # jako <h2>, tak semantycznie # to jest nadal nagłówek wysokiego poziomu, którego powinien być jeden, niezależnie od tego jak się renderuje w HTML.

Ale dzięi za sugestie!

0
no_solution_found napisał(a):

dla mnie jest to mylące, że pojedynczy # jest mniejszy czy też w ogóle nie sformatowany, w porównaniu z ##

@no_solution_found: Poza tym, to nawet nie temat nowego edytora, bo zachowanie które opisujesz istnieje już teraz w edytorze. Więc temat bardziej do działu Coyote niż tutaj.

Patrz:

Nagłówek wysokiego poziomu

Nagłówek drugiego poziomu

2
no_solution_found napisał(a):

ja rozumiem, że na stronie powinien być jeden <h1>. Zgadzam się, ale ja (jako użytkownik) chcę sformatować sobie kod używając #, ## oraz ### itp. Mnie to rybka, że pominiesz sobie h1, ważne, by wizualnie wyglądało jak powinno :)

no tak, ale przy okazji można by było fixnąć, bo moja pierwsza myśl: o, mam buga!

@no_solution_found: Ale czemu ta dyskusja się toczy w kontekście tego czy nowy edytor ma buga czy nie?

To jest sprawa na Coyote, bo to forum decyduje co jest nagłówkiem a co nie - i na ten moment Coyote decyduje że nagłówki wysokiego poziomu są ignorowane, a markdownowe nagłówki drugiegio ## poziomu są parsowane na nagłówki drugiego poziomu HTML <h2>.

Jeśli chcesz to zmienić, to w Coyote bardzo proszę, bo na razie edytor po prostu zachowuje się spójnie z forum.

1

@obscurity

gdzie można zgłaszać błędy? przykładowo "smart paste" nie działa zbyt dobrze - gdy mamy w schowku tekst zaczynający się od linka lub kilka linków to traktuje to wszystko jako link. Gdy wklejamy linki zastępując obecną treść (Ctrl+A, Ctrl+V) to nie jest tożsame z wyczyszczeniem tekstu i wklejeniem - smart paste nie działa. W ogóle ten "smart paste" wydaje mi się na tyle małym featurem że nie zasługuje na osobny checkbox z labelem, może jakaś mała ikonka do tego albo ustawienie w profilu?

To wszystko jest spowodowane tym, że zapewne używasz Chrome'a? Otóż na Chrome jest dziwna implementacja new URL(). Node i Firefox rzucają wyjątek dla linka ze spcjami, Chrome jednak buduje z nich poprawny URL. Ale masz rację, to jest błąd i trzeba by to poprawić. Już nad tym pracuję.

Edytor podczas "psucia" mi się raz zblokował przy wielokrotnym wklejaniu i nie pozwalał nic zmieniać, dookoła edytora się pojawiła wtedy czarna ramka, nie potrafię tego na razie odtworzyć
dobra - udało mi się odtworzyć, wystarczy kliknąć dwa razy na środku pola poza tekstem i próbować coś wpisać - edytor się otacza czarną ramką i nie działa aż nie straci focusa
oczekiwane zachowanie - zaznaczenie ostatniego słowa

No mi się nic takiego nie dzieje. Pokaż screena tej czarnej ramki, albo najgraj filmik jak to robisz? @Silv ? U Ciebie?

0 użytkowników online, w tym zalogowanych: 0, gości: 0