From d8689cb946dfbd0b5f65d5834d7ac9b87a7dab43 Mon Sep 17 00:00:00 2001 From: Vansh Date: Thu, 20 Jun 2024 01:13:05 +0530 Subject: [PATCH 1/2] added testcase generator extension --- .../icons/icon128.png | Bin 0 -> 24411 bytes .../icons/icon16.png | Bin 0 -> 927 bytes .../icons/icon32.png | Bin 0 -> 2569 bytes .../icons/icon48.png | Bin 0 -> 5020 bytes Test Case Generator Extension/manifest.json | 25 ++ Test Case Generator Extension/popup.css | 110 +++++++ Test Case Generator Extension/popup.html | 58 ++++ Test Case Generator Extension/popup.js | 286 ++++++++++++++++++ 8 files changed, 479 insertions(+) create mode 100644 Test Case Generator Extension/icons/icon128.png create mode 100644 Test Case Generator Extension/icons/icon16.png create mode 100644 Test Case Generator Extension/icons/icon32.png create mode 100644 Test Case Generator Extension/icons/icon48.png create mode 100644 Test Case Generator Extension/manifest.json create mode 100644 Test Case Generator Extension/popup.css create mode 100644 Test Case Generator Extension/popup.html create mode 100644 Test Case Generator Extension/popup.js diff --git a/Test Case Generator Extension/icons/icon128.png b/Test Case Generator Extension/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..9fedfb945cc2ba72ec01b6905feb1d7e2d9130c2 GIT binary patch literal 24411 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 Bo0|Xt literal 0 HcmV?d00001 diff --git a/Test Case Generator Extension/icons/icon32.png b/Test Case Generator Extension/icons/icon32.png new file mode 100644 index 0000000000000000000000000000000000000000..139932ceedb6c9023b8266a6e938ad4184d497e7 GIT binary patch literal 2569 zcmV+k3ikDhP)N5)JUgwNe0m2I}Zfi}QG?{74>KR%v(%tNd5fidytL)A&>$1MnP73Rt z+r8@*5^44n2r)@bS++GPL?rlsh=|_yhu<*9teH9Vjb^rR*^;d2P8&140}YA*GMm=E z3aHZFK3}(W#WR~t5O0hst4aVGjl3*Nz-iZM`U!f|DP8nsXPv#g=*o4Lcoa-++eIG* zG*zK81R=)4Y69gZI$4r|B4p1TT&%1jmN3~GH^u-e5dviVpYs8LmR_P5h|-08K(Ik^*FtQ zLRPdQ#jLAB>oEyrS&Ki{{V!;%9CQl`GOBO$wk?Kq-}Q-6A5O$P`gQU~f|M<(oI} z*|X>FyYJx$iAh?mR!>)#h}30;^HyKmnVRJ2G)0c}(9po$ci(yJ#L;U$^g$ouj;&8$ zdd2%dlme63yxlGvh7biv0(ck7$A0_3%C}$YVz}+Q--@ojBXU!GxIr3w?HjkOHW-+x+>7Ojca@Ziwyox4JS5WFD!P$jvI0Kzd( zl182;M%Q(zl=8v3vMP$AEIWGDs!Nd=#EV zqm|Z(c<7LCmnZs9Ti7nAs;VhA5EJvjKU@#E*8zgB5r zaku~EE)Ma-*L=v@Lc%e@0`3ka_iP-SiDULk+*EwvU~UL&))QTX7PcwNr9a5+? zUU0#A&bgh}dsP`&c9i`Qi17Pu1tu4~5ca@mBRul7< z&Z5MHv<_(2F{#m+$r|~#=eAeAy6W9m-g)m`FYJ7A!Qv6jEg5j3Vh;Nb?pwEEU63$2 zH8E%2V1N)MRK8M%1h}`aNg%+23ohEoAQ41F0EB=EL?{Fdo4@guD%Q^X#M)av`^BBl zJ}m$d00BOF|%({7g-?=4!pL1a$>^QZlX1Q z+4{AeYD!r}A`yT|00p#&5>^5_z@0z1eceTC?)~A9&s{M3i4R=+=&v4JI<(-XPu+0# zk|kHI-(Uo9+O#P;|Ct*;ee34U^M{83!~8Sm60y>frIy)Sqcj0|6ps=J7$G1=qyQK| zKKili|MbT{Z{PM0i)Pa&ulxPOkL({iux{=8gKr#IG`jGLE8e+%`*uVe8ykCW$3K=V zTgnP5@T1F@n8LD=nq7bxiLrmpy8wWMFbV(=FaRS7fe0{h1Qrs|qGIIeLj_Zvy0dD{ zDpnGZy)cj{rDBW zMhVVI6s2uMsCF{G$EWtHa*4iNzl9yrjNm>BHuXJ2a&5|=8i z5fpPmkZPs!GZr!l5Hev@5=erAfLw)Im_zVBdaX^@jGpe9eT|+jg~~@3QlwNA*2WUb zD?49Wym-WiGS955OBA1I1u-VZsK)#=0R#a_01yR%AtJIS;(N|yFwg2E)mZXiY fLMeRp)jj_P;t)aFYNffF00000NkvXXu0mjfhgHUa literal 0 HcmV?d00001 diff --git a/Test Case Generator Extension/icons/icon48.png b/Test Case Generator Extension/icons/icon48.png new file mode 100644 index 0000000000000000000000000000000000000000..5f86bf7938d3796e75e1b4833d6e7818006a856a GIT binary patch literal 5020 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 mw&kswf-_b^eC*%;?Y{uWolm`gF($(R0000 + + + Test Case Generator + + + + +

Test Case Generator

+
+
+ +
+ + + + + +
+
+ +
+ +
+ + + +
+
+ +
+ + +
+ + + + + + + +
+ +
+ Output: +
+ +
+ + + + \ No newline at end of file diff --git a/Test Case Generator Extension/popup.js b/Test Case Generator Extension/popup.js new file mode 100644 index 00000000..4eec2fed --- /dev/null +++ b/Test Case Generator Extension/popup.js @@ -0,0 +1,286 @@ +document.addEventListener("DOMContentLoaded", function () { + const form = document.getElementById("testCaseForm"); + const generateButton = document.getElementById("generateButton"); + const clearButton = document.getElementById("clearButton"); + const copyButton = document.getElementById("copyButton"); + const outputDiv = document.getElementById("output"); + const lengthInput = document.getElementById("length"); + const datatypeRadios = document.getElementsByName("datatype"); + const testtypeRadios = document.getElementsByName("testtype"); + const sentenceRadios = document.getElementById("sentence"); + const arraySizeInput = document.getElementById("arraySize"); + const arraySizeContainer = document.getElementById("arraySizeContainer"); + const floatDecimalContainer = document.getElementById( + "floatDecimalContainer" + ); + const floatDecimalSize = document.getElementById("floatDecimalSize"); + + const sentences = [ + "A quick brown fox jumps over the lazy dog", + "The quick brown fox jumps over the lazy dog", + "Lorem ipsum dolor sit amet", + "The rain in Spain stays mainly in the plain", + "To be or not to be, that is the question", + "It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness", + "She sells seashells by the seashore", + "How much wood would a woodchuck chuck if a woodchuck could chuck wood", + "Peter Piper picked a peck of pickled peppers", + "Jack and Jill went up the hill to fetch a pail of water", + "Humpty Dumpty sat on a wall, Humpty Dumpty had a great fall", + "The quick brown fox jumps over the lazy dog again and again to see if the lazy dog will react", + "All work and no play makes Jack a dull boy", + "The five boxing wizards jump quickly", + "Pack my box with five dozen liquor jugs", + "The quick brown fox jumps over the lazy dog while the dog watches the fox", + "A wizard's job is to vex chumps quickly in fog", + "Crazy Fredrick bought many very exquisite opal jewels", + "We promptly judged antique ivory buckles for the next prize", + "How razorback-jumping frogs can level six piqued gymnasts", + "A mad boxer shot a quick, gloved jab to the jaw of his dizzy opponent", + "Jinxed wizards pluck ivy from the big quilt", + "The July sun set quickly and created a shadowy twilight", + "Just keep examining every low bid quoted for zinc etchings", + "My girl wove six dozen plaid jackets before she quit", + "The wizard quickly jinxed the gnomes before they vaporized", + "Whenever the black fox jumped the squirrel gazed suspiciously", + "The job requires extra pluck and zeal from every young wage earner", + "Mr. Jock, TV quiz PhD, bags few lynx", + "Grumpy wizards make a toxic brew for the jovial queen", + "Lorem ipsum dolor sit amet consectetur adipisicing elit. Ea ratione nam temporibus rem? Adipisci id blanditiis quia! Molestias nisi necessitatibus in omnis sapiente delectus eveniet distinctio nulla, vero, ea error! Quae soluta voluptatum amet nesciunt? Quod voluptate molestias earum et nesciunt laborum perferendis vel temporibus neque? Nam facere et dignissimos voluptatum odit quae accusamus recusandae fuga vitae possimus, ratione nobis? Odio atque tempora, voluptatem placeat distinctio animi in, suscipit sit soluta nisi asperiores earum rerum mollitia. Aspernatur doloribus recusandae corrupti vel? Et veniam accusamus enim eius corrupti commodi vitae dignissimos.", + "Lorem ipsum dolor sit amet consectetur adipisicing elit. Impedit neque, tenetur repudiandae, eum nam ea officia quaerat molestiae animi perspiciatis accusantium cum earum, eos numquam vel pariatur consectetur? Ad, maxime? Hic dolorum, illum quam aliquid eaque veniam voluptatum itaque magni velit labore eius temporibus nostrum, necessitatibus, assumenda nisi perferendis dolorem ea odio expedita tenetur. Ratione culpa earum error eaque quia! Fugiat amet eos soluta, beatae quisquam esse quas quam ducimus necessitatibus? Vel facilis voluptate eos quae accusantium. Facere, eos recusandae illum, est commodi quos, harum reiciendis nisi mollitia quia beatae? Sint nulla perspiciatis recusandae voluptatem. Debitis ea, dicta libero, quod fugit ab hic ex itaque, velit laudantium minima et ipsa repellat fugiat dolorum nemo? Facere eum provident dolor quo pariatur? Delectus, repellat. Tenetur voluptatibus explicabo harum odit consequatur id quasi optio nobis, ducimus illum soluta maxime accusamus neque, aut voluptates impedit quod assumenda, sequi excepturi quo consequuntur totam dicta consectetur. Iure excepturi odio suscipit reiciendis odit itaque magni. Expedita modi veritatis provident molestiae ratione nesciunt fugiat, omnis, dolorem, obcaecati quasi dolor magnam! Necessitatibus veniam ex assumenda, aliquid placeat odit accusantium. Maiores deserunt eum, dolorem est totam illum quidem. Modi eligendi eum et, nostrum in tempora sequi ab nobis quo sunt debitis eaque laborum provident asperiores error repellat tenetur, laudantium obcaecati. Dolore voluptas voluptates, corporis cum vel doloribus esse eos harum unde a, cupiditate ab laboriosam voluptatum numquam tempora quas assumenda enim odit placeat, exercitationem nihil commodi! Dolores animi dignissimos facilis! Ipsum laborum vel repellat consequuntur modi. Nam eaque laboriosam architecto earum ipsam, officiis iste nobis aliquid quod libero sint vel, enim delectus laudantium numquam perferendis odio odit, aperiam culpa? Ratione. Expedita ad eos eius dolore natus placeat ea, perferendis corrupti cumque at. Iusto natus repellendus eius animi sint voluptates iure quidem esse laudantium fugiat dolor, ratione suscipit, exercitationem soluta laboriosam!", + "In the vast expanse of digital landscapes, where algorithms hum and code flows like an endless river of logic, programmers are the architects of a new age. They wield languages like tools, crafting solutions that transform mere ideas into tangible innovations. From the depths of databases to the heights of cloud computing, their work shapes the very fabric of our interconnected world. At the heart of this digital revolution lies the art and science of software development. It is a realm where creativity meets precision, where a single misplaced semicolon can bring down kingdoms, yet a well-crafted function can spark revolutions. In this realm, languages such as Python, JavaScript, and Java are not just means of communication but conduits of ideas, enabling coders to breathe life into lines of code. Imagine a programmer, seated at a desk adorned with screens displaying lines upon lines of code. Each line tells a story of problem-solving, of debugging, and of the relentless pursuit of efficiency. The modern coder is not merely a technician but a storyteller, weaving narratives of logic and structure that define the applications we use daily. From the early days of punch cards and mainframes to today's era of artificial intelligence and blockchain, the evolution of programming languages mirrors the evolution of human thought. Each language, whether it be the simplicity of HTML or the elegance of Swift, offers a unique perspective on how to express computational ideas. It is through these languages that coders converse with machines, instructing them to perform tasks that were once considered impossible. In the realm of open-source software, collaboration reigns supreme. Communities of developers converge online, sharing snippets of code, debating best practices, and collectively pushing the boundaries of what is achievable. GitHub repositories resemble libraries of knowledge, where anyone with an internet connection can access the collective wisdom of thousands. But programming is not just about syntax and algorithms; it's about mindset and methodology. Agile methodologies have revolutionized how teams collaborate, emphasizing iterative development, continuous improvement, and adaptive responses to change. DevOps practices have blurred the lines between development and operations, fostering environments where code deployment is as fluid as code creation. In the age of cybersecurity threats and data breaches, the role of programmers extends beyond writing elegant code. It encompasses fortifying systems against vulnerabilities, encrypting sensitive information, and ensuring the integrity of digital transactions. Ethical considerations loom large, urging developers to prioritize privacy, inclusivity, and the responsible use of technology. As artificial intelligence and machine learning reshape industries, programmers find themselves at the forefront of innovation. They harness the power of data to train neural networks, predict market trends, diagnose medical conditions, and even drive autonomous vehicles. The marriage of code and AI promises a future where machines not only execute tasks but also augment human capabilities in ways previously unimaginable. In conclusion, the world of programming is a vibrant tapestry of innovation and collaboration. It is a realm where curiosity fuels exploration, where logic meets creativity, and where every line of code represents a step toward a brighter future. For those who dare to venture into this digital frontier, the possibilities are limitless, and the journey is as rewarding as the destinations it unveils.", + ]; + + function updateTestTypeRadios() { + const datatype = getCheckedValue(datatypeRadios); + for (let radio of testtypeRadios) { + radio.disabled = !datatype; + } + } + + form.addEventListener("change", function () { + const datatype = getCheckedValue(datatypeRadios); + const testtype = getCheckedValue(testtypeRadios); + + updateTestTypeRadios(); + + // Disable sentence checkbox for integer, float, and long + if (datatype === "int" || datatype === "float" || datatype === "long") { + sentenceRadios.disabled = true; + } else { + sentenceRadios.disabled = false; + } + + // For char, set length to 1 if simple single test case is selected + if (datatype === "char") { + if (testtype === "simple" || testtype === "array") { + lengthInput.value = 1; + lengthInput.disabled = true; + } else { + lengthInput.disabled = false; + } + } else { + lengthInput.disabled = false; + } + + // Disable sentence checkbox for char + if (datatype === "char") { + sentenceRadios.disabled = true; + } + + // Set length constraints based on datatype + if (datatype === "int") { + lengthInput.max = 10; + if (lengthInput.value > 10) + lengthInput.value = Math.min(lengthInput.value, 10); + } + if (datatype === "float") { + lengthInput.min = 2; + lengthInput.value = Math.max(lengthInput.value, 2); + floatDecimalContainer.style.display = "block"; + const floatSize = parseInt(floatDecimalSize.value, 10); + if (floatSize > lengthInput.value - 1) { + floatSize.min = lengthInput.value - 1; + floatDecimalSize.value = Math.min( + floatSize, + lengthInput.value - 1 + ); + } + } else if (datatype === "long") { + lengthInput.min = 7; + lengthInput.value = Math.max(lengthInput.value, 7); + } else { + lengthInput.min = 1; + floatDecimalContainer.style.display = "none"; + } + + // Show or hide array size input based on test case type + if (testtype === "array") { + arraySizeContainer.style.display = "block"; + } else { + arraySizeContainer.style.display = "none"; + } + + if (datatype === "string" && testtype === "sentence") { + lengthInput.setAttribute("max", "534"); + } + }); + + copyButton.addEventListener("click", function () { + copyToClipboard(outputDiv.innerText); + }); + + clearButton.addEventListener("click", function () { + clearForm(); + }); + + function clearForm() { + form.reset(); + outputDiv.innerHTML = ""; + copyButton.style.display = "none"; + arraySizeContainer.style.display = "none"; + lengthInput.disabled = false; + sentenceRadios.disabled = false; + } + + generateButton.addEventListener("click", function () { + const datatype = getCheckedValue(datatypeRadios); + const testtype = getCheckedValue(testtypeRadios); + const length = parseInt(lengthInput.value, 10); + const arraySize = parseInt(arraySizeInput.value, 10); + const floatSize = parseInt(floatDecimalSize.value, 10); + + if (validateInput(datatype, testtype, length, floatSize)) { + let testCase = generateTestCase( + datatype, + testtype, + length, + arraySize, + floatSize + ); + outputDiv.innerHTML = `

${JSON.stringify(testCase, null, 2)}

`; + copyButton.style.display = "inline-block"; + } else { + outputDiv.innerHTML = `

Please enter a valid length for the selected datatype and test case type.

`; + } + }); + + function getCheckedValue(radioGroup) { + for (let i = 0; i < radioGroup.length; i++) { + if (radioGroup[i].checked) { + return radioGroup[i].value; + } + } + return null; + } + + function generateTestCase( + datatype, + testtype, + length, + arraySize, + floatSize + ) { + let testCase; + if (testtype === "simple") { + testCase = generateSingleTestCase(datatype, length, floatSize); + } else if (testtype === "array") { + testCase = []; + for (let i = 0; i < arraySize; i++) { + testCase.push( + generateSingleTestCase(datatype, length, floatSize) + ); + } + testCase = testCase.join(", "); // Join array elements into a single line + } else if (testtype === "sentence" && datatype === "string") { + testCase = generateSentence(length); + } + return testCase; + } + + function validateInput(datatype, testtype, length, floatSize) { + console.log("f: " + floatSize); + if (testtype === "simple" || testtype === "array") { + if (datatype === "int") { + return length > 0; + } else if (datatype === "float") { + return length >= 2 && floatSize >= 0; + } else if (datatype === "long") { + return length >= 7; + } else if (datatype === "char") { + return length > 0; + } else if (datatype === "string") { + return length > 0; + } + } else if (testtype === "sentence" && datatype === "string") { + return length > 0; + } + return false; + } + + function generateSingleTestCase(datatype, length, floatSize = 0) { + console.log(length); + switch (datatype) { + case "int": + return Math.floor(Math.random() * Math.pow(10, length)); + case "float": + return ( + Math.random() * Math.pow(10, length - floatSize) + ).toFixed(floatSize); + case "char": + const chars = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + return chars.charAt(Math.floor(Math.random() * chars.length)); + case "string": + const charsAndNums = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + return Array.from({ length: length }, () => + charsAndNums.charAt( + Math.floor(Math.random() * charsAndNums.length) + ) + ).join(""); + case "long": + return generateRandomLong(length); + default: + return null; + } + } + + function generateRandomLong(length) { + const min = Math.pow(10, length - 1); + const max = Math.pow(10, length) - 1; + return Math.floor(Math.random() * (max - min + 1)) + min; + } + + function generateSentence(wordCount) { + let filteredSentences = sentences.filter( + (sentence) => sentence.split(" ").length >= wordCount + ); + + // If no suitable sentence is found, use all available sentences and trim them + if (filteredSentences.length === 0) { + filteredSentences = sentences; + } + + let sentence = + filteredSentences[ + Math.floor(Math.random() * filteredSentences.length) + ]; + let words = sentence.split(" "); + + // Return only the required number of words + return words.slice(0, wordCount).join(" "); + } + + function copyToClipboard(text) { + const textarea = document.createElement("textarea"); + textarea.value = text; + document.body.appendChild(textarea); + textarea.select(); + document.execCommand("copy"); + document.body.removeChild(textarea); + alert("Copied to clipboard"); + } + + updateTestTypeRadios(); // Initialize test type radios on load +}); From 400b824258138088e195a8a9891b23d0dc09ff0b Mon Sep 17 00:00:00 2001 From: Vansh Date: Thu, 20 Jun 2024 01:27:53 +0530 Subject: [PATCH 2/2] minor modifications in ui --- Test Case Generator Extension/popup.css | 22 +++++++++++++++++++++- Test Case Generator Extension/popup.html | 4 ++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Test Case Generator Extension/popup.css b/Test Case Generator Extension/popup.css index 0fcf1a22..33b10b8c 100644 --- a/Test Case Generator Extension/popup.css +++ b/Test Case Generator Extension/popup.css @@ -107,4 +107,24 @@ body { #output-container button:hover{ color: #b0b0b0; - } \ No newline at end of file + } + + .footer { + position: fixed; + padding: 10px; + bottom: 0; + width: 100%; + background: rgb(212, 218, 214); + text-align: center; + color: white; + } + + .footer a { + color: white; + text-decoration: none; + } + + .footer a:hover{ + color: #5ca7f8df; + text-decoration: underline; + } \ No newline at end of file diff --git a/Test Case Generator Extension/popup.html b/Test Case Generator Extension/popup.html index e9c3e227..ce6064db 100644 --- a/Test Case Generator Extension/popup.html +++ b/Test Case Generator Extension/popup.html @@ -53,6 +53,10 @@

Test Case Generator

+ + \ No newline at end of file