chore: update tests

pull/6/head
Amio 2018-07-20 11:15:46 +08:00
rodzic 3a7a69e622
commit b11372f5dd
5 zmienionych plików z 75 dodań i 15 usunięć

Wyświetl plik

@ -1,4 +1,3 @@
const fs = require('fs')
const path = require('path')
const http = require('http')
const url = require('url')
@ -6,8 +5,7 @@ const qs = require('querystring')
const serveMarked = require('serve-marked')
const badgen = require('..')
const dockerSVG = fs.readFileSync(path.join(__dirname, 'docker.svg'))
const dockerIcon = 'data:image/svg+xml;base64,' + dockerSVG.toString('base64')
const dockerIcon = require('../test/docker-icon-b64.js')
// @example
// http://localhost:3000/npm/v1.2.3

Wyświetl plik

@ -7,7 +7,7 @@
'use strict'
exports[`test/index.spec.js TAP generate badge with { subject, status } > snapshot 1`] = `
<svg xmlns="http://www.w3.org/2000/svg" width="80.4" height="20">
<svg width="80.4" height="20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" x2="0" y2="100%">
<stop offset="0" stop-color="#EEE" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
@ -19,8 +19,8 @@ exports[`test/index.spec.js TAP generate badge with { subject, status } > snapsh
<rect width="80.4" height="20" fill="url(#a)"/>
</g>
<g fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="11">
<text x="6.4" y="14.8" fill="#000" opacity="0.25">npm</text>
<text x="5.4" y="13.8">npm</text>
<text x="6.2" y="14.8" fill="#000" opacity="0.25">npm</text>
<text x="5.2" y="13.8">npm</text>
<text x="40.4" y="14.8" fill="#000" opacity="0.25" textLength="35.5">v1.0.0</text>
<text x="39.4" y="13.8" textLength="35.5">v1.0.0</text>
</g>
@ -30,7 +30,7 @@ exports[`test/index.spec.js TAP generate badge with { subject, status } > snapsh
exports[`test/index.spec.js TAP generate badge with { subject, status, color } > snapshot 1`] = `
<svg xmlns="http://www.w3.org/2000/svg" width="80.4" height="20">
<svg width="80.4" height="20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" x2="0" y2="100%">
<stop offset="0" stop-color="#EEE" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
@ -42,8 +42,8 @@ exports[`test/index.spec.js TAP generate badge with { subject, status, color } >
<rect width="80.4" height="20" fill="url(#a)"/>
</g>
<g fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="11">
<text x="6.4" y="14.8" fill="#000" opacity="0.25">npm</text>
<text x="5.4" y="13.8">npm</text>
<text x="6.2" y="14.8" fill="#000" opacity="0.25">npm</text>
<text x="5.2" y="13.8">npm</text>
<text x="40.4" y="14.8" fill="#000" opacity="0.25" textLength="35.5">v1.0.0</text>
<text x="39.4" y="13.8" textLength="35.5">v1.0.0</text>
</g>
@ -53,14 +53,14 @@ exports[`test/index.spec.js TAP generate badge with { subject, status, color } >
exports[`test/index.spec.js TAP generate badge with { subject, status, style } > snapshot 1`] = `
<svg xmlns="http://www.w3.org/2000/svg" width="80.4" height="20">
<svg width="80.4" height="20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<rect width="34.9" height="20" fill="#555"/>
<rect x="34.9" width="45.5" height="20" fill="#08C"/>
</g>
<g fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="11">
<text x="6.1" y="14.8" fill="#000" opacity="0.1">npm</text>
<text x="5.1" y="13.8">npm</text>
<text x="6" y="14.8" fill="#000" opacity="0.1">npm</text>
<text x="5" y="13.8">npm</text>
<text x="40.4" y="14.8" fill="#000" opacity="0.1" textLength="35.5">v1.0.0</text>
<text x="39.4" y="13.8" textLength="35.5">v1.0.0</text>
</g>
@ -70,17 +70,57 @@ exports[`test/index.spec.js TAP generate badge with { subject, status, style } >
exports[`test/index.spec.js TAP generate badge with { subject, status, color, style } > snapshot 1`] = `
<svg xmlns="http://www.w3.org/2000/svg" width="80.4" height="20">
<svg width="80.4" height="20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<rect width="34.9" height="20" fill="#555"/>
<rect x="34.9" width="45.5" height="20" fill="#ADF"/>
</g>
<g fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="11">
<text x="6.1" y="14.8" fill="#000" opacity="0.1">npm</text>
<text x="5.1" y="13.8">npm</text>
<text x="6" y="14.8" fill="#000" opacity="0.1">npm</text>
<text x="5" y="13.8">npm</text>
<text x="40.4" y="14.8" fill="#000" opacity="0.1" textLength="35.5">v1.0.0</text>
<text x="39.4" y="13.8" textLength="35.5">v1.0.0</text>
</g>
</svg>
`
exports[`test/index.spec.js TAP generate badge with { subject, status, icon } > snapshot 1`] = `
<svg width="94.5" height="20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<linearGradient id="a" x2="0" y2="100%">
<stop offset="0" stop-color="#EEE" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="m"><rect width="94.5" height="20" rx="3" fill="#FFF"/></mask>
<g mask="url(#m)">
<rect width="62.1" height="20" fill="#555"/>
<rect x="62.1" width="32.4" height="20" fill="#08C"/>
<rect width="94.5" height="20" fill="url(#a)"/>
</g>
<g fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="11">
<text x="22" y="14.8" fill="#000" opacity="0.25">docker</text>
<text x="21" y="13.8">docker</text>
<text x="67.6" y="14.8" fill="#000" opacity="0.25" textLength="22.4">icon</text>
<text x="66.6" y="13.8" textLength="22.4">icon</text>
</g><image x="4.5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTg5IiB3aWR0aD0iMjIxLjY2NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAxNDEuNzVoMTY2LjI1VjBIMHoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYiI+PHBhdGggZD0iTTAgMTQxLjc1aDE2Ni4yNVYwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjMzMzMzIDAgMCAtMS4zMzMzMyAwIDE4OSkiPjxwYXRoIGQ9Ik05NC4yNjggNzYuMjA0aDE1Ljc0M3YxNC4zMTJIOTQuMjY4em0tMTguNjA1IDBoMTUuNzQydjE0LjMxMkg3NS42NjN6bS0xOC42MDUgMGgxNS43NDN2MTQuMzEySDU3LjA1OHptLTE4LjYwNSAwaDE1Ljc0M3YxNC4zMTJIMzguNDUzem0tMTguNjA1IDBoMTUuNzQzdjE0LjMxMkgxOS44NDh6bTE4LjYwNSAxNy4xNzNoMTUuNzQzdjE0LjMxMUgzOC40NTN6bTE4LjYwNSAwaDE1Ljc0M3YxNC4zMTFINTcuMDU4em0xOC42MDUgMGgxNS43NDJ2MTQuMzExSDc1LjY2M3ptMCAxNy4xNzRoMTUuNzQydjE0LjMxMkg3NS42NjN6bTgxLjY1OC0yNi4wMDNjLTMuNDM4IDIuMy0xMS4zMzggMy4xNDMtMTcuNDE3IDEuOTk3LS43ODMgNS43MjYtMy45NzQgMTAuNjkxLTkuNzc5IDE1LjE3OWwtMy4zMzcgMi4yMjUtMi4yMjctMy4zNGMtMi44NTEtNC4yOTktNC4yNzUtMTAuMjU2LTMuODA4LTE1Ljk2Ny4yMS0yLjAxLjg3LTUuNjAzIDIuOTM3LTguNzY0LTIuMDY2LTEuMTEtNi4xNS0yLjY0LTExLjUzMy0yLjUzN0g4LjYyMmwtLjIwMy0xLjE5MmMtLjk3My01Ljc0LS45NTItMjMuNjUzIDEwLjY3OC0zNy40MiA4Ljg0LTEwLjQ2NCAyMi4wOTQtMTUuNzcyIDM5LjM5Mi0xNS43NzIgMzcuNSAwIDY1LjI0NCAxNy4yNjMgNzguMjM3IDQ4LjY0MSA1LjEwOS0uMTAyIDE2LjEwOS0uMDMgMjEuNzYgMTAuNzY2LjE0Ny4yNDguNDg2Ljg5NiAxLjQ3MyAyLjk0MmwuNTQxIDEuMTIyeiIgZmlsbD0iI2ZmZmZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9nPjxnIGNsaXAtcGF0aD0idXJsKCNiKSIgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMzMzMyAwIDAgLTEuMzMzMzMgMCAxODkpIj48cGF0aCBkPSJNMTA0LjEzNyAyNC4yNDFoLjIxNmMuMjUyIDAgLjQ1Ni4wODQuNDU2LjI4OCAwIC4xOC0uMTMyLjMtLjQyLjMtLjEyIDAtLjIwNC0uMDEyLS4yNTItLjAyNHptLS4wMTItMS4xMTVoLS40NTZ2MS45NjdjLjE4LjAzNi40MzIuMDYuNzU2LjA2LjM3MiAwIC41MzktLjA2LjY4NC0uMTQ0YS41NDcuNTQ3IDAgMCAwIC4xOS0uNDMyYzAtLjIxNi0uMTY3LS4zODQtLjQwNi0uNDU1di0uMDI1Yy4xOS0uMDcyLjMtLjIxNS4zNTktLjQ3OS4wNi0uMy4wOTYtLjQyLjE0NS0uNDkyaC0uNDkyYy0uMDYuMDcyLS4wOTYuMjUyLS4xNTcuNDgtLjAzNS4yMTYtLjE1NS4zMTItLjQwNy4zMTJoLS4yMTZ6bS0xLjIxMiAxLjAzMmMwLS44NzYuNjQ5LTEuNTcgMS41MzYtMS41Ny44NjQgMCAxLjQ5OS42OTQgMS40OTkgMS41NTcgMCAuODc2LS42MzUgMS41ODMtMS41MTEgMS41ODMtLjg3NSAwLTEuNTI0LS43MDctMS41MjQtMS41N20zLjUzOCAwYzAtMS4xMTYtLjg3NS0xLjk5LTIuMDE0LTEuOTktMS4xMjcgMC0yLjAyNy44NzQtMi4wMjcgMS45OSAwIDEuMDkxLjkgMS45NjcgMi4wMjcgMS45NjcgMS4xMzkgMCAyLjAxNC0uODc2IDIuMDE0LTEuOTY3IiBmaWxsPSIjZmZmZmZmIi8+PC9nPjwvc3ZnPgo="/>
</svg>
`
exports[`test/index.spec.js TAP generate badge with { subject, status, icon, style } > snapshot 1`] = `
<svg width="94.5" height="20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g>
<rect width="62.1" height="20" fill="#555"/>
<rect x="62.1" width="32.4" height="20" fill="#08C"/>
</g>
<g fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="11">
<text x="22" y="14.8" fill="#000" opacity="0.1">docker</text>
<text x="21" y="13.8">docker</text>
<text x="67.6" y="14.8" fill="#000" opacity="0.1" textLength="22.4">icon</text>
<text x="66.6" y="13.8" textLength="22.4">icon</text>
</g><image x="4.5" y="3" width="14" height="14" xlink:href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTg5IiB3aWR0aD0iMjIxLjY2NyI+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIj48cGF0aCBkPSJNMCAxNDEuNzVoMTY2LjI1VjBIMHoiLz48L2NsaXBQYXRoPjxjbGlwUGF0aCBpZD0iYiI+PHBhdGggZD0iTTAgMTQxLjc1aDE2Ni4yNVYwSDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjMzMzMzIDAgMCAtMS4zMzMzMyAwIDE4OSkiPjxwYXRoIGQ9Ik05NC4yNjggNzYuMjA0aDE1Ljc0M3YxNC4zMTJIOTQuMjY4em0tMTguNjA1IDBoMTUuNzQydjE0LjMxMkg3NS42NjN6bS0xOC42MDUgMGgxNS43NDN2MTQuMzEySDU3LjA1OHptLTE4LjYwNSAwaDE1Ljc0M3YxNC4zMTJIMzguNDUzem0tMTguNjA1IDBoMTUuNzQzdjE0LjMxMkgxOS44NDh6bTE4LjYwNSAxNy4xNzNoMTUuNzQzdjE0LjMxMUgzOC40NTN6bTE4LjYwNSAwaDE1Ljc0M3YxNC4zMTFINTcuMDU4em0xOC42MDUgMGgxNS43NDJ2MTQuMzExSDc1LjY2M3ptMCAxNy4xNzRoMTUuNzQydjE0LjMxMkg3NS42NjN6bTgxLjY1OC0yNi4wMDNjLTMuNDM4IDIuMy0xMS4zMzggMy4xNDMtMTcuNDE3IDEuOTk3LS43ODMgNS43MjYtMy45NzQgMTAuNjkxLTkuNzc5IDE1LjE3OWwtMy4zMzcgMi4yMjUtMi4yMjctMy4zNGMtMi44NTEtNC4yOTktNC4yNzUtMTAuMjU2LTMuODA4LTE1Ljk2Ny4yMS0yLjAxLjg3LTUuNjAzIDIuOTM3LTguNzY0LTIuMDY2LTEuMTEtNi4xNS0yLjY0LTExLjUzMy0yLjUzN0g4LjYyMmwtLjIwMy0xLjE5MmMtLjk3My01Ljc0LS45NTItMjMuNjUzIDEwLjY3OC0zNy40MiA4Ljg0LTEwLjQ2NCAyMi4wOTQtMTUuNzcyIDM5LjM5Mi0xNS43NzIgMzcuNSAwIDY1LjI0NCAxNy4yNjMgNzguMjM3IDQ4LjY0MSA1LjEwOS0uMTAyIDE2LjEwOS0uMDMgMjEuNzYgMTAuNzY2LjE0Ny4yNDguNDg2Ljg5NiAxLjQ3MyAyLjk0MmwuNTQxIDEuMTIyeiIgZmlsbD0iI2ZmZmZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9nPjxnIGNsaXAtcGF0aD0idXJsKCNiKSIgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMzMzMyAwIDAgLTEuMzMzMzMgMCAxODkpIj48cGF0aCBkPSJNMTA0LjEzNyAyNC4yNDFoLjIxNmMuMjUyIDAgLjQ1Ni4wODQuNDU2LjI4OCAwIC4xOC0uMTMyLjMtLjQyLjMtLjEyIDAtLjIwNC0uMDEyLS4yNTItLjAyNHptLS4wMTItMS4xMTVoLS40NTZ2MS45NjdjLjE4LjAzNi40MzIuMDYuNzU2LjA2LjM3MiAwIC41MzktLjA2LjY4NC0uMTQ0YS41NDcuNTQ3IDAgMCAwIC4xOS0uNDMyYzAtLjIxNi0uMTY3LS4zODQtLjQwNi0uNDU1di0uMDI1Yy4xOS0uMDcyLjMtLjIxNS4zNTktLjQ3OS4wNi0uMy4wOTYtLjQyLjE0NS0uNDkyaC0uNDkyYy0uMDYuMDcyLS4wOTYuMjUyLS4xNTcuNDgtLjAzNS4yMTYtLjE1NS4zMTItLjQwNy4zMTJoLS4yMTZ6bS0xLjIxMiAxLjAzMmMwLS44NzYuNjQ5LTEuNTcgMS41MzYtMS41Ny44NjQgMCAxLjQ5OS42OTQgMS40OTkgMS41NTcgMCAuODc2LS42MzUgMS41ODMtMS41MTEgMS41ODMtLjg3NSAwLTEuNTI0LS43MDctMS41MjQtMS41N20zLjUzOCAwYzAtMS4xMTYtLjg3NS0xLjk5LTIuMDE0LTEuOTktMS4xMjcgMC0yLjAyNy44NzQtMi4wMjcgMS45OSAwIDEuMDkxLjkgMS45NjcgMi4wMjcgMS45NjcgMS4xMzkgMCAyLjAxNC0uODc2IDIuMDE0LTEuOTY3IiBmaWxsPSIjZmZmZmZmIi8+PC9nPjwvc3ZnPgo="/>
</svg>
`

Wyświetl plik

@ -0,0 +1,7 @@
const fs = require('fs')
const path = require('path')
const dockerSVG = fs.readFileSync(path.join(__dirname, 'docker.svg'))
const dockerIcon = 'data:image/svg+xml;base64,' + dockerSVG.toString('base64')
module.exports = dockerIcon

1
test/docker.svg 100644
Wyświetl plik

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="189" width="221.667"><defs><clipPath id="a"><path d="M0 141.75h166.25V0H0z"/></clipPath><clipPath id="b"><path d="M0 141.75h166.25V0H0z"/></clipPath></defs><g clip-path="url(#a)" transform="matrix(1.33333 0 0 -1.33333 0 189)"><path d="M94.268 76.204h15.743v14.312H94.268zm-18.605 0h15.742v14.312H75.663zm-18.605 0h15.743v14.312H57.058zm-18.605 0h15.743v14.312H38.453zm-18.605 0h15.743v14.312H19.848zm18.605 17.173h15.743v14.311H38.453zm18.605 0h15.743v14.311H57.058zm18.605 0h15.742v14.311H75.663zm0 17.174h15.742v14.312H75.663zm81.658-26.003c-3.438 2.3-11.338 3.143-17.417 1.997-.783 5.726-3.974 10.691-9.779 15.179l-3.337 2.225-2.227-3.34c-2.851-4.299-4.275-10.256-3.808-15.967.21-2.01.87-5.603 2.937-8.764-2.066-1.11-6.15-2.64-11.533-2.537H8.622l-.203-1.192c-.973-5.74-.952-23.653 10.678-37.42 8.84-10.464 22.094-15.772 39.392-15.772 37.5 0 65.244 17.263 78.237 48.641 5.109-.102 16.109-.03 21.76 10.766.147.248.486.896 1.473 2.942l.541 1.122z" fill="#ffffff" fill-rule="evenodd"/></g><g clip-path="url(#b)" transform="matrix(1.33333 0 0 -1.33333 0 189)"><path d="M104.137 24.241h.216c.252 0 .456.084.456.288 0 .18-.132.3-.42.3-.12 0-.204-.012-.252-.024zm-.012-1.115h-.456v1.967c.18.036.432.06.756.06.372 0 .539-.06.684-.144a.547.547 0 0 0 .19-.432c0-.216-.167-.384-.406-.455v-.025c.19-.072.3-.215.359-.479.06-.3.096-.42.145-.492h-.492c-.06.072-.096.252-.157.48-.035.216-.155.312-.407.312h-.216zm-1.212 1.032c0-.876.649-1.57 1.536-1.57.864 0 1.499.694 1.499 1.557 0 .876-.635 1.583-1.511 1.583-.875 0-1.524-.707-1.524-1.57m3.538 0c0-1.116-.875-1.99-2.014-1.99-1.127 0-2.027.874-2.027 1.99 0 1.091.9 1.967 2.027 1.967 1.139 0 2.014-.876 2.014-1.967" fill="#ffffff"/></g></svg>

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 1.7 KiB

Wyświetl plik

@ -28,3 +28,17 @@ tap.test('generate badge with { subject, status, color, style }', t => {
t.matchSnapshot(svg, 'snapshot')
t.end()
})
tap.test('generate badge with { subject, status, icon }', t => {
const icon = require('./docker-icon-b64.js')
const svg = badgen({ subject: 'docker', status: 'icon', icon })
t.matchSnapshot(svg, 'snapshot')
t.end()
})
tap.test('generate badge with { subject, status, icon, style }', t => {
const icon = require('./docker-icon-b64.js')
const svg = badgen({ subject: 'docker', status: 'icon', style: 'flat', icon })
t.matchSnapshot(svg, 'snapshot')
t.end()
})