mirror of
				https://github.com/excalidraw/excalidraw.git
				synced 2025-11-03 20:34:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { makeNextSelectedElementIds } from "../src/selection";
 | 
						|
 | 
						|
describe("makeNextSelectedElementIds", () => {
 | 
						|
  const _makeNextSelectedElementIds = (
 | 
						|
    selectedElementIds: { [id: string]: true },
 | 
						|
    prevSelectedElementIds: { [id: string]: true },
 | 
						|
    expectUpdated: boolean,
 | 
						|
  ) => {
 | 
						|
    const ret = makeNextSelectedElementIds(selectedElementIds, {
 | 
						|
      selectedElementIds: prevSelectedElementIds,
 | 
						|
    });
 | 
						|
    expect(ret === selectedElementIds).toBe(expectUpdated);
 | 
						|
  };
 | 
						|
  it("should return prevState selectedElementIds if no change", () => {
 | 
						|
    _makeNextSelectedElementIds({}, {}, false);
 | 
						|
    _makeNextSelectedElementIds({ 1: true }, { 1: true }, false);
 | 
						|
    _makeNextSelectedElementIds(
 | 
						|
      { 1: true, 2: true },
 | 
						|
      { 1: true, 2: true },
 | 
						|
      false,
 | 
						|
    );
 | 
						|
  });
 | 
						|
  it("should return new selectedElementIds if changed", () => {
 | 
						|
    // _makeNextSelectedElementIds({ 1: true }, { 1: false }, true);
 | 
						|
    _makeNextSelectedElementIds({ 1: true }, {}, true);
 | 
						|
    _makeNextSelectedElementIds({}, { 1: true }, true);
 | 
						|
    _makeNextSelectedElementIds({ 1: true }, { 2: true }, true);
 | 
						|
    _makeNextSelectedElementIds({ 1: true }, { 1: true, 2: true }, true);
 | 
						|
    _makeNextSelectedElementIds(
 | 
						|
      { 1: true, 2: true },
 | 
						|
      { 1: true, 3: true },
 | 
						|
      true,
 | 
						|
    );
 | 
						|
  });
 | 
						|
});
 |