| { |
| "scenario": "Function tests 2", |
| "description": "More tests for ICU-specific formatting behavior.", |
| "defaultTestProperties": { |
| "locale": "en-US" |
| }, |
| "tests": [ |
| { |
| "src": "Format {123456789.9876 :number} number", |
| "locale": "en-IN", |
| "exp": "Format 12,34,56,789.9876 number", |
| "comment": "From ICU4J tests, with explicit formatter added" |
| }, |
| { |
| "src": "Format {|3.1416| :number} number", |
| "locale": "ar-AR-u-nu-latn", |
| "exp": "Format 3.1416 number", |
| "comment": "From ICU4J tests, with explicit formatter added" |
| }, |
| { |
| "src": "Format {|3.1416| :number} number", |
| "locale": "ar-AR-u-nu-arab", |
| "exp": "Format ٣٫١٤١٦ number", |
| "comment": "From ICU4J tests, with explicit formatter added" |
| }, |
| { |
| "src": [".local $dateStr = {$date :datetime}\n", |
| "{{Testing date formatting: {$dateStr :datetime}.}}"], |
| "exp": "Testing date formatting: 23.11.2022, 19:42.", |
| "locale": "ro", |
| "params": [{ "name": "date", "value": { "date": 1669261357000 }}] |
| }, |
| { |
| "src": "Testing date formatting: {$date :date style=long}.", |
| "exp": "Testing date formatting: November 23, 2022.", |
| "params": [{ "name": "date", "value": { "date": 1669261357000 } }] |
| }, |
| { |
| "src": "Testing date formatting: {$date :date style=medium}.", |
| "exp": "Testing date formatting: Nov 23, 2022.", |
| "params": [{ "name": "date", "value": { "date": 1669261357000 } }] |
| }, |
| { |
| "src": "Testing date formatting: {$date :date style=short}.", |
| "exp": "Testing date formatting: 11/23/22.", |
| "params": [{ "name": "date", "value": { "date": 1669261357000 } }] |
| }, |
| { |
| "src": "Testing date formatting: {$date :time style=long}.", |
| "exp": "Testing date formatting: 7:42:37\u202FPM PST.", |
| "params": [{ "name": "date", "value": { "date": 1669261357000 } }] |
| }, |
| { |
| "src": "Testing date formatting: {$date :time style=medium}.", |
| "exp": "Testing date formatting: 7:42:37\u202FPM.", |
| "params": [{ "name": "date", "value": { "date": 1669261357000 } }] |
| }, |
| { |
| "src": "Testing date formatting: {$date :time style=short}.", |
| "exp": "Testing date formatting: 7:42\u202FPM.", |
| "params": [{ "name": "date", "value": { "date": 1669261357000 } }] |
| }, |
| { |
| "src": [".local $num = {|42| :number}\n", |
| "{{Testing date formatting: {$num :datetime}}}"], |
| "exp": "Testing date formatting: {$num}", |
| "expErrors": [{"type": "bad-operand"}] |
| }, |
| { |
| "src": "From literal: {|123456789,531| :number}!", |
| "exp": "From literal: {|123456789,531|}!", |
| "locale": "en-IN", |
| "params": [{ "name": "val", "value": 1234567890.97531 }], |
| "expErrors": [{"type": "bad-operand"}], |
| "comment": "Should fail because number literals are not treated as localized numbers", |
| "ignoreJava": "See https://github.com/unicode-org/message-format-wg/issues/782" |
| }, |
| { |
| "src": "From literal: {|123456789.531| :number}!", |
| "exp": "From literal: \u1041\u1042\u1043,\u1044\u1045\u1046,\u1047\u1048\u1049.\u1045\u1043\u1041!", |
| "locale": "my", |
| "params": [{ "name": "val", "value": 1234567890.97531 }] |
| }, |
| { |
| "src": "Default double: {$val}!", |
| "exp": "Default double: 1,23,45,67,890.97531!", |
| "locale": "en-IN", |
| "params": [{ "name": "val", "value": 1234567890.97531 }], |
| "comment": "The next few tests check that numeric variables are formatted without specifying :number" |
| }, |
| { |
| "src": "Default double: {$val}!", |
| "exp": "Default double: 1.234.567.890,97531!", |
| "locale": "ro", |
| "params": [{ "name": "val", "value": 1234567890.97531 }] |
| }, |
| { |
| "src": "Default float: {$val}!", |
| "exp": "Default float: 3,141593!", |
| "locale": "ro", |
| "params": [{"name": "val", "value": 3.1415926535}] |
| }, |
| { |
| "src": "Default int64: {$val}!", |
| "exp": "Default int64: 1.234.567.890.123.456.789!", |
| "locale": "ro", |
| "params": [{ "name": "val", "value": {"decimal": "1234567890123456789"} }], |
| "comment": "Rounded due to JSON not supporting full 64-bit ints" |
| }, |
| { |
| "src": "Default number: {$val}!", |
| "exp": "Default number: 1.234.567.890.123.456.789,987654!", |
| "locale": "ro", |
| "params": [{ "name": "val", "value": {"decimal": "1234567890123456789.987654321"} }] |
| } |
| ] |
| } |