Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2021-06-25 18:48:32 +0300
committerJoas Schilling <coding@schilljs.com>2021-06-25 18:52:08 +0300
commit4990461fbc6bbe63e8d538d58506c8a7e18e4fc1 (patch)
treec9893c4af9229a3ee1b4323b542c561377445998 /src/components/NewMessageForm
parent5f71df845cc5194b7bbeebbb35a00fc79b79efd8 (diff)
Add a debug command to generate an arbitrary number of chat message
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'src/components/NewMessageForm')
-rw-r--r--src/components/NewMessageForm/NewMessageForm.vue26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue
index cf7a7154e..b638f56f2 100644
--- a/src/components/NewMessageForm/NewMessageForm.vue
+++ b/src/components/NewMessageForm/NewMessageForm.vue
@@ -340,6 +340,15 @@ export default {
* Sends the new message
*/
async handleSubmit() {
+ if (OC.debug && this.parsedText.startsWith('/spam ')) {
+ const pattern = /^\/spam (\d+) messages$/i
+ const match = pattern.exec(this.parsedText)
+ if (match) {
+ await this.handleSubmitSpam(match[1])
+ return
+ }
+ }
+
if (this.parsedText !== '') {
const temporaryMessage = await this.$store.dispatch('createTemporaryMessage', { text: this.parsedText, token: this.token })
// FIXME: move "addTemporaryMessage" into "postNewMessage" as it's a pre-requisite anyway ?
@@ -354,6 +363,23 @@ export default {
}
},
+ async handleSubmitSpam(numberOfMessages) {
+ console.debug('Sending ' + numberOfMessages + ' lorem ipsum messages')
+ for (let i = 0; i < numberOfMessages; i++) {
+ const randomNumber = parseInt(Math.random() * 500, 10)
+ console.debug('[' + i + '/' + numberOfMessages + '] Sleeping ' + randomNumber + 'ms')
+ await this.sleep(randomNumber)
+
+ const loremIpsum = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\nDuis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.'
+ this.parsedText = loremIpsum.substr(0, 25 + randomNumber)
+ await this.handleSubmit()
+ }
+ },
+
+ sleep(ms) {
+ return new Promise(resolve => setTimeout(resolve, ms))
+ },
+
handleRetryMessage(temporaryMessageId) {
if (this.parsedText === '') {
const temporaryMessage = this.$store.getters.message(this.token, temporaryMessageId)