This tests the accessible text alternatives results for SVG.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


test1:
	Expected name: end
	AXTitle: end
	AXDescription: abc
	AXTitleUIElement: non-null
test2:
	Expected name: end
	AXTitle: end
	AXDescription: 
	AXTitleUIElement: non-null
test3:
	Expected name: end
	AXTitle: end
	AXDescription: abc
	AXTitleUIElement: non-null
test4:
	Expected name: end
	AXTitle: end
	AXDescription: 
	AXTitleUIElement: non-null
test5:
	Expected name: hello
	AXTitle: hello
	AXDescription: abc
	AXTitleUIElement: null
test6:
	Expected name: hello
	AXTitle: hello
	AXDescription: 
	AXTitleUIElement: null
test7:
	Expected name: abc
	AXTitle: abc
	AXDescription: 
	AXTitleUIElement: null
test8:
	Expected name: hi
	AXTitle: hi
	AXDescription: 
	AXTitleUIElement: null
test9:
	Expected name: hi
	AXTitle: hi
	AXDescription: 
	AXTitleUIElement: null
test10:
	Expected name: hi
	AXTitle: hi
	AXDescription: 
	AXTitleUIElement: null
test11:
	Expected name: hola
	AXTitle: hola
	AXDescription: 
	AXTitleUIElement: null
test12:
	Expected name: hola
	AXTitle: hola
	AXDescription: 
	AXTitleUIElement: null
test13:
	Expected name: hola
	AXTitle: hola
	AXDescription: 
	AXTitleUIElement: null
test14:
	Expected name: bob
	AXTitle: bob
	AXDescription: abc
	AXTitleUIElement: null
test15:
	Expected name: bob
	AXTitle: bob
	AXDescription: 
	AXTitleUIElement: null
test16:
	Expected name: abc
	AXTitle: abc
	AXDescription: 
	AXTitleUIElement: null
test17:
	Expected name: (empty)
	AXTitle: 
	AXDescription: 
	AXTitleUIElement: null
test18:
	Expected name: waz up
	AXTitle: waz up
	AXDescription: 
	AXTitleUIElement: null
test19:
	Expected name: Hallo
	AXTitle: Hallo
	AXDescription: 
	AXTitleUIElement: null
test20:
	Expected name: the end
	AXTitle: the end
	AXDescription: 
	AXTitleUIElement: non-null
test21:
	Expected name: big end
	AXTitle: big end
	AXDescription: 
	AXTitleUIElement: non-null
test22:
	Expected name: big end
	AXTitle: big end
	AXDescription: 
	AXTitleUIElement: non-null
test23:
	Expected name: end
	AXTitle: end
	AXDescription: 
	AXTitleUIElement: non-null
test24:
	Expected name: end
	AXTitle: end
	AXDescription: 
	AXTitleUIElement: null
test25:
	Expected name: booth
	AXTitle: booth
	AXDescription: 
	AXTitleUIElement: null
test26:
	Expected name: table
	AXTitle: table
	AXDescription: 
	AXTitleUIElement: null
test27:
	Expected name: counter
	AXTitle: counter
	AXDescription: 
	AXTitleUIElement: null
test28:
	Expected name: counter
	AXTitle: counter
	AXDescription: 
	AXTitleUIElement: null
test29:
	Expected name: counter
	AXTitle: counter
	AXDescription: 
	AXTitleUIElement: null
test30:
	Expected name: boulder
	AXTitle: boulder
	AXDescription: 
	AXTitleUIElement: non-null
test31:
	Expected name: stone
	AXTitle: stone
	AXDescription: 
	AXTitleUIElement: null
test32:
	Expected name: pebble
	AXTitle: pebble
	AXDescription: 
	AXTitleUIElement: null
test33:
	Expected name: rock
	AXTitle: rock
	AXDescription: 
	AXTitleUIElement: null
test34:
	Expected name: rock
	AXTitle: rock
	AXDescription: 
	AXTitleUIElement: null
test35:
	Expected name: stone
	AXTitle: stone
	AXDescription: 
	AXTitleUIElement: null
test36:
	Expected name: stone
	AXTitle: stone
	AXDescription: 
	AXTitleUIElement: null
test37:
	Expected name: piedra
	AXTitle: piedra
	AXDescription: 
	AXTitleUIElement: null
test38:
	Expected name: piedra
	AXTitle: piedra
	AXDescription: 
	AXTitleUIElement: null
test39:
	Expected name: stone
	AXTitle: stone
	AXDescription: 
	AXTitleUIElement: null
test40:
	Expected name: stone
	AXTitle: stone
	AXDescription: 
	AXTitleUIElement: null
test41:
	Expected name: (empty)
	AXTitle: 
	AXDescription: 
	AXTitleUIElement: null
test42:
	Expected name: (empty)
	AXTitle:  
	AXDescription: 
	AXTitleUIElement: null
test43:
	Expected name: (empty)
	AXTitle: 
	AXDescription: 
	AXTitleUIElement: null
test44:
	Expected name: (empty)
	AXTitle:  
	AXDescription: 
	AXTitleUIElement: null
test45:
	Expected name: (empty)
	AXTitle: 
	AXDescription:  
	AXTitleUIElement: null
test46:
	Expected name: (empty)
	AXTitle:  
	AXDescription: 	
	AXTitleUIElement: null
PASS successfullyParsed is true

TEST COMPLETE

