| import './index'; |
| import { assert } from 'chai'; |
| import { |
| colorPickerRegex, |
| extractControlNames, |
| sliderRegex, |
| } from './wasm-fiddle-sk'; |
| |
| describe('wasm-fiddle', () => { |
| describe('extractControlNames', () => { |
| it('finds all sliders across multiple lines', () => { |
| const code = ` |
| #slider1:Foo |
| #slider2:Bar |
| `; |
| assert.deepEqual( |
| [undefined, 'Foo', 'Bar'], |
| extractControlNames(sliderRegex, code) |
| ); |
| }); |
| |
| it('finds all sliders on the same line', () => { |
| const code = ' #slider1:Foo #slider2:Bar '; |
| assert.deepEqual( |
| [undefined, 'Foo', 'Bar'], |
| extractControlNames(sliderRegex, code) |
| ); |
| }); |
| |
| it('does not crash on empty string', () => { |
| const code = ''; |
| assert.deepEqual([], extractControlNames(sliderRegex, code)); |
| }); |
| |
| it('finds all sliders in comments.', () => { |
| const code = ` // Comment |
| // #slider0:strokeWidth #color0:dashColor |
| // #slider1:Bar #color1:Foo |
| `; |
| assert.deepEqual( |
| ['strokeWidth', 'Bar'], |
| extractControlNames(sliderRegex, code), |
| 'sliders' |
| ); |
| assert.deepEqual( |
| ['dashColor', 'Foo'], |
| extractControlNames(colorPickerRegex, code), |
| 'color pickers' |
| ); |
| }); |
| }); |
| }); |