JavaScript:toLocaleString()使用jasmine进行测试

JavaScript:toLocaleString()使用jasmine进行测试,javascript,jasmine,locale,Javascript,Jasmine,Locale,我有一个问题,Jasmine.js(2.4.1)无法测试toLocaleString的输出。 给出了jsfiddle上的代码 我有很多数字需要格式化,有没有货币。不带货币的测试(附加选项对象)可以与“toBe”或“toEqual”匹配器配合使用。但一旦我添加了一个货币选项,两个匹配选项都将不起作用。至少,对我来说,“toEqual”匹配应该有效。我在这里遗漏了什么吗?如果将CHF后面的空格替换为a,则正则表达式测试可以工作。(点)。charCodeAt(3)返回160,这不是一个空格 一般来说,

我有一个问题,Jasmine.js(2.4.1)无法测试toLocaleString的输出。 给出了jsfiddle上的代码


我有很多数字需要格式化,有没有货币。不带货币的测试(附加选项对象)可以与“toBe”或“toEqual”匹配器配合使用。但一旦我添加了一个货币选项,两个匹配选项都将不起作用。至少,对我来说,“toEqual”匹配应该有效。我在这里遗漏了什么吗?

如果将CHF后面的空格替换为a,则正则表达式测试可以工作。(点)。charCodeAt(3)返回160,这不是一个空格

一般来说,我不主张测试内置函数的输出,但我同意这是非常奇怪的。它实际上是一个不间断的空格。感谢您的热烈响应,现在我有两个测试:它必须是相等的“String.fromCharCode(67、72、70、160、49、39、48、48、48、39、48、48、48、46、48、48)”它应该与给定的正则表达式“/CHF.[1]”[0]+'[0]+[0]+[0]+/g”匹配
var options = {
   style: "currency",
   currency: "CHF"
};

var number = 1000000;
var result = number.toLocaleString("DE-CH", options); 
//"CHF 1'000'000.00" does not work with toEqual
var result = number.toLocaleString("DE-CH"); 
//"1'000'000" works with toBe() or toEqual()