mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-10-31 02:44:17 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			129 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { renderGraph } from '../../helpers/util.ts';
 | |
| describe('Configuration', () => {
 | |
|   describe('arrowMarkerAbsolute', () => {
 | |
|     it('should handle default value false of arrowMarkerAbsolute', () => {
 | |
|       renderGraph(
 | |
|         `graph TD
 | |
|         A[Christmas] -->|Get money| B(Go shopping)
 | |
|         B --> C{Let me think}
 | |
|         C -->|One| D[Laptop]
 | |
|         C -->|Two| E[iPhone]
 | |
|         C -->|Three| F[fa:fa-car Car]
 | |
|         `,
 | |
|         {}
 | |
|       );
 | |
| 
 | |
|       // Check the marker-end property to make sure it is properly set to
 | |
|       // start with #
 | |
|       cy.get('.edgePaths').within(() => {
 | |
|         cy.get('path')
 | |
|           .first()
 | |
|           .should('have.attr', 'marker-end')
 | |
|           .should('exist')
 | |
|           .and('include', 'url(#');
 | |
|       });
 | |
|     });
 | |
|     it('should handle default value false of arrowMarkerAbsolute', () => {
 | |
|       renderGraph(
 | |
|         `graph TD
 | |
|         A[Christmas] -->|Get money| B(Go shopping)
 | |
|         B --> C{Let me think}
 | |
|         C -->|One| D[Laptop]
 | |
|         C -->|Two| E[iPhone]
 | |
|         C -->|Three| F[fa:fa-car Car]
 | |
|         `,
 | |
|         {}
 | |
|       );
 | |
| 
 | |
|       // Check the marker-end property to make sure it is properly set to
 | |
|       // start with #
 | |
|       cy.get('.edgePaths').within(() => {
 | |
|         cy.get('path')
 | |
|           .first()
 | |
|           .should('have.attr', 'marker-end')
 | |
|           .should('exist')
 | |
|           .and('include', 'url(#');
 | |
|       });
 | |
|     });
 | |
|     it('should handle arrowMarkerAbsolute explicitly set to false', () => {
 | |
|       renderGraph(
 | |
|         `graph TD
 | |
|         A[Christmas] -->|Get money| B(Go shopping)
 | |
|         B --> C{Let me think}
 | |
|         C -->|One| D[Laptop]
 | |
|         C -->|Two| E[iPhone]
 | |
|         C -->|Three| F[fa:fa-car Car]
 | |
|         `,
 | |
|         {
 | |
|           arrowMarkerAbsolute: false,
 | |
|         }
 | |
|       );
 | |
| 
 | |
|       // Check the marker-end property to make sure it is properly set to
 | |
|       // start with #
 | |
|       cy.get('.edgePaths').within(() => {
 | |
|         cy.get('path')
 | |
|           .first()
 | |
|           .should('have.attr', 'marker-end')
 | |
|           .should('exist')
 | |
|           .and('include', 'url(#');
 | |
|       });
 | |
|     });
 | |
|     it('should handle arrowMarkerAbsolute explicitly set to "false" as false', () => {
 | |
|       renderGraph(
 | |
|         `graph TD
 | |
|         A[Christmas] -->|Get money| B(Go shopping)
 | |
|         B --> C{Let me think}
 | |
|         C -->|One| D[Laptop]
 | |
|         C -->|Two| E[iPhone]
 | |
|         C -->|Three| F[fa:fa-car Car]
 | |
|         `,
 | |
|         {
 | |
|           arrowMarkerAbsolute: 'false',
 | |
|         }
 | |
|       );
 | |
| 
 | |
|       // Check the marker-end property to make sure it is properly set to
 | |
|       // start with #
 | |
|       cy.get('.edgePaths').within(() => {
 | |
|         cy.get('path')
 | |
|           .first()
 | |
|           .should('have.attr', 'marker-end')
 | |
|           .should('exist')
 | |
|           .and('include', 'url(#');
 | |
|       });
 | |
|     });
 | |
|     it('should handle arrowMarkerAbsolute set to true', () => {
 | |
|       renderGraph(
 | |
|         `flowchart TD
 | |
|         A[Christmas] -->|Get money| B(Go shopping)
 | |
|         B --> C{Let me think}
 | |
|         C -->|One| D[Laptop]
 | |
|         C -->|Two| E[iPhone]
 | |
|         C -->|Three| F[fa:fa-car Car]
 | |
|         `,
 | |
|         {
 | |
|           arrowMarkerAbsolute: true,
 | |
|         }
 | |
|       );
 | |
| 
 | |
|       cy.get('.edgePaths').within(() => {
 | |
|         cy.get('path')
 | |
|           .first()
 | |
|           .should('have.attr', 'marker-end')
 | |
|           .should('exist')
 | |
|           .and('include', 'url(http://localhost');
 | |
|       });
 | |
|     });
 | |
|     it('should not taint the initial configuration when using multiple directives', () => {
 | |
|       const url = 'http://localhost:9000/regression/issue-1874.html';
 | |
|       cy.visit(url);
 | |
| 
 | |
|       cy.get('svg');
 | |
|       cy.matchImageSnapshot(
 | |
|         'configuration.spec-should-not-taint-initial-configuration-when-using-multiple-directives'
 | |
|       );
 | |
|     });
 | |
|   });
 | |
| });
 | 
