diff --git a/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/Test.as b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/Test.as new file mode 100644 index 0000000000000..d14f8b6b20150 --- /dev/null +++ b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/Test.as @@ -0,0 +1,41 @@ +package { +import flash.display.Sprite; +import flash.text.TextField; +import flash.text.TextFormat; + +[SWF(width="400", height="400")] +public class Test extends Sprite { + private var text:TextField; + + public function Test() { + stage.scaleMode = "noScale"; + text = new TextField(); + text.border = true; + text.x = 10; + text.y = 10; + text.width = 380; + text.height = 380; + text.multiline = true; + text.embedFonts = true; + addChild(text); + + testHtml("x y"); + } + + private function testHtml(htmlText:String):void { + text.htmlText = htmlText; + trace("Text: " + htmlText.replace(/[\r\n]/g, "\\n")); + + testAt(-5); + testAt(-1); + for (var i = 0; i <= text.text.length; ++i) { + testAt(i); + } + } + + private function testAt(charIndex:int):void { + var bounds = text.getCharBoundaries(charIndex); + trace(" text.getCharBoundaries(" + charIndex + ") = " + bounds); + } +} +} diff --git a/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/output.txt b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/output.txt new file mode 100644 index 0000000000000..773bd6b7069f6 --- /dev/null +++ b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/output.txt @@ -0,0 +1,7 @@ +Text: x y + text.getCharBoundaries(-5) = null + text.getCharBoundaries(-1) = null + text.getCharBoundaries(0) = null + text.getCharBoundaries(1) = null + text.getCharBoundaries(2) = null + text.getCharBoundaries(3) = null diff --git a/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/test.swf b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/test.swf new file mode 100644 index 0000000000000..337725223f319 Binary files /dev/null and b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/test.swf differ diff --git a/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/test.toml b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/test.toml new file mode 100644 index 0000000000000..bc5a6a5254909 --- /dev/null +++ b/tests/tests/swfs/avm2/edittext_getcharboundaries_missing_embedded_font/test.toml @@ -0,0 +1,4 @@ +num_ticks = 1 + +# Currently Ruffle falls back to device font on missing embedded font. +known_failure = true