Przejdź do zawartości

Moduł:Sprawdź/opis

Z Wikibooks, biblioteki wolnych podręczników.

Ten moduł zapewnia platformę programistyczną dla tworzenia szablonów budujących przypadki testowe szablonów Wikibooks'a. Przypadki testowe mogą być tworzone ręcznie, aczkolwiek te tworzone za pomocą szablonów opartych na module Lua, takim jak niniejszy moduł, mają taką zaletę, że argumenty szablonu muszą być wprowadzone jedynie jednokrotnie, co zmniejsza nakład pracy konieczny do tworzenia testów, a także zmniejsza ryzyko występowania błędów w danych wejściowych.

Porównaj

[edytuj]

Ta funkcja jest obecnie wykorzystywana przez szablon {{Przypadek testowy}}. Przykłady w jego dokumentacji na jego stronie opisu {{Przypadek testowy/opis}}.

Parametry

[edytuj]

Funkcja do wykrywania wywołań szablonów z nierozpoznanymi, pustymi lub przestarzałymi parametrami. Należy ją wywołać ze wszystkimi możliwymi parametrami, jakie przyjmuje szablon podlegający sprawdzaniu.

Konfiguracja
  • klasa – ciąg znaków bez spacji umieszczany jako wartość atrybutu class w tagu <span> z wygenerowanym raportem
  • odstęp – ciąg znaków odstępu oddzielający pozostałą treść konfiguracji, jeśli zawiera znak nowej linii to przed wygenerowanym raportem jest również umieszczany znak nowej linii
  • suffix – treść dołączana po wygenerowanym raporcie, zwykle deklaracja technicznej kategorii
Sprawdzanie parametrów
  • pusty – parametr jest opcjonalny, jest to najczęściej stosowany sposób użycia, obecnie domyślnie zezwala na treść bez obrazków i linków zewnętrznych
  • txt - dowolna wartość niepusta poniższych typów jednocześnie
  • all – oczekiwana jest dowolna niepusta wartość, która nie jest adresem linku zewnętrznego i nie zawiera linku zewnętrznego tekstowego (nie w nawiasach kwadratowych)
  • text – oczekiwana jest dowolna niepusta wartość pola, która nie generuje obrazka ani linku zewnętrznego
  • text? – oczekiwana jest wartość pola, która nie generuje obrazka ani linku zewnętrznego
  • text-link – oczekiwana jest dowolna niepusta wartość pola, która nie generuje obrazka
  • text-link? – oczekiwana jest wartość pola, która nie generuje obrazka
  • text-img – oczekiwana jest dowolna niepusta wartość pola, która nie generuje linku zewnętrznego
  • text-img? – oczekiwana jest wartość pola, która nie generuje linku zewnętrznego
  • num – sprawdzanie, czy przekazana wartość jest liczbą
  • num? – sprawdzanie, czy przekazana wartość jest pusta lub jest liczbą
  • uri – sprawdzanie, czy przekazana wartość jest linkiem obsługiwanym przez MediaWiki
  • uri? – sprawdzanie, czy przekazana wartość jest pusta lub jest linkiem
  • grafika – sprawdzanie, czy przekazana wartość jest nazwą pliku graficznego
  • grafika? – sprawdzanie, czy przekazana wartość jest pusta lub jest nazwą pliku graficznego
  • old – informuje, że przekazywany parametr jest przestarzały
  • ^…$ – tekst rozpoczynający się znakiem ^ i zakończony na $ w całości traktowany jest jako wyrażenie regularne Lua wskazującego prawidłowy parametr

Modyfikatory konieczności i pustości, razem podane lub nie

[edytuj]

Dla powyższych parametrów, po nich może być podany parametr !, który mówi, że ten parametr musi być podany, bo w przeciwnym wypadku ma być zgłoszony błąd. A jeżeli przed nim jest podany znak ?, ale przed !, to parametr może być taki, jak wskazuje cechowanie parametru w szablonie, lub może przyjmować wartość pustą. Np. jeżeli parametr jest sprawdzany wyrażenie regularnym, a po nim podany zapytajnik, to dalej on równie dobrze może być pusty, ale podany.

Koniecznosci Pustości pustości i konieczności
all! all? all?!
^…$! ^…$? ^…$?!
^…$&^…$! ^…$&^…$? ^…$&^…$?!

Parametry określone wyrażeniem regularnym

[edytuj]

