Gets the name of a number, even if it's stupidly big. Supersedes TheoryOfNekomata/number-name.
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

63 Zeilen
1.6 KiB

  1. import getNumberName from '../../../index';
  2. import getLocalizedNumberName from './index';
  3. describe('Plurals', () => {
  4. describe('1 in millions place', () => {
  5. const value = 1000000;
  6. const name = 'eine Million';
  7. it(`converts ${value} to ${name}`, () => {
  8. expect(getNumberName(value, {locale: getLocalizedNumberName})).toBe(name);
  9. });
  10. });
  11. describe.each`
  12. ones | onesName
  13. ${2} | ${'zwei'}
  14. ${3} | ${'drei'}
  15. ${4} | ${'vier'}
  16. ${5} | ${'fünf'}
  17. ${6} | ${'sechs'}
  18. ${7} | ${'sieben'}
  19. ${8} | ${'acht'}
  20. ${9} | ${'neun'}
  21. `('$ones in millions place', ({
  22. ones,
  23. onesName,
  24. }) => {
  25. const value = ones * 1000000;
  26. const name = `${onesName} Millionen`;
  27. it(`converts ${value} to ${name}`, () => {
  28. expect(getNumberName(value, {locale: getLocalizedNumberName})).toBe(name);
  29. });
  30. });
  31. describe('1 in billions place', () => {
  32. const value = 1000000000;
  33. const name = 'eine Milliarde';
  34. it(`converts ${value} to ${name}`, () => {
  35. expect(getNumberName(value, {locale: getLocalizedNumberName})).toBe(name);
  36. });
  37. });
  38. describe.each`
  39. ones | onesName
  40. ${2} | ${'zwei'}
  41. ${3} | ${'drei'}
  42. ${4} | ${'vier'}
  43. ${5} | ${'fünf'}
  44. ${6} | ${'sechs'}
  45. ${7} | ${'sieben'}
  46. ${8} | ${'acht'}
  47. ${9} | ${'neun'}
  48. `('$ones in billions place', ({
  49. ones,
  50. onesName,
  51. }) => {
  52. const value = ones * 1000000000;
  53. const name = `${onesName} Milliarden`;
  54. it(`converts ${value} to ${name}`, () => {
  55. expect(getNumberName(value, {locale: getLocalizedNumberName})).toBe(name);
  56. });
  57. });
  58. });