From cd5169d5cd3414698d01cf874cd40effd8acb4cb Mon Sep 17 00:00:00 2001 From: Ian Prest Date: Sat, 18 Jul 2015 20:06:10 -0400 Subject: [PATCH] Testing: Added tests for text positioning & size/color overrides --- tests/kb-spec.js | 17 +++++++++++++++++ tests/screenshots/alignment-flags.png | Bin 0 -> 7433 bytes tests/screenshots/color-overrides.png | Bin 0 -> 4907 bytes tests/screenshots/legend-sizes.png | Bin 0 -> 6895 bytes 4 files changed, 17 insertions(+) create mode 100644 tests/screenshots/alignment-flags.png create mode 100644 tests/screenshots/color-overrides.png create mode 100644 tests/screenshots/legend-sizes.png diff --git a/tests/kb-spec.js b/tests/kb-spec.js index 955ca73..b42f095 100644 --- a/tests/kb-spec.js +++ b/tests/kb-spec.js @@ -47,6 +47,23 @@ describe('keyboard-layout-editor', function() { }); }); + describe('text positioning', function() { + it('alignment flags', function() { + browser.get(home + "##@@_a:0%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:1%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:2%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:3%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4%3B&@_a:4%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:5%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:6%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:7%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4"); + kbScreenshot(); + }); + + it('legend sizes', function() { + browser.get(home + "##@@_a:0&f:5&f2:1%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:1%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:2%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:3%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4%3B&@_a:4%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:5%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:6%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_a:7%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4"); + kbScreenshot(); + }); + + it('color overrides', function() { + browser.get(home + "##@@_t=%230000ff%0A%0A%23ff0000&a:0%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_t=%2300ff00%0A%0A%0A%0A%0A%0A%23ff0000&a:1%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_t=%230000ff%0A%0A%23ff0000&a:2%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4&_t=%2300ff00%0A%0A%0A%0A%23ff0000&a:3%3B&=1%0A5%0A2%0A6%0A7%0A8%0A3%0A4"); + kbScreenshot(); + }); + }); + // Check for exceptions thrown during each scenario afterEach(function() { browser.manage().logs().get('browser').then(function(browserLog) { diff --git a/tests/screenshots/alignment-flags.png b/tests/screenshots/alignment-flags.png new file mode 100644 index 0000000000000000000000000000000000000000..ddb8527f8b0ae4b3a6ca4c6d472e468e874a5d39 GIT binary patch literal 7433 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 Ofx*+&&t;ucLK6U%HO2h0QbRbq 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 Lu6{1-oD!M