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
	AXTitle:
	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

