Image_Editor / apps /image-editor /tests /drawingMode.spec.js
Fanu2's picture
Deploy full app to HF Space
b456468
import { fabric } from 'fabric';
import ImageEditor from '@/imageEditor';
import '@/command/loadImage';
import img from 'fixtures/sampleImage.jpg';
describe('DrawingMode', () => {
let imageEditor;
beforeEach(async () => {
imageEditor = new ImageEditor(document.createElement('div'), {
cssMaxWidth: 700,
cssMaxHeight: 500,
});
const image = new fabric.Image(img);
await imageEditor.loadImageFromURL(image, 'sampleImage');
});
afterEach(() => {
imageEditor.destroy();
});
it('should enter a drawing mode with startDrawingMode, CROPPER', () => {
imageEditor.startDrawingMode('CROPPER');
expect(imageEditor.getDrawingMode()).toBe('CROPPER');
});
it('should stop a drawing mode with stopDrawingMode, ie, to normal', () => {
imageEditor.stopDrawingMode();
expect(imageEditor.getDrawingMode()).toBe('NORMAL');
});
it('should enter all drawing mode with startDrawingMode in consecutive order', () => {
['CROPPER', 'FREE_DRAWING', 'LINE_DRAWING', 'TEXT', 'SHAPE', 'RESIZE'].forEach(
(drawingMode) => {
imageEditor.startDrawingMode(drawingMode);
expect(imageEditor.getDrawingMode()).toBe(drawingMode);
}
);
expect(imageEditor.startDrawingMode('CROPPER')).toBe(true);
expect(imageEditor.startDrawingMode('CROPPER')).toBe(true); // call again, should return true
expect(imageEditor.startDrawingMode('NOT_A_DRAWING_MODE')).toBe(false);
});
});