Wyrażenia regularne określamy przez ^…$ można je łączyć przez łącznik pól &, wtedy tak rozdzielone wyrażenia muszą spełniać oba wyrażenia regularne, lub przez {{!}}, wtedy pole spełnia jedno lub drugie wyrażenie. Przy czym pole "lub" jest ważniejsze niż pole "i".

Jeżeli chcemy określić, by pole nie spełniało tego wyrażenia regularnego, to przed nim podajemy modyfikator !.

Przykłady oddzielne z modyfkatorami: "i", "lub", lub "not", z wyrażeniami regularnymi

[edytuj]
"i" "lub" "not"
^%a.*$&^%a%#.*$
^%a.*${{!}}^%a%#.*$
!^$a+$

Przykłady z modyfikatorem "not" parametru z wyrażeniami regularnymi połączone łącznikami: "i" albo "lub"

[edytuj]
"i" "lub"
^%a.*$&!^%a%#.*$
^%a.*${{!}}!^%a%#.*$

Parametry, które muszą być podane, ale z wykluczeniem innych parametrów

[edytuj]

Po modyfikatorach cechowania, podajemy parametry oddzielone średnikiem, a na początku tej listy tez musi być średnik.

Przykład:
| parametr = old;parametr1;parametr2

Powyższe wyrazenie jedynie mówi, że parametr, który jest określony przed znakiem {{=}}, nie może być podany z parametrami z: parametr1, parametr2.

Parametry konieczne

[edytuj]

Jeżeli po parametrze zostanie podany wykrzyknik, to on mowi, że ten argument musi być podany:

Przykład:
| parametr = old;parametr1;parametr2!

Powyższe wywołanie określa, że w szablonie muszą być podane jednocześnie parametry parametr i parametr2.

Parametry konieczne puste lub niepuste, albo możliwe puste

[edytuj]

Jeżeli po parametrze zostanie podany element ?!, to on informuje bowiem, że parametr konieczny musi być niepusty, a ?!!, że ten owy parametr musi być pusty.

Parametry podawane wraz z innymi parametrami
konieczne niepuste konieczne puste możliwe puste
| parametr = old;parametr1;parametr2?! | parametr = old;parametr1;parametr2?!! | parametr = old;parametr1;parametr2?

Parametry nieobsługiwane

[edytuj]

Wskaźnik parametru nieobsługiwanego podajemy przed parametrem w postaci ! (wykrzyknika), mówi on, że zmienna podana przed zapytajnikami i wykrzyknikami po argumencie jest nieobsługiwana w takim przypadku. W tabeli są podane przypadki właśnie tego:

Parametry podawane wraz z innymi parametrami
konieczne niepuste konieczne puste możliwe puste
| parametr = old;parametr1;!parametr2?! | parametr = old;parametr1;!parametr2?!! | parametr = old;parametr1;!parametr2?

Parametry modyfikujące w parametrze | bez argumentów szablonu =

[edytuj]

Parametry szablonu, wsród których może być podany element: | bez argumentów szablonu = , którego części muszą być oddzzielone srednikami, wskazuje on na to, że tych parametrów szablonnie nie zna.

Oto przykład:

| bez argumentów szablonu = wyrównanie;odstęp;pozycja numeracji

Powyższe wywołane wywołujemy w ramce funkcji {{#invoke:Ramka|Szablon}}, jeżeli definiujemy szablony o podobnych funkcjach z jednym miejscem, w którym jest umieszczony komponent: {{#invoke:Sprawdź|Parametry}}.

Dodatkowe reguły szablonu | zmienna sprawdzania parametrów =

[edytuj]

Przykład jego wywołania w szablonie rodzica:

| zmienna sprawdzania parametrów = 3=;operacja;;operacja=;3

Powyższe uruchomienie szablonu z tym parametrem wskazuje, że zostaną dodane dodatkowe reguły do funkcji: {{#invoke:Sprawdź|Parametry}}.


Powyższe wywołane wywołujemy w ramce funkcji {{#invoke:Ramka|Szablon}}, jeżeli definiujemy szablony o podobnych funkcjach z jednym miejscem, w którym jest umieszczony komponent: {{#invoke:Sprawdź|Parametry}}.

Przykład wywołania w szablonie funkcji {{#invoke:Sprawdź|Parametry}}

[edytuj]
Przykład
{{#invoke:Sprawdź|Parametry
 | = problemy-w-szablonie [[Kategoria:Błędy wywołań w szablonie]]
 | parametr_w_szablonie_1 = 
 | parametr_w_szablonie_2 = num?
}}

odn

[edytuj]

Funkcja sprawdzająca prawidłowość parametrów w {{odn}}.