| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | import { ClassicEditor, Widget } from 'ckeditor5'; | 
					
						
							|  |  |  | import Mathematics from '../src/math.js'; | 
					
						
							|  |  |  | import MathEditing from '../src/mathediting.js'; | 
					
						
							|  |  |  | import MathUI from '../src/mathui.js'; | 
					
						
							|  |  |  | import AutoMath from '../src/automath.js'; | 
					
						
							| 
									
										
										
										
											2025-05-10 00:01:38 +03:00
										 |  |  | import { describe, beforeEach, it, afterEach, expect } from "vitest"; | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | describe( 'Math', () => { | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	let editorElement: HTMLDivElement, editor: ClassicEditor; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	beforeEach( async () => { | 
					
						
							|  |  |  | 		editorElement = document.createElement( 'div' ); | 
					
						
							|  |  |  | 		document.body.appendChild( editorElement ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		return ClassicEditor | 
					
						
							|  |  |  | 			.create( editorElement, { | 
					
						
							| 
									
										
										
										
											2025-05-09 22:16:12 +03:00
										 |  |  | 				plugins: [ Mathematics ], | 
					
						
							|  |  |  | 				licenseKey: "GPL" | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 			} ) | 
					
						
							|  |  |  | 			.then( newEditor => { | 
					
						
							|  |  |  | 				editor = newEditor; | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 			} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	afterEach( () => { | 
					
						
							|  |  |  | 		editorElement.remove(); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 		return editor.destroy(); | 
					
						
							|  |  |  | 	} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	it( 'should be loaded', () => { | 
					
						
							|  |  |  | 		expect( editor.plugins.get( Mathematics ) ).to.instanceOf( Mathematics ); | 
					
						
							|  |  |  | 	} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	it( 'should load MathEditing plugin', () => { | 
					
						
							|  |  |  | 		expect( editor.plugins.get( MathEditing ) ).to.instanceOf( MathEditing ); | 
					
						
							|  |  |  | 	} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	it( 'should load Widget plugin', () => { | 
					
						
							|  |  |  | 		expect( editor.plugins.get( Widget ) ).to.instanceOf( Widget ); | 
					
						
							|  |  |  | 	} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	it( 'should load MathUI plugin', () => { | 
					
						
							|  |  |  | 		expect( editor.plugins.get( MathUI ) ).to.instanceOf( MathUI ); | 
					
						
							|  |  |  | 	} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	it( 'should load AutoMath plugin', () => { | 
					
						
							|  |  |  | 		expect( editor.plugins.get( AutoMath ) ).to.instanceOf( AutoMath ); | 
					
						
							|  |  |  | 	} ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-04 22:50:18 +03:00
										 |  |  | 	it( 'has proper name', () => { | 
					
						
							|  |  |  | 		expect( Mathematics.pluginName ).to.equal( 'Math' ); | 
					
						
							| 
									
										
										
										
											2025-05-04 19:53:24 +03:00
										 |  |  | 	} ); | 
					
						
							|  |  |  | } ); |