mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter.git
synced 2024-12-01 00:56:26 +00:00
62adeb3ce5
The editing view is currently full of tech debt, brittle and surprising code and whatnot. It's basically a miracle if it works without problem, and it'd be an even bigger miracle if you could change something there without breaking anything. For these reasons, and because that class must be refactored as part of the upcoming overhaul, this patch adds a bunch of selenium tests to test the main functionality of that page. In particular, these tests cover all possible cases (each corresponding to a data source) for which buildFilterEditor can be called, which FTR are: 1 - View the result of importing a filter 2 - Create a new filter 3 - Load the current version of an existing filter 4 - Load an old version of an existing filter 5 - Show the user input again if saving fails after one of the steps above Having automated tests to cover these cases means that we don't have to manually test all the scenarios manually each time the class is touched. Bug: T201193 Change-Id: I408e0a132905416effe0d6d6dc0921991edd66bd
203 lines
3.9 KiB
CSS
203 lines
3.9 KiB
CSS
/* This code was stolen shamelessly from enwikipedia's Common.css */
|
|
table.mw-abuselog-details {
|
|
margin: 1em 1em 1em 0;
|
|
background: #f9f9f9;
|
|
border: 1px #aaa solid;
|
|
border-collapse: collapse;
|
|
width: 100%;
|
|
table-layout: fixed;
|
|
}
|
|
|
|
table.mw-abuselog-details th,
|
|
table.mw-abuselog-details td {
|
|
border: 1px #aaa solid;
|
|
padding: 0.2em;
|
|
}
|
|
|
|
table.mw-abuselog-details th {
|
|
background: #f2f2f2;
|
|
text-align: center;
|
|
}
|
|
|
|
table.mw-abuselog-details caption {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.mw-abusefilter-log-hidden-entry {
|
|
text-decoration: line-through;
|
|
color: #72777d;
|
|
font-style: italic;
|
|
}
|
|
|
|
body td.mw-abusefilter-history-changed {
|
|
background: #ffe0e0;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.mw-abuselog-var-value {
|
|
white-space: pre-wrap;
|
|
font-family: monospace;
|
|
}
|
|
|
|
div.mw-abuselog-var-value {
|
|
max-height: 25em;
|
|
max-width: 100%;
|
|
overflow: auto;
|
|
}
|
|
|
|
td.mw-abuselog-var {
|
|
width: 30%;
|
|
}
|
|
|
|
table.mw-abusefilter-list-scrollable {
|
|
display: block;
|
|
border: 0;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.client-nojs .mw-abusefilter-javascript-tools {
|
|
display: none;
|
|
}
|
|
|
|
#mw-abusefilter-throttle-parameters,
|
|
#mw-abusefilter-warn-parameters,
|
|
#mw-abusefilter-disallow-parameters,
|
|
#mw-abusefilter-tag-parameters,
|
|
#mw-abusefilter-block-parameters {
|
|
width: 50%;
|
|
padding-left: 3em;
|
|
}
|
|
|
|
.mw-abusefilter-preview-buttons {
|
|
text-align: center;
|
|
}
|
|
|
|
#mw-abusefilter-warn-preview,
|
|
#mw-abusefilter-disallow-preview {
|
|
border: 1px solid #a2a9b1;
|
|
margin: 2em;
|
|
padding: 1em;
|
|
}
|
|
|
|
.client-nojs #mw-abusefilter-export-link,
|
|
.client-js #mw-abusefilter-export {
|
|
display: none;
|
|
}
|
|
|
|
tr.mw-abusefilter-list-disabled,
|
|
tr.mw-abusefilter-list-disabled td {
|
|
color: #666;
|
|
}
|
|
|
|
tr.mw-abusefilter-list-deleted,
|
|
tr.mw-abusefilter-list-deleted td {
|
|
color: #aaa;
|
|
}
|
|
|
|
tr.mw-abusefilter-list-throttled,
|
|
tr.mw-abusefilter-list-throttled td {
|
|
color: #f00;
|
|
}
|
|
|
|
.mw-abusefilter-examine-match,
|
|
.mw-abusefilter-syntaxresult-ok,
|
|
li.mw-abusefilter-changeslist-match {
|
|
/* @embed */
|
|
background-image: url( yes_check.png );
|
|
}
|
|
|
|
.mw-abusefilter-examine-nomatch,
|
|
.mw-abusefilter-syntaxresult-error,
|
|
li.mw-abusefilter-changeslist-nomatch {
|
|
/* @embed */
|
|
background-image: url( red_x.png );
|
|
}
|
|
|
|
#mw-abusefilter-edit-rules .mw-input {
|
|
width: 100%; /* So that we can use relative width for mw-abusefilter-editor */
|
|
}
|
|
|
|
div.mw-abusefilter-editor {
|
|
width: 65%; /* Same as wpFilterRules and mw-abusefilter-notes-editor */
|
|
height: 30em; /* Similar to wpFilterRules */
|
|
line-height: 1.5em;
|
|
border: 1px solid #a2a9b1;
|
|
display: none;
|
|
}
|
|
|
|
#wpFilterRules {
|
|
width: 65%; /* Same as mw-abusefilter-editor */
|
|
height: 27em; /* Same as mw-abusefilter-editor, minus extra space */
|
|
}
|
|
|
|
#mw-abusefilter-notes-editor {
|
|
width: 65%; /* Same as mw-abusefilter-editor */
|
|
max-width: unset; /* OOUI's default of 50em is too low for this field */
|
|
}
|
|
|
|
#mw-abusefilter-switcheditor {
|
|
/* Hidden until the click handler is installed */
|
|
display: none;
|
|
}
|
|
|
|
fieldset.mw-abusefilter-edit-buttons {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
.mw-abusefilter-load-filter-id {
|
|
max-width: 50em;
|
|
}
|
|
|
|
.client-nojs .mw-abusefilter-load-filter-id {
|
|
display: none;
|
|
}
|
|
|
|
#mw-abusefilter-syntaxresult,
|
|
ul li.mw-abusefilter-changeslist-nomatch,
|
|
ul li.mw-abusefilter-changeslist-match {
|
|
/* Do not consolidate these into a "background:" rule; it will override the background-image: settings in above rulesets */
|
|
background-repeat: no-repeat;
|
|
padding-left: 25px;
|
|
background-position: left center;
|
|
}
|
|
|
|
/* Name is in site content language */
|
|
/* @noflip */
|
|
.sitedir-ltr .TablePager_col_af_public_comments {
|
|
direction: ltr;
|
|
}
|
|
|
|
/* @noflip */
|
|
.sitedir-rtl .TablePager_col_af_public_comments {
|
|
direction: rtl;
|
|
}
|
|
|
|
#mw-abusefilter-filter-tools {
|
|
display: inline;
|
|
}
|
|
|
|
#mw-abusefilter-expr-result {
|
|
word-break: break-all;
|
|
/* Shown dinamically via JS */
|
|
display: none;
|
|
}
|
|
|
|
.mw-abusefilter-history-buttons {
|
|
text-align: center;
|
|
}
|
|
|
|
.mw-abusefilter-tools-error {
|
|
color: #f00;
|
|
}
|
|
|
|
/* Ace highlight customisation */
|
|
|
|
span.ace_invalid.ace_deprecated {
|
|
color: #fe6767;
|
|
background-color: initial;
|
|
}
|
|
|
|
span.ace_support.ace_function {
|
|
color: #495dd0;
|
|
}
|