mirror of
https://github.com/janishutz/color-thief.git
synced 2025-11-25 13:54:25 +00:00
Add tests: getColor on black, red, color, transparent, white image
This commit is contained in:
@@ -1,12 +1,52 @@
|
||||
describe('API', function() {
|
||||
function rgbCount(text) {
|
||||
const vals = text.split(',');
|
||||
for (const val of vals) {
|
||||
if (val < 0 || val > 255) {
|
||||
throw 'Invalid RGB color value';
|
||||
}
|
||||
}
|
||||
return vals.length / 3
|
||||
}
|
||||
|
||||
describe('getColor()', function() {
|
||||
beforeEach(function() {
|
||||
cy.visit('http://localhost:8080');
|
||||
})
|
||||
|
||||
it('Does not do much!', function() {
|
||||
// console.log(colorThief);
|
||||
expect(true).to.equal(true);
|
||||
// cy.get('.nav__item').contains('Blog').click();
|
||||
// cy.url().should('contain', 'blog');
|
||||
it('returns valid color from black image', function() {
|
||||
cy.get('[data-image="black.png"] .output-color').should(($el) => {
|
||||
const count = rgbCount($el.text())
|
||||
expect(count).to.equal(1);
|
||||
});
|
||||
})
|
||||
|
||||
it('returns valid color from red image', function() {
|
||||
cy.get('[data-image="red.png"] .output-color').should(($el) => {
|
||||
const count = rgbCount($el.text())
|
||||
expect(count).to.equal(1);
|
||||
});
|
||||
})
|
||||
|
||||
it('returns valid color from rainbow image', function() {
|
||||
cy.get('[data-image="rainbow-horizontal.png"] .output-color').should(($el) => {
|
||||
const count = rgbCount($el.text())
|
||||
expect(count).to.equal(1);
|
||||
});
|
||||
})
|
||||
|
||||
// ⚠️BREAKS
|
||||
// it('returns valid color from white image', function() {
|
||||
// cy.get('[data-image="white.png"] .output-color').should(($el) => {
|
||||
// const count = rgbCount($el.text())
|
||||
// expect(count).to.equal(1);
|
||||
// });
|
||||
// })
|
||||
|
||||
// ⚠️BREAKS
|
||||
// it('returns valid color from transparent image', function() {
|
||||
// cy.get('[data-image="transparent.png"] .output-color').should(($el) => {
|
||||
// const count = rgbCount($el.text())
|
||||
// expect(count).to.equal(1);
|
||||
// });
|
||||
// })
|
||||
})
|
||||
|
||||
@@ -28,7 +28,6 @@ document.querySelectorAll('.image').forEach((image) => {
|
||||
// Run Color Thief functions and display results below image.
|
||||
// We also log execution time of functions for display.
|
||||
const showColorsForImage = function(image, section) {
|
||||
const file = section.src;
|
||||
const start = Date.now();
|
||||
const color = colorThief.getColor(image);
|
||||
const elapsedTimeForGetColor = Date.now() - start;
|
||||
|
||||
10
index.html
10
index.html
@@ -12,7 +12,7 @@
|
||||
|
||||
<script id='image-tpl' type='text/x-mustache'>
|
||||
{{#.}}
|
||||
<div class="image-section">
|
||||
<div class="image-section" data-image="{{.}}">
|
||||
<h2>{{.}}</h2>
|
||||
<img class="image" src="examples/img/{{.}}" />
|
||||
<div class="output"></div>
|
||||
@@ -27,8 +27,8 @@
|
||||
<div class="swatch" style="background-color: rgb({{color.0}}, {{color.1}}, {{color.2}})"></div>
|
||||
</div>
|
||||
<code>
|
||||
{{colorStr}}<br>
|
||||
<span class="time">{{elapsedTimeForGetColor}}ms</span>
|
||||
<div class="output-color">{{colorStr}}</div>
|
||||
<div class="time">{{elapsedTimeForGetColor}}ms</div>
|
||||
</code>
|
||||
</div>
|
||||
<div class="palette">
|
||||
@@ -39,8 +39,8 @@
|
||||
{{/palette}}
|
||||
</div>
|
||||
<code>
|
||||
{{paletteStr}}<br>
|
||||
<span class="time">{{elapsedTimeForGetPalette}}ms</span>
|
||||
<div class="output-palette">{{paletteStr}}</div>
|
||||
<div class="time">{{elapsedTimeForGetPalette}}ms</div>
|
||||
</code>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user