diff --git a/atest/acceptance/big_list_of_naught_strings.robot b/atest/acceptance/big_list_of_naught_strings.robot new file mode 100644 index 000000000..633c17f85 --- /dev/null +++ b/atest/acceptance/big_list_of_naught_strings.robot @@ -0,0 +1,20 @@ +*** Setting *** +Resource resource.robot +Library BigListOfNaughtyStrings.BigListOfNaughtyStrings WITH NAME blns + +*** Test Cases *** +Big List Of Naughty Strings + [Documentation] The Big List of Naughty Strings is originally copied from: + ... https://github.com/minimaxir/big-list-of-naughty-strings + Open Browser To Start Page + ${blns} = blns.Get Blns + :FOR ${string} IN @{blns} + \ Check Blns Error Check ${string} + + +*** Keywords *** +Check Blns Error Check + [Arguments] ${string} + Run Keyword And Expect Error + ... Page should have contained element* + ... Page Should Contain Element ${string} diff --git a/atest/resources/testlibs/BigListOfNaughtyStrings.py b/atest/resources/testlibs/BigListOfNaughtyStrings.py new file mode 100644 index 000000000..fddd14dd3 --- /dev/null +++ b/atest/resources/testlibs/BigListOfNaughtyStrings.py @@ -0,0 +1,13 @@ +import json +import os + + +class BigListOfNaughtyStrings(object): + """The Big List of Naughty Strings is originally copied from here: + https://github.com/minimaxir/big-list-of-naughty-strings + """ + + def get_blns(self): + cur_dir = os.path.dirname(os.path.abspath(__file__)) + blns = open(os.path.join(cur_dir, 'blns.json'), 'r') + return json.load(blns) diff --git a/atest/resources/testlibs/blns.json b/atest/resources/testlibs/blns.json new file mode 100644 index 000000000..1a665f458 --- /dev/null +++ b/atest/resources/testlibs/blns.json @@ -0,0 +1,61 @@ +[ + "\\\\", + "$1.00", + "-1E+02", + "-9223372036854775808/-1", + "--1", + "-", + "999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999", + "-1#IND", + "0xabad1dea", + "2.2250738585072011e-308", + ",./;'[]\\-=", + "<>?:\"{}|_+", + "!@#$%^&*()`~", + "\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f", + "€‚ƒ„†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ", + "\t\u000b\f …             ​

   ", + "­؀؁؂؃؄؅؜۝܏᠎​‌‍‎‏‪‫‬‭‮⁠⁡⁢⁣⁤⁦⁧⁨⁩𑂽𛲠𛲡𛲢𛲣𝅳𝅴𝅵𝅶𝅷𝅸𝅹𝅺󠀁󠀠󠀡󠀢󠀣󠀤󠀥󠀦󠀧󠀨󠀩󠀪󠀫󠀬󠀭󠀮󠀯󠀰󠀱󠀲󠀳󠀴󠀵󠀶󠀷󠀸󠀹󠀺󠀻󠀼󠀽󠀾󠀿󠁀󠁁󠁂󠁃󠁄󠁅󠁆󠁇󠁈󠁉󠁊󠁋󠁌󠁍󠁎󠁏󠁐󠁑󠁒󠁓󠁔󠁕󠁖󠁗󠁘󠁙󠁚󠁛󠁜󠁝󠁞󠁟󠁠󠁡󠁢󠁣󠁤󠁥󠁦󠁧󠁨󠁩󠁪󠁫󠁬󠁭󠁮󠁯󠁰󠁱󠁲󠁳󠁴󠁵󠁶󠁷󠁸󠁹󠁺󠁻󠁼󠁽󠁾󠁿", + "ЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя", + "٠١٢٣٤٥٦٧٨٩", + "⁰⁴⁵", + "ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็", + "\"'\"'\"''''\"", + "田中さんにあげて下さい", + "𠜎𠜱𠝹𠱓𠱸𠲖𠳏", + "Ⱥ", + "(。◕ ∀ ◕。)", + "🚾 🆒 🆓 🆕 🆖 🆗 🆙 🏧", + "0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ 🔟", + "🇺🇸🇷🇺🇸 🇦🇫🇦🇲🇸", + "בְּרֵאשִׁית, בָּרָא אֱלֹהִים, אֵת הַשָּׁמַיִם, וְאֵת הָאָרֶץ", + "﷽", + "مُنَاقَشَةُ سُبُلِ اِسْتِخْدَامِ اللُّغَةِ فِي النُّظُمِ الْقَائِمَةِ وَفِيم يَخُصَّ التَّطْبِيقَاتُ الْحاسُوبِيَّةُ، ", + "⁦test⁧", + "̦H̬̤̗̤͝e͜ ̜̥̝̻͍̟́w̕h̖̯͓o̝͙̖͎̱̮ ҉̺̙̞̟͈W̷̼̭a̺̪͍į͈͕̭͙̯̜t̶̼̮s̘͙͖̕ ̠̫̠B̻͍͙͉̳ͅe̵h̵̬͇̫͙i̹͓̳̳̮͎̫̕n͟d̴̪̜̖ ̰͉̩͇͙̲͞ͅT͖̼͓̪͢h͏͓̮̻e̬̝̟ͅ ̤̹̝W͙̞̝͔͇͝ͅa͏͓͔̹̼̣l̴͔̰̤̟͔ḽ̫.͕", + "Z̮̞̠͙͔ͅḀ̗̞͈̻̗Ḷ͙͎̯̹̞͓G̻O̭̗̮", + "˙ɐnbᴉlɐ ɐuƃɐɯ ǝɹolop ʇǝ ǝɹoqɐl ʇn ʇunpᴉpᴉɔuᴉ ɹodɯǝʇ poɯsnᴉǝ op pǝs 'ʇᴉlǝ ƃuᴉɔsᴉdᴉpɐ ɹnʇǝʇɔǝsuoɔ 'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥", + "00˙Ɩ$-", + "⒯⒣⒠ ⒬⒰⒤⒞⒦ ⒝⒭⒪⒲⒩ ⒡⒪⒳ ⒥⒰⒨⒫⒮ ⒪⒱⒠⒭ ⒯⒣⒠ ⒧⒜⒵⒴ ⒟⒪⒢", + "<script>alert(123)</script>", + "http://a/%%30%30", + "", + " ", + "%", + "_", + "$(touch /tmp/blns.fail)", + "%s%s%s%s%s", + "{0}", + "%*.*s", + "%n", + "File:///", + "../../../../../../../../../../../etc/hosts", + "() { 0; }; touch /tmp/blns.shellshock1.fail;", + "() { _; } >_[$($())] { touch /tmp/blns.shellshock2.fail; }", + "<<< %s(un='%s') = %u", + "+++ATH0", + "http://www.cum.qc.ca/", + "Roses are \u001b[0;31mred\u001b[0m, violets are \u001b[0;34mblue. Hope you enjoy terminal hue", + "Powerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ冗", + "జ్ఞ‌ా" +] \ No newline at end of file