مواد ڏانھن هلو

وڪيپيڊيا:TESTCASES

کليل ڄاڻ چيڪلي، وڪيپيڊيا مان

سانچا وڪيپيڊيا تي استعمال ٿيندڙ ميڊياوڪي سافٽويئر جي هڪ طاقتور خاصيت آهن، پر غلطيون آساني سان ٿي سگهن ٿيون، حتيٰ جو تجربيڪار ايڊيٽرن کان به. تنهن ڪري اعليٰ درجي جي سانچي ڪوڊ ۾ ڪيل تبديليون لازمي طور تي سينڊ باڪس ۾ جاچڻ گهرجن ۽ انهن سان گڏ ٽيسٽ ڪيس شامل ڪرڻ گهرجن ته جيئن خرابيون (bugs) پيدا نه ٿين.

عارضي سينڊ باڪس (جهڙوڪ {{X1}} کان {{X20}} تائين) يا {{Sandbox}} تجربن لاءِ يا انهن استعمال ڪندڙن لاءِ فائديمند آهن جيڪي سانچا تيار ڪرڻ ۾ نوان آهن.

مڪمل طور نوان سانچا تيار ڪرڻ لاءِ يوزر سينڊ باڪس استعمال ڪرڻ جي سفارش ڪئي وڃي ٿي.

صفحي جا نالا مقرر ڪرڻ جون روايتون

[سنواريو]

گهڻا محفوظ سانچا اڳ ئي sandbox ذيلي صفحو ۽ testcases ذيلي صفحو رکن ٿا. انهن جا صفحي جا نالا ڊفالٽ هوندا آهن. هر سانچي جي دستاويزي صفحي جي تري ۾ /sandbox ۽ /testcases ذيلي صفحن کي ٺاهڻ يا سنوارڻ لاءِ ڳنڍيون موجود هونديون آهن.

مثال طور، هيٺيان ذيلي صفحا سانچي {{FlagIOCmedalist}} سان لاڳاپيل آهن:

سانچو ڳنڍيو
اصل سانچوسانچو:FlagIOCmedalist
سانچي جو /sandboxسانچو:FlagIOCmedalist/sandbox
سانچي جو /testcasesسانچو:FlagIOCmedalist/testcases

sandbox ڪڏهن استعمال ڪجي

[سنواريو]

اهو انتهائي سفارش ڪيل آهي ته انهن سانچن لاءِ ٽيسٽ ڪيس جو نمونو استعمال ڪيو وڃي جيڪي ParserFunctions استعمال ڪن ٿا ۽ مختلف نتيجا پيدا ڪري سگهن ٿا، خاص طور تي اهي سانچا جيڪي گهڻا پيرا ميٽر قبول ڪن ٿا يا جن ۾ #switch پارسر فنڪشن جون گهڻيون شاخون هجن.

نيويگيشن باڪس جيڪي تقريباً هر صفحي تي ساڳيا نتيجا ڏين ٿا، انهن لاءِ sandbox ٺاهڻ جو فائدو شايد وقت ۽ محنت جي مقابلي ۾ گهٽ هجي، پر جيڪڏهن شڪ هجي ته بهتر آهي sandbox استعمال ڪيو وڃي. جيڪو به سانچو هاءِ رسڪ سانچو طور نشان لڳل هجي، ان ۾ تبديلي ڪرڻ کان اڳ هميشه جاچڻ گهرجي. ٻين صفحن لاءِ پڻ ڏسڻ گهرجي ته اهو سانچو ڪهڙن صفحن تي استعمال ٿيو آهي (Tools حصي ۾ موجود "What Links Here" لنڪ ذريعي).

/sandbox ۽ /testcases ذيلي صفحا ٺاهڻ

[سنواريو]

