mirror of
https://github.com/badges/shields.git
synced 2025-11-19 19:42:14 +03:00
101 lines
2.7 KiB
JavaScript
101 lines
2.7 KiB
JavaScript
import Joi from 'joi'
|
|
import { createServiceTester } from '../tester.js'
|
|
export const t = await createServiceTester()
|
|
|
|
const isErrorOnly = Joi.string().regex(/^[0-9]+ errors?$/)
|
|
|
|
const isWarningOnly = Joi.string().regex(/^[0-9]+ warnings?$/)
|
|
|
|
const isErrorAndWarning = Joi.string().regex(
|
|
/^[0-9]+ errors?, [0-9]+ warnings?$/
|
|
)
|
|
|
|
const isW3CMessage = Joi.alternatives().try(
|
|
'validated',
|
|
isErrorOnly,
|
|
isWarningOnly,
|
|
isErrorAndWarning
|
|
)
|
|
const isW3CColors = Joi.alternatives().try('brightgreen', 'red', 'yellow')
|
|
t.create(
|
|
'W3C Validation page conforms to standards with no preset and parser with brightgreen badge'
|
|
)
|
|
.get(
|
|
'/default.json?targetUrl=https://hsivonen.com/test/moz/messages-types/no-message.html'
|
|
)
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: isW3CMessage,
|
|
color: isW3CColors,
|
|
})
|
|
|
|
t.create(
|
|
'W3C Validation page conforms to standards with no HTML4 preset and HTML parser with brightgreen badge'
|
|
)
|
|
.get(
|
|
'/html.json?targetUrl=https://hsivonen.com/test/moz/messages-types/no-message.html&preset=HTML,%20SVG%201.1,%20MathML%203.0'
|
|
)
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: isW3CMessage,
|
|
color: isW3CColors,
|
|
})
|
|
|
|
t.create('W3C Validation target url not found error')
|
|
.get(
|
|
'/default.json?targetUrl=http://hsivonen.com/test/moz/messages-types/404.html'
|
|
)
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: 'target url not found',
|
|
})
|
|
|
|
t.create('W3C Validation target url host not found error')
|
|
.get('/default.json?targetUrl=https://adfasdfasdfasdfadfadfadfasdfadf.com')
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: 'target url not found',
|
|
})
|
|
|
|
t.create('W3C Validation page has 1 validation error with red badge')
|
|
.get(
|
|
'/default.json?targetUrl=http://hsivonen.com/test/moz/messages-types/warning.html'
|
|
)
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: isW3CMessage,
|
|
color: isW3CColors,
|
|
})
|
|
|
|
t.create(
|
|
'W3C Validation page has 3 validation error using HTML 4.01 Frameset preset with red badge'
|
|
)
|
|
.get(
|
|
'/html.json?targetUrl=http://hsivonen.com/test/moz/messages-types/warning.html&preset=HTML 4.01 Frameset, URL / XHTML 1.0 Frameset, URL'
|
|
)
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: isW3CMessage,
|
|
color: isW3CColors,
|
|
})
|
|
|
|
t.create('W3C Validation page has 1 validation warning with yellow badge')
|
|
.get(
|
|
'/default.json?targetUrl=http://hsivonen.com/test/moz/messages-types/info.svg'
|
|
)
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: isW3CMessage,
|
|
color: isW3CColors,
|
|
})
|
|
|
|
t.create('W3C Validation page has multiple of validation errors with red badge')
|
|
.get(
|
|
'/default.json?targetUrl=http://hsivonen.com/test/moz/messages-types/range-error.html'
|
|
)
|
|
.expectBadge({
|
|
label: 'w3c',
|
|
message: isW3CMessage,
|
|
color: isW3CColors,
|
|
})
|