From 65f4d2cf1ee3bf0ec3399275dadcc9b0a64426aa Mon Sep 17 00:00:00 2001 From: David Wendt Date: Thu, 18 Jun 2020 21:47:56 -0400 Subject: [PATCH] Add regression tests for `underline`. We're within 4px in every case. --- core/tests/regression_tests.rs | 1 + .../swfs/avm1/edittext_underline/output.txt | 40 ++++++++++++++++++ .../swfs/avm1/edittext_underline/test.fla | Bin 0 -> 56320 bytes .../swfs/avm1/edittext_underline/test.swf | Bin 0 -> 12585 bytes 4 files changed, 41 insertions(+) create mode 100644 core/tests/swfs/avm1/edittext_underline/output.txt create mode 100644 core/tests/swfs/avm1/edittext_underline/test.fla create mode 100644 core/tests/swfs/avm1/edittext_underline/test.swf diff --git a/core/tests/regression_tests.rs b/core/tests/regression_tests.rs index c71c9f1bd..12d8f1799 100644 --- a/core/tests/regression_tests.rs +++ b/core/tests/regression_tests.rs @@ -216,6 +216,7 @@ swf_tests_approx! { (edittext_margins, "avm1/edittext_margins", 1, 3.0), (edittext_tab_stops, "avm1/edittext_tab_stops", 1, 5.0), (edittext_bullet, "avm1/edittext_bullet", 1, 3.0), + (edittext_underline, "avm1/edittext_underline", 1, 4.0), } /// Wrapper around string slice that makes debug output `{:?}` to print string same way as `{}`. diff --git a/core/tests/swfs/avm1/edittext_underline/output.txt b/core/tests/swfs/avm1/edittext_underline/output.txt new file mode 100644 index 000000000..080d1407e --- /dev/null +++ b/core/tests/swfs/avm1/edittext_underline/output.txt @@ -0,0 +1,40 @@ +//Creating left aligned text w/ wordwrap, multiline +//field.textWidth +241 +//field.textHeight +52 +//Creating center aligned text w/ wordwrap, multiline +//field.textWidth +237 +//field.textHeight +52 +//Creating right aligned text w/ wordwrap, multiline +//field.textWidth +237 +//field.textHeight +52 +//Creating justified text w/ wordwrap, multiline +//field.textWidth +237 +//field.textHeight +52 +//Creating left aligned text w/ wordwrap, multiline & long text +//field.textWidth +245 +//field.textHeight +144 +//Creating center aligned text w/ wordwrap, multiline & long text +//field.textWidth +241 +//field.textHeight +144 +//Creating right aligned text w/ wordwrap, multiline & long text +//field.textWidth +241 +//field.textHeight +144 +//Creating justified text w/ wordwrap, multiline & long text +//field.textWidth +241 +//field.textHeight +144 diff --git a/core/tests/swfs/avm1/edittext_underline/test.fla b/core/tests/swfs/avm1/edittext_underline/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..afc69f41cdc17f60db8e7bb5b412016bcf072137 GIT binary patch literal 56320 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 L5d8lEB|X2cDtm!E literal 0 HcmV?d00001