سانچو:Cdx-message

  1. فرض ڪريو توهان جو سانچو سانچو:X آهي. سانچو:X/sandbox نالي سان ذيلي صفحو ٺاهيو. جيڪڏهن اصل سانچو {{documentation}} استعمال ڪري ٿو ته اهو نيرو دستاويزي خاني جي تري مان ڪري سگهجي ٿو. يا ته ڳولا واري خاني ۾ لکي يا برائوزر جي URL بار ۾ سڌو لکي سگهجي ٿو. ياد رهي ته "/sandbox" سڀ ننڍن اکرن ۾ هوندو.
  2. اصل سانچي جو مڪمل مواد (جنهن ۾ <noinclude> ٽيگ ۽ جيڪڏهن موجود هجي ته {{documentation}} پڻ شامل آهي) نقل ڪري، ان کي /sandbox صفحي جي ايڊيٽ ونڊو ۾ پيسٽ ڪريو ۽ محفوظ ڪريو. ايڊيٽ سمري ڪجهه هن ريت هجي: create sandbox version of [[Template:X]].
  3. ٻيو ذيلي صفحو سانچو:X/testcases نالي سان ٺاهيو. اهو تڏهن ئي نيري دستاويزي خاني جي تري ۾ ڳنڍيل هوندو جڏهن اهو موجود هجي، تنهن ڪري ان کي ٺاهڻ لاءِ ڳولا خاني يا URL بار ۾ نالو لکو. "/testcases" پڻ سڀ ننڍن اکرن ۾ ۽ هڪ لفظ طور لکيو وڃي.
  4. صفحي جي مٿي {{testcases notice}} شامل ڪريو، ڪجهه ٽيسٽ ڪيس شامل ڪريو (هيٺ ڏسو)، ۽ صفحو محفوظ ڪريو.
  5. پنهنجو تجربي وارو ڪوڊ سانچو:X/sandbox ۾ شامل ڪريو. ڪوڊ جاچڻ لاءِ صفحو محفوظ ڪريو ۽ پوءِ /testcases صفحي تي وڃو. گهڻو ڪري نتيجا ڏسڻ لاءِ توهان کي /testcases صفحي کي purge ڪرڻو پوندو؛ ان لاءِ {{testcases notice}} ۾ ڳنڍيو موجود آهي. پوءِ اصل سانچي ۽ sandbox جي نتيجن جو مقابلو ڪريو. جيڪڏهن سڀ ڪجهه ٺيڪ هجي ته اصل سانچو اپڊيٽ ڪري سگهجي ٿو. بهرحال، اڻپوري ٽيسٽ ڪيسن يا اهڙي ڪوڊ کان خبردار رهو جيڪو مخصوص نيم اسپيس يا صفحن تي ئي آزمائي سگهجي ٿو.

موجود /sandbox ۽ /testcases ذيلي صفحن کي تازه ڪرڻ

[سنواريو]

جيڪڏهن ڪنهن اهڙي سانچي ۾ تبديلي ڪرڻي هجي جنهن وٽ اڳ ئي /sandbox ۽ /testcases موجود هجن، ته عمل ساڳيو هوندو:

  1. ممڪن آهي ته /sandbox ۾ تازو ڪوڊ موجود نه هجي، تنهن ڪري تبديلي ڪرڻ کان اڳ ان کي اصل سانچي سان هم وقت (synchronize) ڪيو. اصل سانچي جو مڪمل مواد /sandbox ۾ نقل ڪري محفوظ ڪريو. ايڊيٽ سمري طور Synchronize with the main template يا مختصر Sync لکي سگهجي ٿو.
  2. sandbox ۾ تبديليون ڪريو. جڏهن ڪوڊ تيار هجي، صفحو محفوظ ڪريو.
  3. جيڪڏهن نوان فيچر شامل ڪيا ويا هجن يا پيرا ميٽر تبديل ڪيا ويا هجن، ته /testcases صفحي ۾ نوان ٽيسٽ ڪيس شامل ڪريو. ياد رهي ته موجود ٽيسٽ ڪيس شايد مڪمل نه هجن. ضرورت پوڻ تي انهن کي ٻيهر ترتيب ڏئي سگهجي ٿو، پر ٻين ايڊيٽرن جي سهولت به ذهن ۾ رکو.
  4. نتيجا تازه ڪرڻ لاءِ /testcases صفحي کي purge ڪريو.
  5. ٽيسٽ ڪيسن جا نتيجا چيڪ ڪريو. جيڪڏهن سڀ ٺيڪ هجي ته sandbox مان ڪوڊ اصل سانچي ۾ نقل ڪريو.

ٽيسٽ ڪيس شامل ڪرڻ

[سنواريو]

