@@ -1567,6 +1567,57 @@ test('interval validation works correctly', () => {
15671567 assert . strictEqual ( spinner2 . interval , 150 ) ;
15681568} ) ;
15691569
1570+ test ( 'interval rejects negative values' , ( ) => {
1571+ assert . throws ( ( ) => {
1572+ ora ( { interval : - 100 } ) ;
1573+ } , { message : / p o s i t i v e i n t e g e r / } ) ;
1574+ } ) ;
1575+
1576+ test ( 'interval rejects non-integer values' , ( ) => {
1577+ assert . throws ( ( ) => {
1578+ ora ( { interval : 1.5 } ) ;
1579+ } , { message : / p o s i t i v e i n t e g e r / } ) ;
1580+ } ) ;
1581+
1582+ test ( 'interval rejects zero' , ( ) => {
1583+ assert . throws ( ( ) => {
1584+ ora ( { interval : 0 } ) ;
1585+ } , { message : / p o s i t i v e i n t e g e r / } ) ;
1586+ } ) ;
1587+
1588+ test ( 'color rejects invalid color names' , ( ) => {
1589+ assert . throws ( ( ) => {
1590+ ora ( { color : 'invalid' } ) ;
1591+ } , { message : / v a l i d c o l o r / } ) ;
1592+ } ) ;
1593+
1594+ test ( 'color rejects non-string non-false values' , ( ) => {
1595+ assert . throws ( ( ) => {
1596+ ora ( { color : 123 } ) ;
1597+ } , { message : / v a l i d c o l o r / } ) ;
1598+ } ) ;
1599+
1600+ test ( 'color accepts false to disable' , ( ) => {
1601+ const spinner = ora ( { color : false , isEnabled : false } ) ;
1602+ assert . strictEqual ( spinner . color , false ) ;
1603+ } ) ;
1604+
1605+ test ( 'color accepts valid color names' , ( ) => {
1606+ const spinner = ora ( { color : 'red' , isEnabled : false } ) ;
1607+ assert . strictEqual ( spinner . color , 'red' ) ;
1608+ } ) ;
1609+
1610+ test ( 'color accepts undefined' , ( ) => {
1611+ const spinner = ora ( { color : undefined , isEnabled : false } ) ;
1612+ assert . strictEqual ( spinner . color , undefined ) ;
1613+ } ) ;
1614+
1615+ test ( 'color setter accepts undefined' , ( ) => {
1616+ const spinner = ora ( { color : 'green' , isEnabled : false } ) ;
1617+ spinner . color = undefined ;
1618+ assert . strictEqual ( spinner . color , undefined ) ;
1619+ } ) ;
1620+
15701621test ( 'text setter handles falsy values correctly' , ( ) => {
15711622 const spinner = ora ( { color : false } ) ;
15721623 spinner . text = null ;
0 commit comments