!! test
Simple conversion
!! input
{{#convert: 10 m | km }}
!!result
0.01 kilometers
!! end
!! test
Position and formatting of numbers and units
!! input
*{{#convert: 10 m | km }}
*{{#convert: 10m | km }}
*{{#convert: 10 km | m }}
*{{#convert: 10-km | m }}
*{{#convert: 10E2 km | m }}
*{{#convert: 10E-2 km | m }}
*{{#convert: 10.0E2 km | m }}
*{{#convert: 10.0E2.5 km | m }}
!! result
- 0.01 kilometers
- 0.01kilometers
- 10,000 meters
- 10,000-meters
- 1,000,000 meters
- 100 meters
- 1,000,000 meters
- 1,000,000.5,000 meters
!! end
!! test
Precision 1
!! input
*{{#convert: 10 m | km }}
*{{#convert: 11 m | km }}
*{{#convert: 12 m | km }}
*{{#convert: 13 m | km }}
*{{#convert: 14 m | km }}
*{{#convert: 15 m | km }}
*{{#convert: 16 m | km }}
*{{#convert: 17 m | km }}
*{{#convert: 18 m | km }}
*{{#convert: 19 m | km }}
*{{#convert: 20 m | km }}
!! result
- 0.01 kilometers
- 0.011 kilometers
- 0.012 kilometers
- 0.013 kilometers
- 0.014 kilometers
- 0.015 kilometers
- 0.016 kilometers
- 0.017 kilometers
- 0.018 kilometers
- 0.019 kilometers
- 0.02 kilometers
!! end
!! test
Precision 2
!! input
*{{#convert: 10.0 m | km }}
*{{#convert: 10.1 m | km }}
*{{#convert: 10.2 m | km }}
*{{#convert: 10.3 m | km }}
*{{#convert: 10.4 m | km }}
*{{#convert: 10.5 m | km }}
*{{#convert: 10.6 m | km }}
*{{#convert: 10.7 m | km }}
!! result
- 0.0100 kilometers
- 0.0101 kilometers
- 0.0102 kilometers
- 0.0103 kilometers
- 0.0104 kilometers
- 0.0105 kilometers
- 0.0106 kilometers
- 0.0107 kilometers
!! end
!! test
String interpolation
!! input
{{#convert: 25, 26, 27, 28, 29, and 30 km }}
!! result
25,000, 26,000, 27,000, 28,000, 29,000, and 30,000 meters
!! end
!! test
Precision 3
!! input
{{#convert: 25, 26, 27, 28, 29, and 30 miles }}
!! result
40,000, 42,000, 43,000, 45,000, 47,000, and 50,000 meters
!! end
!! test
Precision 4
!! input
{{#convert:35000, 35E3, 35.0E3, 350E2, 3.500E4, 35000E0, 350000E-1 m | km }}
!! result
35, 35, 35.0, 35, 35.00, 35, 35 kilometers
!! end
!! test
#sourceunit
!!input
*{{#convert: 25 | #sourceunit = km }}
*{{#convert: 25 | #sourceunit=km }}
*{{#convert: 25 | #sourceunit = km | #sourceunit = mm }}
*{{#convert: 25 | #sourceunit = km | cm }}
!! result
- 25,000 meters
- 25,000 meters
- 0.025 meters
- 2,500,000 centimeters
!! end
!! test
Precision overrides
!!input
*{{#convert: 1 mi | #dp = 0 }}
*{{#convert: 1 mi | #dp=1 }}
*{{#convert: 1 mi | #dp = -2 }}
*{{#convert: 1 mi | #dp = 5 }}
*{{#convert: 1 mi | #dp = -8 }}
*{{#convert: 1 mi | #sf = 0 }}
*{{#convert: 1 mi | #sf=1 }}
*{{#convert: 1 mi | #sf = 3 }}
*{{#convert: 1 mi | #sf = 5 }}
*{{#convert: 1 mi | #sf = -8 }}
!! result
- 1,609 meters
- 1,609.3 meters
- 1,600 meters
- 1,609.344 meters
- 0 meters
- 2,000 meters
- 2,000 meters
- 1,610 meters
- 1,609.3 meters
- 2,000 meters
!! end
!! test
Errors
!! input
*{{#convert: 25 | km }}
*{{#convert: 25 foobars | mi }}
*{{#convert: 25 mi | #sourceunit = foobar }}
*{{#convert: 25 km | s }}
*{{#convert: 25 km/Pa | m/Pa }}
*{{#convert: 25 km/s/l }}
*{{#convert: 25 km/m3 }}
!! result
- Error: no source unit given
- Error: unknown unit "foobars"
- Error: unknown unit "foobar"
- Error: cannot convert between units of "length" and "time"
- Error: invalid compound unit "length/pressure"
- Error: cannot parse double compound units like "km/s/l"
- Error: invalid compound unit "length/volume"
!! end
!! test
#sourceunit = #targetunit
!! input
*{{#convert: 25 km | #targetunit = #sourceunit }}
*{{#convert: 25 km | #sourceunit = #targetunit }}
!! result
- 25 kilometers
- 25 kilometers
!! end
!! test
#language
!! input
*{{#convert: 10 m | km | #language=en-gb }}
*{{#convert: 10m | km | #language = en-gb }}
*{{#convert: 10 km | m |#language=en-gb}}
*{{#convert: 10 pa | mmhg | #language = en-gb }}
*{{#convert: 10 pa | mmhg | #language = /../evil/attack }}
!! result
- 0.01 kilometres
- 0.01kilometres
- 10,000 metres
- 0.1 milimetres of mercury
- 0.1 milimeters of mercury
!! end