/testcases صفحي تي توهان جي سانچي جي هر مختلف رويي (behaviour) لاءِ هڪ ٽيسٽ ڪيس هجڻ گهرجي. مثال طور، جيڪڏهن توهان جو سانچو هڪ بينر پيغام ڏيکاري ٿو، ۽ جيڪڏهن پيرا ميٽر |italic=yes انهي پيغام کي اٽالڪ ڪري ٿو، ته هڪ ٽيسٽ ڪيس عام پيغام لاءِ ۽ هڪ اٽالڪ ٿيل پيغام لاءِ شامل ڪيو وڃي. جيڪڏهن انهي سانچي ۾ ٻيو پيرا ميٽر |date= هجي، جنهن ۾ استعمال ڪندڙ تاريخ داخل ڪري، ته ٽيون ٽيسٽ ڪيس به شامل ٿيڻ گهرجي.

توهان کي ڪوشش ڪرڻ گهرجي ته استعمال ڪندڙ سانچي کي ڪهڙن طريقن سان استعمال ڪري سگهن ٿا، انهن سڀني اهم صورتن لاءِ ٽيسٽ ڪيس تيار ڪريو. بهرحال، هر هڪ ممڪن پيرا ميٽر جي گڏيل صورت لاءِ ٽيسٽ ڪيس ٺاهڻ اڪثر عملي طور ممڪن ناهي، تنهن ڪري اهم ۽ لاڳاپيل صورتن جو دانشمندي سان انتخاب ڪريو.

ٽيسٽ ڪيسن جا ڪيترائي مختلف انداز موجود آهن. توهان ڪهڙو انداز چونڊيو ٿا، اهو ان سانچي جي نوعيت تي دارومدار رکي ٿو جنهن تي توهان ڪم ڪري رهيا آهيو. مثال طور، جيڪڏهن سانچي جو نتيجو مختصر هجي ۽ هڪ لائين ۾ اچي وڃي، ته انهن کي wikitable ۾ رکڻ فائديمند هوندو. ڊگها ۽ پتلا سانچا جهڙوڪ infobox لاءِ اڪثر بهتر آهي ته انهن کي {{testcase table}} استعمال ڪندي گڏ گڏ ڏيکاريو وڃي.

هٿ سان فارميٽنگ

[سنواريو]

هٿ سان فارميٽنگ ڪرڻ سان گهڻي لچڪ ملي ٿي، پر پڪ ڪرڻي پوندي ته سڀئي پيرا ميٽر صحيح نموني داخل ڪيا ويا هجن. ڪنهن ٽيسٽ ڪيس ۾ غلطي ڳولڻ اڪثر سانچي جي اصل غلطي کان وڌيڪ ڏکيو هوندو آهي.

بنيادي انداز

[سنواريو]

هي انداز بينر سانچن ۽ ڊگهي متن جهڙوڪ حوالن لاءِ مناسب آهي. ياد رهي ته اهڙي قسم جي ٽيسٽ پاڻمرادو به ڪري سگهجي ٿي Template:Test case ۽ ٻين ساڳين سانچن سان.

== وضاحتي عنوان ==
 
* <code><nowiki>{{template|param1=value1|param2=value2}}</nowiki></code>
 
'''Main'''
 
{{template|param1=value1|param2=value2}}
 
'''Sandbox'''
 
{{template/sandbox|param1=value1|param2=value2}}

template, param1, value1 وغيره جون سڀئي قيمتون هڪجهڙيون هجڻ گهرجن.

جيڪڏهن سانچو "float" CSS خصوصيت استعمال ڪري ٿو، ته نتيجن کي گڏ ٿيڻ کان روڪڻ لاءِ {{clear}} استعمال ڪرڻ ضروري ٿيندو:

== وضاحتي عنوان ==
 
* <code><nowiki>{{template|param1=value1|param2=value2}}</nowiki></code>
 
'''Main'''
 
{{template|param1=value1|param2=value2}}
 
{{clear}}
 
'''Sandbox'''
 
{{template/sandbox|param1=value1|param2=value2}}
 
{{clear}}

Wikitable

[سنواريو]

مختصر نتيجن وارن سانچن لاءِ جيڪي صحيح ترتيب سان ڏيکارڻا هجن، wikitable استعمال ڪرڻ ڪارائتو هوندو.

ٽيبل هن ريت شروع ڪيو وڃي:

