table:
  locale: en
  grade: 2
  system: ueb
  __assert-match: en-ueb-g2.ctb
tests:

# 6.2.1 page 60

- - '62'
  - '#fb'
- - '1959'
  - '#aiei'
- - 3,500
  - '#c1ejj'
- - '8.93'
  - '#h4ic'
- - '.7'
  - '#4g'
- - '0.7'
  - '#j4g'
- - 8,93
  - '#h1ic'
- - ',7'
  - '#1g'
- - 0,7
  - '#j1g'
- - par. 4.2.2
  - 'p>4 #d4b4b'
- - 4 500 000
  - '#d"ejj"jjj'
- - ⅜
  - '#c/h'
- - 5⅜
  - '#e#c/h'

# 6.3.1 page 61

- - 7:30 a.m.
  - '#g3#cj a4m4'
- - 10:12:2009
  - '#aj3#ab3#bjji'
- - 9-10
  - '#i-#aj'
- - 1914–18
  - '#aiad,-#ah'
- - 2.5-5
  - '#b4e-#e'
- - 8-cab fleet
  - '#h-cab fleet'
- - The score was 4–3
  - ',! score 0 #d,-#c'
- - 7−5 = 2
  - '#g"-#e "7 #b'
- - 2-½
  - '#b-#a/b'
- - ¼-½ tsp
  - '#a/d-#a/b tsp'
- - 6¼–6½
  - '#f#a/d,-#f#a/b'
- - 1/4 cup
  - '#a_/#d cup'
- - model 09/52
  - 'model #ji_/#eb'
- - on call 24/7
  - 'on call #bd_/#g'
- - 7(2)
  - '#g"<#b">'
- - 7(b)
  - '#g"<b">'
- - 4–7
  - '#d,-#g'
- - 4..7
  - '#d44g'
- - '4567'
  - '#d_1#ef_''#g'
  - typeform: {underline: " ++ "}
    xfail: true

# 6.4.1 page 61

- - Piano Sonata No.16 in C major is K.545.
  - ',piano ,sonata ,no4#af 9 ;,c major is ,k4#ede4'
  - xfail: true
- - ⅜ = .375
  - '#c/h "7 #4cge'

# 6.5.2 page 62

- - '32'
  - '#cb'
- - 3b
  - '#c;b'
- - 3B
  - '#c,b'
- - 3m
  - '#cm'
- - '4.2'
  - '#d4b'
- - 4.b
  - '#d4;b'
- - 4.B
  - '#d4,b'
- - 4.m
  - '#d4m'
- - report3.doc
  - report#c4;doc
- - report3.xls
  - report#c4xls

# require super/subscripting
- - … in the Second World War² 1939–1945.³
  - '444 9 ! ,second ,_w ,w>;9#b #aici,-#aide49#c'
  - xfail: true

# 6.5.3 page 62

- - houses4lease
  - h|ses#dlease
- - He came 4th in the race.
  - ',he came #dth 9 ! race4'
- - If you go 1st–will I go 2nd?
  - ',if y g #ast,-w ,i g #bnd8'
- - I have a 6-CD boxed set.
  - ',i h a #f-;,,cd box$ set4'
- - There are 3 beds in this 4-bed ward.
  - ',"! >e #c b$s 9 ? #d-b$ w>d4'
- - in 1970–about March
  - '9 #aigj,-ab ,m>*'
- - 3-dimensional
  - '#c-dim5.nal'
- - 3-D
  - '#c-;,d'
- - The 6-can pack–under seat 6-c.
  - ',! #f-c pack,-"u s1t #f-;c4'
- - only 4–more please
  - 'only #d,-m pl1se'
- - 4-m
  - '#d-;m'
- - 20-yr period
  - '#bj-;yr p}iod'
- - 20yr period
  - '#bjyr p}iod'

# 6.6.1 page 64

- - 'population: 3 245 000'
  - 'popula;n3 #c"bde"jjj'
- - 'ISBN: 978 1 55468 513 4'
  - ',,isbn3 #igh"a"eedfh"eac"d'
  - xfail: true
- - 'phone: (61) 3 1234 5678'
  - 'ph"o3 "<#fa"> #c"abcd"efgh'
- - 'date: 1947 08 31'
  - 'date3 #aidg"jh"ca'
- - 'time: 16 00'
  - '"t3 #af"jj'

# 6.7.1 page 64

- - 7/11/59
  - '#g_/#aa_/#ei'
- - 7.11.59
  - '#g4aa4ei'
- - 1960's
  - '#aifj''s'
- - '''70s and ''80s'
  - '''#gjs & ''#hjs'
- - 10:30 a.m.
  - '#aj3#cj a4m4'
- - 10.30 am
  - '#aj4cj am'
- - $8.75
  - '`s#h4ge'
- - £8.75
  - '`l#h4ge'
- - R8,75
  - ',r#h1ge'
- - $1,500.00
  - '`s#a1ejj4jj'
- - €1.500,00
  - '`e#a4ejj1jj'
- - 2nd
  - '#bnd'
- - 2d
  - '#b;d'

# [premier]
- - 1er
  - '#a;er'
- - M4G 3E8
  - ',m#d,g #c,e#h'
- - W1N 9LF
  - ',w#a,n #i,,lf'
- - N12 7BT
  - ',n#ab #g,,bt'
  - xfail: true
- - (416) 486-2500
  - '"<#daf"> #dhf-#bejj'
- - For a taxi call 13-cabs.
  - ',= a taxi call #ac-cabs4'
- - telephone 1300-vision
  - 'teleph"o #acjj-vi.n'
- - 1-800-SLEEP88
  - '#a-#hjj-,,sleep#hh'
- - ISBN 0-14-300414-X
  - ',,isbn #j-#ad-#cjjdad-;,x'
