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() {
|
beforeEach(function() {
|
||||||
cy.visit('http://localhost:8080');
|
cy.visit('http://localhost:8080');
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Does not do much!', function() {
|
it('returns valid color from black image', function() {
|
||||||
// console.log(colorThief);
|
cy.get('[data-image="black.png"] .output-color').should(($el) => {
|
||||||
expect(true).to.equal(true);
|
const count = rgbCount($el.text())
|
||||||
// cy.get('.nav__item').contains('Blog').click();
|
expect(count).to.equal(1);
|
||||||
// cy.url().should('contain', 'blog');
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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.
|
// Run Color Thief functions and display results below image.
|
||||||
// We also log execution time of functions for display.
|
// We also log execution time of functions for display.
|
||||||
const showColorsForImage = function(image, section) {
|
const showColorsForImage = function(image, section) {
|
||||||
const file = section.src;
|
|
||||||
const start = Date.now();
|
const start = Date.now();
|
||||||
const color = colorThief.getColor(image);
|
const color = colorThief.getColor(image);
|
||||||
const elapsedTimeForGetColor = Date.now() - start;
|
const elapsedTimeForGetColor = Date.now() - start;
|
||||||
|
|||||||
10
index.html
10
index.html
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
<script id='image-tpl' type='text/x-mustache'>
|
<script id='image-tpl' type='text/x-mustache'>
|
||||||
{{#.}}
|
{{#.}}
|
||||||
<div class="image-section">
|
<div class="image-section" data-image="{{.}}">
|
||||||
<h2>{{.}}</h2>
|
<h2>{{.}}</h2>
|
||||||
<img class="image" src="examples/img/{{.}}" />
|
<img class="image" src="examples/img/{{.}}" />
|
||||||
<div class="output"></div>
|
<div class="output"></div>
|
||||||
@@ -27,8 +27,8 @@
|
|||||||
<div class="swatch" style="background-color: rgb({{color.0}}, {{color.1}}, {{color.2}})"></div>
|
<div class="swatch" style="background-color: rgb({{color.0}}, {{color.1}}, {{color.2}})"></div>
|
||||||
</div>
|
</div>
|
||||||
<code>
|
<code>
|
||||||
{{colorStr}}<br>
|
<div class="output-color">{{colorStr}}</div>
|
||||||
<span class="time">{{elapsedTimeForGetColor}}ms</span>
|
<div class="time">{{elapsedTimeForGetColor}}ms</div>
|
||||||
</code>
|
</code>
|
||||||
</div>
|
</div>
|
||||||
<div class="palette">
|
<div class="palette">
|
||||||
@@ -39,8 +39,8 @@
|
|||||||
{{/palette}}
|
{{/palette}}
|
||||||
</div>
|
</div>
|
||||||
<code>
|
<code>
|
||||||
{{paletteStr}}<br>
|
<div class="output-palette">{{paletteStr}}</div>
|
||||||
<span class="time">{{elapsedTimeForGetPalette}}ms</span>
|
<div class="time">{{elapsedTimeForGetPalette}}ms</div>
|
||||||
</code>
|
</code>
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user