2016-07-24 6 views
6

मुझे (10000).toLocaleString('de-DE')"10.000" वापस करने की उम्मीद होगी लेकिन इसके बजाय मुझे "10000" मिल जाएगा।यूनिट परीक्षण: संख्या .toLocaleString()

क्या कोई कारण यह समर्थित नहीं है? संख्याओं को प्रारूपित करने के बेहतर तरीके हैं?

+0

मैं '" 10.000 "' उपयोग कर सकते हैं। – Oriol

+0

मुझे '10, 000'' मिलता है :) – daymosik

+0

यह काम करता है अगर मैं इसे किसी फ़ंक्शन में कॉल करता हूं और यह अपेक्षित आउटपुट देता है लेकिन जब मैंने इसका परीक्षण करने की कोशिश की तो यह मेरे लिए काम नहीं करता: 'यह (' टेकोलेस्ट्रिंग ' , (=)> { \t \t \t जाने nb = 1000; \t \t \t देना str = nb.toLocaleString ('डी-डे'); \t \t \t उम्मीद (एसटीआर) .toBe ('1.000'); \t \t}) ' – Ibti

उत्तर

1

यह एक वेबकिट मुद्दा है, और फैंटॉमजेएस अंतर्राष्ट्रीयकरण को बनाए रखना नहीं चाहता ... इसलिए दुर्भाग्य से हम कुछ अनजान समय के लिए इसके साथ अटक गए हैं।

https://github.com/ariya/phantomjs/issues/12581

क्या मैं कर रहा है कि दोनों के लिए जाँच करता है, क्योंकि मैं क्रोम और PhantomJS में चलाने के लिए एक कस्टम मिलान लिख रहा है समाप्त हो गया

jasmine.addMatchers({ 
    isAnyOf: (util, customEqualityTesters) => { 
     return { 
     compare: (actual, expected) => { 
      let result = {}; 
      for (let expect of expected) { 
      console.log(actual == expect); 
      if (expect == actual) { 
       result.pass = true; 
       return result; 
      } 
      } 
      result.pass = false 
      return result; 
     } 
     } 
    } 
    }) 

तो फिर तुम इसे पसंद

expect(actual).isAnyOf(['10000', '10.000']); 
संबंधित मुद्दे