{| class="wikitable"
|-
! Code
! Main
! Sandbox

<!-- هر نئون ٽيسٽ ڪيس هن ريت شامل ڪيو وڃي -->

|-
| <code><nowiki>{{template|param1=value1|param2=value2}}</nowiki></code>
| {{template|param1=value1|param2=value2}}
| {{template/sandbox|param1=value1|param2=value2}}

<!-- ٽيبل هن ريت ختم ڪيو وڃي -->

|}

پاڻمرادو فارميٽنگ

[سنواريو]

ڪيترائي اهڙا سانچا موجود آهن جيڪي ٽيسٽ ڪيسن کي پاڻمرادو فارميٽ ڪرڻ ۾ مدد ڪن ٿا. انهن سانچن سان پيرا ميٽر ۽ قيمتون رڳو هڪ ڀيرو داخل ڪيون وينديون آهن، پر اصل سانچي ۽ sandbox ٻنهي لاءِ جاچ ٿيندي آهي. اهڙي طريقي سان ٽيسٽ ڪيسن ۾ پيرا ميٽرن جي غلطي جو مسئلو گهٽجي ويندو آهي ۽ صفحن جي سار سنڀال آسان ٿيندي آهي.

انهن ۾ شامل آهن:

ياد رهي ته اهي سڀئي سانچا collapsible ٽيسٽ ڪيس ٺاهي سگهن ٿا، پر سانچو:Collapsible test case ۾ اها خصوصيت اڳواٽ فعال هوندي آهي. تفصيلي ڄاڻ لاءِ هر سانچي جي پنهنجي دستاويزي صفحي ڏسو.

اهڙا ٽيسٽ جيڪي /testcases صفحن تي نٿا ڪري سگهجن

[سنواريو]

ڪجهه سانچي جون خاصيتون اهڙيون هونديون آهن جيڪي /testcases صفحن تي جاچي نٿيون سگهجن. مثال طور، ڪو سانچو صرف مکيه نيم اسپيس (main namespace) ۾ هجڻ وقت خاص متن ڏيکاري سگهي ٿو، يا اهو بنيادي صفحي (base page) تي هڪ قسم جو نتيجو ڏئي ۽ ذيلي صفحي (subpage) تي ٻيو قسم جو نتيجو ڏئي.

اهڙين صورتن لاءِ توهان "Preview page with this template" واري خصوصيت استعمال ڪري سگهو ٿا، جيڪا سانچي جي ايڊيٽ ونڊو جي هيٺان نظر اچي ٿي. هن خصوصيت کي وڌيڪ طاقتور بڻائڻ لاءِ User:Jackmcbarn/advancedtemplatesandbox.js انسٽال ڪري سگهجي ٿو، جيڪو ان کي ڪنهن به نيم اسپيس ۾ استعمال لائق بڻائي ٿو، ۽ توهان کي سانچي جو عنوان ۽ اهو صفحو به مقرر ڪرڻ جي اجازت ڏئي ٿو جنهن تي توهان preview ڏسڻ چاهيو ٿا. ان جو مطلب اهو آهي ته توهان sandbox سانچو ايڊيٽ ڪري سگهو ٿا، پر preview اهڙي طرح ڏسي سگهو ٿا ڄڻ ته توهان اصل سانچو ايڊيٽ ڪري رهيا آهيو.

جيڪڏهن توهان کي اهڙا ٽيسٽ ذهن ۾ اچن جيڪي /testcases صفحي تي نٿا ڪري سگهجن، ته /testcases صفحي جي مٿي هڪ نوٽ ڇڏڻ فائديمند هوندو جنهن ۾ ٻڌايو وڃي ته ٻيا ڪهڙا پهلو اڃا جاچڻا آهن، جيئن مستقبل ۾ انهي سانچي تي ڪم ڪندڙ ايڊيٽر به ان بابت آگاهه رهن.

مثال

[سنواريو]
بنيادي انداز
سانچو:Quote، سانچو:Quote/sandbox ۽ سانچو:Quote/testcases
وڪيٽيبل
سانچو:Diff، سانچو:Diff/sandbox ۽ سانچو:Diff/testcases
ٽيسٽ ڪيس ٽيبل
سانچو:Infobox settlement، سانچو:Infobox settlement/sandbox ۽ [[سانچو:Infobox settlement/testcases]

پڻ ڏسو

[سنواريو]

<!-

-->


ريتخانو ۽ ٽيسٽ ڪيس