Commit Graph

279 Commits

Author SHA1 Message Date
Daniel Kolesa b1078babb6 eo tests, evas filter tests: fix compiler warnings 2015-07-23 10:07:23 +01:00
Daniel Hirt 74ad947ded Evas textblock: Clear unused paragraphs
This fixes a scenario in which paragraphs in the current layout still
store visual lines from the previous layout. This is possible if the
text uses an ellipsis format, allowing the layout work to stop at a
certain paragraph. This inconsistency affects some query functions that
consider lines which may be irrelevant in the current layout.

Test Case: see added test case to evas_suite.

@fix
2015-07-14 16:04:40 +03:00
Daniel Hirt e8afd5241c Evas Textblock: Add obstacle objects feature
Summary:
Introducing a new feature for Evas Textblock. This allows the layout to
wrap around other evas objects.
The following API is added:
 - obstacle_add
 - obstacle_del
 - obstacle_update
Evas objects can now serve as textblock obstacles, if positioned and
visible on the text area. The text will wrap around the obstacles
according to the wrapping mode set to it.

This also modifies the current wrapping code to handle obstacle wrap
points as well. The wrap index query function is modified so that
forward-scanning (specific cases) may be disabled when treating
obstacle wrap point.

RTL text is currently unsupported by this feature.
Consult added docs and example for usage.

@feature

Test Plan: Evas example and test in evas_suite are provided with this.

Reviewers: tasn

Subscribers: raster, JackDanielZ, cedric

Differential Revision: https://phab.enlightenment.org/D2405
2015-07-01 16:24:31 +01:00
Daniel Hirt 0de8ebbb3a Evas textblock: Fix infinite loop case
This fixes a case with wrapping, where the text has a mixture of 'none'
and 'word' wrapping modes, and the layout function decides to
roll-back a few items.
The test case is added to the evas_suite.
This might not be a common case, or even a case we had defined a proper
behavior to, but since it causes an infinite loop, it needs to be fixed.

@fix
2015-06-29 16:43:49 +03:00
Tom Hacohen 76ff4430a2 Evas textblock: Fix the newly added test to use ck_assert_int_eq. 2015-06-26 15:24:56 +01:00
Vladyslav Shevchenko fbfeb9af48 Evas textblock: Add a failing test for line_coord_set.
See more information in the next commit.

This commit message was edited by TAsn, and only the test case preserved
from the original commit in D2574.
2015-06-26 15:21:05 +01:00
Jean-Philippe Andre 0446619355 Evas filters: Mark API as @beta
Until we're happy with it, keep the API as beta.

The EDC support should not change, and the Lua either, but the
API could potentially still change to accomodate for new needs
(vector graphics, anyone?). If we're happy with the current
interface, then we can remove the @beta flags.
2015-06-25 14:36:10 +09:00
Jean-Philippe Andre 068b9d5a5f Evas tests: Fix failing tests
Syntax error in C and in Lua code.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 84e3dd5c34 Evas filters: Add name to the filters
Deep down internally there was already a name, but no API could
really set it properly.
Here Edje will set the name of the filter based on the part name
or the data item name if relevant.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 351090f95d Evas tests: Fix failing test due to API change
The new Lua color function is more lax than before, and
invalid color names will default to black without failing.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 64fd278c62 Evas filters: EO-ify the filters API
This creates the new interface
 Efl.Gfx.Filter

And the implementation is a mixin (evas_filter_mixin.c):
 Evas.Filter

All the filter rendering code has now been moved to this
new file. TODO: Merge image filtering.
2015-06-25 14:36:09 +09:00
Daniel Kolesa 06e3a330fe evas_test_mesh: 3d -> canvas3d (fixes broken test compile) 2015-06-17 17:30:05 +01:00
jiin.moon 63a12d7d26 emile: fix region load for jpeg image with orientation different set.
Summary:
If you try to load the jpeg image with an orientation mode defined
using elm_photocam, you can see the broken image(in canse of 90 degree)
or even segmentation fault can happen (in case of 180,270 degree)

@fix

Test Plan: photocam menu on elementary_test

Reviewers: Hermet, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2593

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-03 13:46:44 +02:00
Subodh Kumar 77e3ac7f82 Evas textblock: Add underline height support
Summary:
For showing text error like spell error thick underline is used hence added the underline height support.

@feature

Test Plan: test case added in evas textblock test.

Reviewers: raster, shilpasingh, tasn

Subscribers: govi, rajeshps, cedric

Differential Revision: https://phab.enlightenment.org/D2531

TAsn comment: I wonder if the format should be renamed to
underline_relheight instead of height. If you have any thoughts, please
let me know.
2015-05-27 11:18:19 +01:00
Jean-Philippe Andre d766a765e3 Evas tests: Add callback_del order test 2015-04-20 16:51:00 +09:00
Jean-Philippe Andre 6eff3fa3f5 Evas tests: Add debug logs telling people to ignore ERR
Some of the ERR messages are expected and it's part of the
test suite to test for invalid cases (parsing stuff).
2015-04-20 16:41:12 +09:00
kabeer khan 757c7c3f10 evas: add image_orient_set/get tests in evas tests suite.
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2239

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-06 16:37:52 +02:00
Cedric BAIL c08f8e26a6 efl: add Efl.Gfx.Base and fix inheritance for Evas_Object. 2015-04-03 16:23:17 +02:00
Cedric BAIL c2e75544e1 efl: move mmap API to be part of Efl_File class. 2015-04-03 16:23:13 +02:00
Jean-Philippe ANDRE 6638c7af90 Evas: Fix invalid test case
No idea how it worked before. It shouldn't. It was invalid.
But somehow evas_suite decided to start crashing on this test.
2015-03-23 15:56:40 -07:00
Stefan Schmidt 7415a5fc36 tests/evas: Enable evas 3d mesh test case again after the code got fixed.
The problem have been in the new evas block/unblock code which did not work
for evas 3d. Thanks to Bogdan for spotting it and raster for reverting the
3d part for now to keep the code working.

Fixes T2104
2015-02-12 14:45:53 +01:00
Stefan Schmidt 8c7c48a3f7 tests/evas: Disable segfaulting evas_object_mesh_loader_saver
This test case segfault on jenkins as well as on my devel machine.
Disable until fixed.

ref T2104
2015-02-12 10:23:50 +01:00
Bogdan Devichev 1506130866 evas: Evas_3D - iport/export of Obj format can be read even if obj-file does not have normals or tex-coords.
Summary:
This commit fixed several bugs, and show what was be fixed.

Bugs:
- When designer save obj file in Blender, he/she can set flags (fig 1). Normals and UV coords flags was necessary  for obj loader. Loader crushed when they are not set as true. It fixed by this commit.
- Another loaders set default values to data which aren't in loading file, so mesh need more memory for unused data. It fixed by this commit for obj and will be fixed for another formats in future.
- Saver saved incorrect data if normals or tex_coords was not set in mesh in evas. Now it fixed.
- Saver failed if it save mesh without material. It fixed and in this case material file is not created now.
- Also fixed some leaks and undefined behavior which valgrind shows.

Example:
- Example shows cases described above. Example use files saved with different flags for it.

Resources:
- man_mesh is replaced by several smaller file, to use them for showing new features and fixes. For example, similar to that models can be added when implement work with material for obj, work with different flags for obj loader/saver etc. (big count of man_meshes is to much memory).
- texture for home is flipped, because of bug with texture in efl to see if tex_coords is incorrect.

Test:
- test should be rewritten in future, because another formats still use default values for normals and tex_coords. And test can not pass for all types of obj file because of standardization for any format in him.

Test Plan: Test suit will be rewritten after correcting of other formats (they will set NULL to file when save an empty data (like mesh without normals))

Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1957

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-11 18:31:53 +01:00
Youngbok Shin 2d40315127 evas text: fix _ellipsis_get to return -1.0 on failure.
Summary:
When getting ellipsis value from evas text object fails,
the most reasonable return value is -1.0.
Currently, evas_object_text_ellipsis_get API with NULL returns 0.0.
It means ellipsis is not off. It must return -1.0 when API fails.
@fix

Comments by Tom: until now, this was inconsistent. With this change, it
now returns -1.0 consistently. Also, fixed commit summary.

Reviewers: woohyun, Hermet, seoz, tasn

Reviewed By: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1944
2015-02-09 17:31:35 +00:00
pierre lamot 17e73dca05 evas: jpeg decoders alows a difference of 1 bit per component.
The required precision of decompressed images allows a difference of
1 bit for each pixel compoment [1] . Such difference has been noticed
on OSX when using libjpeg9 from macports.

evas_suite images tests has been modified to compare jpeg images with
this tolerance. Other image formats are still compare with exact
precision

[1] http://en.wikipedia.org/wiki/JPEG#Required_precision

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-02-05 16:38:06 +01:00
michelle legrand b71229ac47 check: fix tests suites on Windows
Disable timeout because we cannot fork on Windows.

@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-01-30 10:49:54 +01:00
Cedric BAIL 311ea67b65 evas: add new test for bug in BMP loader. 2015-01-26 11:02:14 +01:00
Cedric BAIL c54c2d94c2 evas: fix tests to actually test image ! 2015-01-26 11:01:44 +01:00
Jean-Philippe Andre 21984b1d58 Evas masking: Add some test cases
Here are only 3 very basic test cases.

One is a dumb set/get to check that image objects can
be passed as clippers.

The other one is a pixel verification test with extremely
basic data (NEAREST scaling and just rectangles). It also
compares text clipping and masking.

The last one performs a very basic verification that masks
of masks work.
2015-01-07 15:06:03 +09:00
Jean-Philippe Andre a86f799542 tests: Remove file after Evas 3D save test
This should remove src/.eet and maybe src/.ply

make distcheck would fail on my machine because src/.eet
was not removed.
2015-01-07 15:05:04 +09:00
Cedric BAIL 21707789d7 evas: check for grayscale png and jpeg. 2014-12-28 22:14:05 +01:00
Bogdan Devichev c471665ac8 evas: make Evas 3d mesh is inherited from Efl.File (functions file_set and save) 2014-12-23 21:20:21 +01:00
Bogdan Devichev dd60525798 evas: a _mmap version of the file_set is added. 2014-12-23 21:20:21 +01:00
Bogdan Devichev 4acbae6947 evas: test cases are changed according to changes of API in step 4. Specific logic in obj_saver is removed for standardization of API. 2014-12-23 21:16:19 +01:00
Thiep Ha c30303d7e8 edje entry: improve selection performance
Summary:
The selection performance is slow if we select large chunk of text.
This is caused by many rectangles created and deleted.
This patch provides a way to improve it by combine selection rectangles
of line in middle into one rectangles (i.e, if we have N lines,
the selection rectangle for lines 2 to N-1 will be combined into one.)

@feature

Reviewers: raster, cedric, tasn

Subscribers: herdsman, woohyun, cedric

Differential Revision: https://phab.enlightenment.org/D1508
2014-11-26 11:29:09 +00:00
Thiep Ha e9a40835f2 textblock: correct text position for RTL text with margins
Summary:
If a RTL textblock has right margin, text is wrongly placed
(right margin is moved to left).
This patch fixes this issue.
Test cases are also added to test text position with margins.

@fix

Reviewers: tasn, herdsman

Subscribers: woohyun, cedric

Differential Revision: https://phab.enlightenment.org/D1691
2014-11-26 10:18:49 +02:00
Bogdan Devichev d896dfb342 evas: Evas_3D - add .ply export/import.
Summary:
.ply format is important for relation blender and EFl, because in blender exist only two mesh export API: bpy.ops.import_mesh.ply and bpy.ops.import_mesh.stl. One of them is necessary for .edc 3D generator. Which I writing now.
Sorry, it isn't like image loader. Refactoring of import/export will be soon.

Reviewers: Oleksander, artem.popov, Hermet, raster, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1544

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-11-14 07:11:15 +01:00
Cedric BAIL 5c8a8a51ce evas: tests only for extension compiled in. 2014-10-22 14:15:32 +02:00
Cedric BAIL f7e07b4914 evas: tests more file format loader.
NOTE: It seems that the xpm one is broken. If somebody could give it
a better look and check if it work for him or not, before opening a bug
in phab.
2014-10-21 23:42:03 +02:00
Daniel Zaoui 31f2e6e88a Evas-3D Tests: fix Eo usage.
There are still Valgrind (invalid read) issues but at least, it doesn't
segfault more.
2014-10-21 11:09:51 +03:00
Bogdan Devichev 5d004c80f7 evas: Evas_3D - add .eet export/import
Summary: The first version of .eet format is added. All changes due to discussion in D1307 are done.

Reviewers: artem.popov, se.osadchy, reutskiy.v.v, Hermet, raster, cedric, Oleksander

@feature

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1477

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-10-06 16:47:25 +02:00
Cedric BAIL 308f000b39 evas: tests tgv file decoding. 2014-10-02 16:52:30 +02:00
Thiep Ha dee98ea248 evas textblock: return text direction for under cursor in cursor geometry get
Summary:
Currently, in cursor geometry get function, the text direction is not
returned if cursor is under cursor.
This patch fixs it by returning text direction for under cursor.

@fix

Reviewers: tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1505
2014-10-02 08:36:35 +01:00
Daniel Hirt fae337469e Evas Textblock: Fix native width of BiDi text
Summary:
This fixes an issue that causes BiDi text to get wrapped even when
resizing the textblock to its native size.
The way we find the last visual item in the native line is wrong. The
'visual_pos' describes the visual position in the formatted layout, in
which wrapping may occur. So, this is really bad to use it for native
width calculations as well.
Also, there's no need to actually reorder the line - we just need the
last visual item.
This adds and uses a function very similar to _layout_line_reorder, in
which we retrieve the last visual item in the native line. This
function does not do any actual reordering, as the native layout is
disposed of after calculation is done.

Also, added GET_ITEM_LEN macro for convenience.

Fixes T1532

@fix

Test Plan: Added to evas textblock test suite in this patch

Reviewers: tasn

Subscribers: id213sin, JackDanielZ, cedric

Maniphest Tasks: T1532

Differential Revision: https://phab.enlightenment.org/D1353
2014-10-01 16:45:58 +01:00
Daniel Hirt a4d716d1c0 Evas Textblock: Fix bad empty line add on wrapping
Summary:
In some cases of char or word wrapping, an empty line might be
accidentally added at the end of the paragraph. That line contains
no items. Of course, this line should not exist.
One outcome of this is that it causes wrong height values of the
paragraph, when the finalizing code uses the
_layout_last_line_max_descent_adjust_calc, which in turn
looks at that empty line to calculate the descent values.

@fix

Test Plan: Char-wrap and word-wrap tests to test suite included in this revision.

Reviewers: tasn

Subscribers: JackDanielZ, cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1444
2014-09-26 13:20:14 +01:00
Jean-Philippe ANDRE e096a3490b Evas filters: Fix parsing of argument lists
Make check would even fail on 32bit machines because of that:
Lua tables are not arrays and lua_next doesn't ensure the order
of the elements as I wrongly assumed.

@fix
Fixes T1615
2014-09-19 10:33:24 +09:00
Youngbok Shin 15281561e5 evas textblock: fixed ellipsis character cut off issue with complex markup text.
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.
And there was a bug in the patch when text is displayed in two lines or more.
The bug is also fixed.

Fixes Phab ticket T1213

@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, seoz, sohyun, tasn, raster

Subscribers: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D1360
2014-09-02 11:47:36 +01:00
Tom Hacohen 4f3ab0db34 Evas textblock: Add a test for multiline ellipsis.
This tests that even with multiline ellipsis, the ellipsis in the second
line is not overdone (i.e it only does ellipsis as needed).

This is a test for something we found out when we applied D1311 (for T1213).
2014-08-20 16:19:44 +01:00
Tom Hacohen 841191d907 Evas textblock: Fix BiDi text cut-off at the edges.
This patch fixes an issue causing text to be cut off in some cases.
The problem was that we were calculating line width and alignment before
we did any bidi calculations, which in turn caused us to use the wrong
text items for those calculations.

Many thanks to Daniel Hirt for investigating this deeply, finding all
the nitty-gritty and generally pointing me to where the problem is.
Daniel also provided the test case.
His patch (D1291) was close, but not enough.

Fixes T1496

@Fix
2014-08-20 15:10:23 +01:00
Carsten Haitzler 9a91261a4e Revert "evas textblock: fixed ellipsis character cut off issue with complex markup text."
This reverts commit d408408283.

this breaks mult-line "long" filenames in efm. 2nd line is just ...
for almost all of them (ones that are actually in need of 3 or more
lines). break break! REVERT!
2014-08-20 12:03:14 +09:00
Youngbok Shin d408408283 evas textblock: fixed ellipsis character cut off issue with complex markup text.
Summary:
Evas Textblock ellipsis is handled in a item.
When the ellipsis item is added in the text, some characters are cut off
considering width of ellipsis character.
But, it is handled in only one text item.
If there are many short text item, the ellipsis item can be cut off visually.

Fixes Phab ticket T1213

@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, seoz, sohyun, tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1311
2014-08-19 15:20:35 +01:00
Youngbok Shin 7a87f322f4 textblock: Update visual_pos before calling _size_native_calc_line_finalize.
Summary:
In items loop of _size_native_calc_line_finalize,
last_it should be replaced with new item according to position.
But, visual_pos is not prepared and it is always zero in the function.
So, we need to update visual_pos.
And when textblock only has LTR text,
we can replace last_it according to item list sequence.
@fix

Test Plan:
It includes test cases using the following test case.
 1. "i<b>。</b>"
 2. "。<b>i</b>"

Reviewers: seoz, woohyun, sohyun, tasn

Subscribers: raster, herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D859
2014-08-06 10:40:02 +01:00
Youngbok Shin 1984961ba6 evas/textblock: fix to keep original format when a markup tag is matched to a style tag.
Summary:
We can define a style tag as opener, closer and own closer.
If there is a markup tag that is matched to style tag,
it is reprocessed to format node inside of textblock.
But, when the format node will be converted to markup text,
'/' character can be appended to text at closer and own closer style tag.
Even if original markup tag does not has '/' character,
it will be appended according to format node information.

It makes some issue when compare input text with output text.
@fix

Test Plan: This commit includes test case.

Reviewers: woohyun, raster, sohyun, tasn

Subscribers: herdsman, cedric

Differential Revision: https://phab.enlightenment.org/D1037
2014-08-05 10:26:05 +01:00
Wonguk 3a0e0df84a evas tests: remove TODO comment already done 2014-08-04 17:15:54 +02:00
Thiep Ha 104f04eda1 Evas textblock: Correct word start/end moving at new line or line begins with spaces
Summary:
Word start/end works incorrectly when it goes to new line or line begins with spaces.
Ex: In elementary_test/Entry, place cursor at the end of line, press ctrl + right arrow keys: cursor moves to begin of next line. In this case, cursor should move to end of 1st word in next line.
Ex2: In elementary_test/Entry, add some spaces to begin of 2nd line ("   uses markup"), place cursor at the first word ("uses"), press ctrl + left arrow keys twice, cursor moves to begin of 2nd line. In this case, cursor should move to begin of last word in 1st line.

This patch provides a fix by considerring next/previous text node to move cursor to correct place.

@fix

Reviewers: woohyun, raster, tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1140
2014-08-04 11:01:51 +01:00
Wonguk Jeong 23815453f4 evas: jpeg loader - add tests for EXIF flip, transpose, transverse.
Summary:
Previously, there was rotation test only. (90 CW, 180 CW, 90 CCW)
Flip vertically, flip horizontally, transpose, transverse tests are added

D1126 will make added tests be passed.

Reviewers: raster, cedric, jpeg

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D1127

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-06 20:12:31 +02:00
Wonguk Jeong 573f477272 jpeg laoder: exif orientation test added
Summary:
currently, normal orientation tests are only added.
I'm going to add flipped orientation tests as well after I put related code in jpeg loader (currently it's not supported)

Reviewers: raster, cedric, jpeg

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D1098
2014-06-29 13:04:16 +02:00
Daniel Hirt 2b40860f78 Evas/Textblock: Introduce PS deletion bug test and fix
Summary:
This test should make the test suite fail. It sets "a<ps>b" and
"a<ps/>b" markups, and deletes the PS format. Essentially, these two
different markups should have the same result by this deletion. Instead,
only the <ps/> format gets deleted properly.
A follow-up commit is added with this as a fix.

Evas/Textblock: fix deletion of PS bug

Fixes an issue with deletion of "<ps>". Format deletion was only
performed for formats that are own-closers. This sets the paragraph
separator to be an own-closer format.

@fix

Reviewers: tasn

Reviewed By: tasn

CC: JackDanielZ, id213sin

Differential Revision: https://phab.enlightenment.org/D1046
2014-06-17 11:11:33 +01:00
Youngbok Shin 3e81b73aa8 evas/tests - textblock: add a test case for item format with ellipsis.
Summary:
When item format is cutoff by ellipsis, *_cursor_format_item_geometry_get API
should be failed at the item position.
But, it can be success and returns abnormal geometry.

Reviewers: woohyun, tasn

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D974
2014-06-10 15:17:41 +01:00
Tom Hacohen 3b70b4f28f Evas textblock: Fix crash when cutting ligatures with formats.
"f<color=#f00>i</color>f" could cause textblock to crash. It doesn't
crash anymore. It doesn't render the colours correctly either, but at
least this is the first step.

This is the start of fixing T1308

@bugfix
2014-06-04 10:14:24 +01:00
Daniel Hirt 177135ff0d Evas/Textblock: add support for ellipsis values
Summary:
This enables textblock to support more values other than 1.0.
For 0 <= ellipsis < 1.0, it splits the text such that it fits the
textblock's width. The ellipsis is relatively position according to the
ellipsis value, and characters are removed also relatively.
For example, a value of 0.5 will position the ellipsis right in the
center of the textblock's width, while removing characters equally right
and left from the center.

Basic approach to this feature was to do some work before the layout
process. We calculate the expected total width of the items, and by how
much we exceed from the textblock's width. Afterwards is it just some
careful work to set the boundaries of the width we want to cut, and
deciding which characters we need to removed to fulfill this requirement.
The rest is splitting the text and visually-removing the part we
need to cut.
This is all handled before any logical lines are created, so the
_layout_par function remains almost intact. A designated _ellip_prev_it
field in the Paragraph struct instructs after which item we place the
ellipsis item, if at all.

Note that we keep the fast path for ellipsis 1.0, as heavier work needs
to be done for the other values.

Added tests to evas_suite for a range of ellipsis values.

Also, multiline is unsupported at the moment.
@feature

Test Plan: Anything that uses Evas Textblock (single-line, please)

Reviewers: tasn, id213sin, raster

CC: cedric, JackDanielZ, raster

Differential Revision: https://phab.enlightenment.org/D905
2014-05-29 15:52:01 +01:00
Youngbok Shin e4158510bd evas/text: add text ellipsis test case for ligatures special case.
Summary:
Some fonts has combination information for "ff".
When harfbuzz is enabled with the font, evas text ellipsis logic can be broken.

Reviewers: tasn, woohyun, cedric

Reviewed By: tasn

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D870

Some comment/commit message improvements by TAsn.
2014-05-21 10:41:29 +01:00
Jean-Philippe Andre 7a6943ad1e Evas test: Update filters tests (Lua) - part 2
Rendering & padding tests
2014-05-09 16:57:39 +09:00
Jean-Philippe Andre 4c4d65c388 Evas test: Update filters test (Lua) - part 1 2014-05-09 16:57:39 +09:00
Jean-Philippe Andre 1a43bb565c tests: Disable the evas filters test suite for now
Yes, it's a bad move. But I'd rather avoid breaking make check
for now until I have a proper test suite.

The script language has been changed to Lua, and so its
limitations and syntax are not the same. Remember this is a beta
API so it shouldn't even be exposed to normal apps.
2014-04-27 17:41:40 +09:00
Jean-Philippe Andre 59cf013db9 Evas filters: Add support for Evas_Object_Image
This adds filter support to Image objects as well.
The exact same filters can run on Text and on Images
(provided some colorspace limitations are respected).

This basically adds:
- Support for RGBA input buffer
- Eo entry points for Image filter support
- Implement basic filter support in Evas_Image
2014-04-27 17:41:40 +09:00
Daniel Zaoui dbe02d593e Tests: fix annoying warning.
The function is not used so I commented it, in case it has to be used
later.
2014-04-27 11:05:03 +03:00
Tom Hacohen 30506b9025 Revert "tests: Add a case for ellipsis in complex markup text."
Opened a task (1151) for it and should revert this when ready to fix.

This reverts commit 9128ac82a0.
2014-04-03 11:52:00 +01:00
Youngbok Shin 9128ac82a0 tests: Add a case for ellipsis in complex markup text.
Summary: Evas textblock can't cut off text properly when it has separated items.

Reviewers: tasn, woohyun, raster

Reviewed By: raster

CC: cedric, herdsman

Differential Revision: https://phab.enlightenment.org/D667
2014-04-02 15:57:17 +09:00
Cedric BAIL 52a36461b8 evas: add infrastructure and basic tests for loading image. 2014-04-01 22:00:14 +09:00
Jean-Philippe Andre 0a6d2e6b29 tests: Add case for filters' padding_set
Test that the padding is correct and the instruction is valid.
2014-03-26 10:48:12 +09:00
Tom Hacohen aad13a286f Evas text: Make tests more lax so they'll work on Ubuntu.
It seems that a different version of freetype is causing some different
values to be calculated for some glyphs. Also, we consider the whole
font list when calculating max ascent/descent, so there will always be
differences there.

This commit just laxes the tests, requiring the values to be at least
the values we expect from our font.

Fixes T1079
2014-03-18 15:02:13 +00:00
Tom Hacohen d175b8aa69 Evas textblock: Fix clipping issues with some texts with width > advance.
This happens with many texts. The issue occurs when the width of the
last char is larger than it's advance. Before this patch, we didn't the
width into account when calculating width, thus causing clipping issues
in some cases.
2014-03-10 14:58:18 +00:00
Jean-Philippe Andre 2fe5656b63 Evas filters: Improve test coverage of the filters
LCOV reports > 80% of coverage in evas/filters.
2014-02-20 13:27:43 +09:00
Jean-Philippe Andre 18a7939f41 Evas filters: Add render test cases with pixel verification
Force render into an Ecore_Evas, and check that the pixels
are valid:
- Not all transparent (can't really happen)
- Not all black (since there's a black rect behind the text)
- All valid premultiplied values (A >= R,G,B)

Yes, it's a bit slow. But at least it really checks something :)
2014-02-20 13:27:43 +09:00
Jean-Philippe Andre e797f7f4c4 Evas filters: Add more test cases
Set filter on a text object and check the object's geometry.
Get the padding and the geometry so we're sure they match.

Also, pad_get would return 0 if the filter did not compile,
so this checks that these filters are valid.
2014-02-20 13:27:42 +09:00
Jean-Philippe Andre 78c7931575 Evas filters: Add test cases for the script parser
Basic syntax checks and instructions coverage.
2014-02-20 13:27:42 +09:00
Tom Hacohen 00b2974a2c Evas textblock tests: Improved textblock word start/end tests.
Removed a wrong test and added some more tests.
2014-02-19 14:38:06 +00:00
Tom Hacohen e0428e9cb0 Evas textblock tests: Add a wrapping test for complex cluster wrapping.
This test uses some Devanagari text that should have more complex
clusters than what latin text can provide. This is a more complex
wrapping case that should be tested and haven't been tested until now.
2014-02-19 12:08:56 +00:00
Tom Hacohen 1dcf143192 Evas textblock: Added a test for rendering of spaces in some cases.
This checks that spaces are one again used, in a specific case
with wrapping.
2014-02-10 14:17:02 +00:00
Tom Hacohen 13664f3af1 Evas textblock: Fixed test shadow warnings. 2014-02-07 13:18:38 +00:00
Tom Hacohen 97f625c021 Evas textblock: Added tests for *_cursor_char_coord_set.
There are issues with values between the beginning of the first par and
the beginning of the first line.
2014-02-07 13:14:21 +00:00
Tom Hacohen a5691571e3 Evas textblock: Added a test for range geometry with bidi text. 2014-01-29 13:27:45 +00:00
Jean-Philippe Andre cc82e2ded5 Textblock: Add test cases for style padding
In the previous commit, style padding has been changed, so
that lines don't get extra space just because there's a special
style (glow, ...)

This adds some test cases that check the actual geometry of the
lines relatively to each other.

NOTE: This test does not fail before the padding commits, as
_relayout_if_needed() adjusts the padding properly.
2014-01-15 17:55:27 +09:00
Youngbok Shin b4106c90d9 Evas test textblock: Added a test for a broken range_text_get case.
Summary: Added a test for range_text_get case on the text that include multi text node.

Reviewers: tasn, woohyun, seoz

CC: cedric

Differential Revision: https://phab.enlightenment.org/D398
2013-12-23 11:01:57 +09:00
Youngbok Shin 8bee8853ae Evas test textblock: Added a test for a broken range_delete case.
This fixes bad integration by me (Tom) of Youngbok's patch in
42a06f24d8.
2013-12-16 12:05:47 +00:00
Youngbok Shin 42a06f24d8 Evas textblock: Added more range_delete tests.
These tests check for a regression with deletion of ranges ending with
visual formats.
Thanks to Youngbok Shin for sending me the tests.
2013-12-13 14:44:16 +00:00
Jean-Philippe Andre a1c3fef538 Evas tests: Add invalid markup test
Commit 0cb048f9b6 fixed a crash in Textblock where
a couple "key=val" had an empty value ("key=").
2013-12-10 20:57:19 +09:00
Tom Hacohen 1b51bc256b Evas tests: Add canvas free with ref tests.
This should check test for the issue fixed in:
bb4a19b5ad
8bba92fbca
2013-11-26 12:27:31 +00:00
Tom Hacohen ada27a49d7 Evas textblock: Added a test for wraps ending with whites.
This tests for word wraps of lines ending with whites.
Those whites should not be cut, they should be wrapped as well.
2013-11-25 14:41:24 +00:00
Tom Hacohen 0e363f54b4 Evas textblock tests: Added tests for correct tag ordering.
Check that tags entered are correctly ordered.
2013-11-19 15:56:49 +00:00
Tom Hacohen 61264aebe3 Evas textblock tests: Added a complex markup set/get test.
This should make things more robust as thing tests a lot.
2013-11-19 15:56:49 +00:00
Tom Hacohen 4850c4660f Evas textblock: Fixed broken test.
Item is not meant to take the size of the max ascent, just the ascent.
2013-09-23 14:37:19 +01:00
Tom Hacohen bda3ceb632 Evas textblock: fixed *_markup_get issue with escaped chars.
Markup_get was misbehaving and returning wrong results with some escaped
chars. markup_to_utf8 was working correctly. Merged the code together
and now both are consistent and correct.

Thanks to WooHyun for reporting.
2013-09-03 11:50:34 +01:00
Tom Hacohen 6ca84f0486 Evas textblock tests: Make the tests more lax.
The tests were failing on jenkins (gentoo), and on arch, but passing on an
old ubuntu. Ubuntu patches freetype, and that's probably the reason for that
with the tests more lax, both work.
2013-08-20 13:32:03 +01:00
Tom Hacohen 1e9f121f42 Evas textblock tests: Adjust tests according to descent fix. 2013-08-20 11:13:06 +01:00
Tom Hacohen 92a6d2e2d2 Evas textblock tests: Fix a broken test and add another test.
The test was running without a text being set.
The added test runs with an empty textblock.
2013-08-20 11:13:06 +01:00
Tom Hacohen ec573948b0 Evas textblock tests: use the libcheck assert macros. 2013-08-20 11:13:06 +01:00
Tom Hacohen 6583b83c73 Evas textblock: Use max ascent/descent at the edges of the textblock.
Thanks to Youngbok Shin for reporting the difference in behaviour between
textblock and text object.
2013-08-06 09:29:03 +01:00
Tom Hacohen fdbc477f79 Evas textblock: Fixed issue with textblocks without fonts segfaulting.
Fixes T184 (which is a regression).
2013-06-25 16:37:48 +01:00
Tom Hacohen e7cd15b04b Fixed text/block tests: Added Korean UnDotum font and fixed some issues. 2013-05-13 15:13:25 +01:00
Tom Hacohen 211ebc9e88 Fix broken test from previous commit. 2013-05-13 13:51:14 +01:00
Tom Hacohen a7d7cc1df1 Evas bidi test: Improved error output. 2013-05-13 13:49:51 +01:00
Yakov Goldberg 0389d46014 Evas textblock: fix split cursor tests; FIXME ligatures tests
- re-enabling split BiDi cursor tests, disabled in 0d68ffbe;
    ligatures tests are still disabled;
  - change "fail_if" to "ck_assert_int_*",
    because it prints error message with values;
  - fixing usage of embedding LTR/RTL codes in tests;

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-17 10:07:29 +03:00
Tom Hacohen 3f3ad67616 Evas textblock: Fixed a bug with deletion of ranges.
Fixed a bug with deletion of ranges that end just before a visual format.
Thanks to WooHyun Jung for reporting.
2013-04-15 17:15:22 +01:00
Yakov Goldberg 0d68ffbe86 Evas textblock: Revert commit 3832ec5
with additional disabling of unused function

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-11 18:19:46 +03:00
Yakov Goldberg 3832ec5500 Evas textblock: fixing tests
Re-enabling tests, disabled in commit:
   84fa062d6e

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-11 17:15:46 +03:00
Yakov Goldberg ff1230f77a Evas text: fixing test
Adding conditional dependence on freebidi

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-11 17:15:45 +03:00
Yakov Goldberg 84fa062d6e Evas textblock: disable some tests. FIXME
Some of tests fail on e5-jenkins-slave-x86_64-1.
   Tests seem right and pass locally,
   but not on the server.

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-10 17:05:44 +03:00
Yakov Goldberg 7016872619 Efl textblock/entry: additions to split BiDi cursor
- handling multiple runs, multiple lines, last char of line/par
   - tests added

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-10 14:59:48 +03:00
Yakov Goldberg afddaf94a0 Evas textblock: fixing tests to work w/ or w/o harfbuzz
In this test harfbuzz creates ligatures,
    so need to handle cases w/ or w/o harfbuzz

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-10 14:43:35 +03:00
Tom Hacohen 920c1b2af8 Evas font: Fixed a bug with cluster sizes and ligatures.
This casused cursor position (among other things) to look wrong with texts
ending with ligatures.

Thanks to Yakov Goldberg for reporting.
2013-04-08 13:31:09 +01:00
Yakov Goldberg fb7994e0d9 evas/font: fixing tests
Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-04 14:35:30 +03:00
Yakov Goldberg d55c3f2bb7 evas/font: fix handling querying char at coords (click on gap)
If query at x coord, which points to rigth half of LTR char,
      next position will be returned. The same for left half of RTL char.

Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
2013-04-04 13:10:22 +03:00
Carsten Haitzler 332e215b41 matching fix to evas test suite to account for changes in word
start/end changes as per log message/changelog
2013-03-29 09:21:20 +09:00
Tom Hacohen 3ba9311c0f Tests: Output XML to build dir, not source dir. 2013-03-12 12:46:06 +00:00
Stefan Schmidt 85810dac8c tests: Add xml output file for check runs for the use with jenkins.
We can do pretty graphs with jenkins about our unit tests. But we
need the check xml output for that. Enabling it in all suites.
2013-03-12 09:59:06 +00:00
Tom Hacohen 23264ae09c Evas textblock: Fixed coord (int) overflow.
X advance coords can be bigger than the limits of short.
2013-03-11 15:33:28 +00:00
Tom Hacohen 1425b0d2dc Evas text: Fixed a bug with the (kinda) newly added text object ellipsis.
There was a problem with bidi texts and ellipsis. The text would be trimmed
according to the visual position instead of the logical.
2013-02-25 15:39:32 +00:00
Tom Hacohen 039b3da078 Evas text: Added a test that shows how broken ellipsis is. 2013-02-25 15:22:04 +00:00
Tom Hacohen 9696f44a67 Evas text tests: Start shipping DejaVuSans with the test suite.
We can finally rely on having fonts in all cases (even when there's no
fontconfig) and we can also rely on specific sizing.
2013-02-25 14:59:03 +00:00
Tom Hacohen d6dababe78 Evas text: Fixed bug with the text object direction detection. 2013-02-21 13:39:37 +00:00
Tom Hacohen 3974cb3dc1 Evas textblock: Fixed a selection bug introduced in my previous commit.
I matched against the wrong values so it never included items in the middle
even when needed.

SVN revision: 83869
2013-02-13 12:42:44 +00:00
Tom Hacohen 548e548632 Evas textblock: Fixed a selection issue.
The issue happens when selecting in strings that have both bidi and different
scripts in the same bidi run. E.g: "עבריתenglishрусскийעברית".

SVN revision: 83786
2013-02-08 15:31:25 +00:00
Tom Hacohen 6aa4eb7d86 Evas text test: Fixed the test to work with Clang.
Apparently L'' doesn't work there.

SVN revision: 82940
2013-01-17 16:58:23 +00:00
Tom Hacohen e183866d21 Evas text test: Use the more verbose test macros.
SVN revision: 82799
2013-01-15 11:07:22 +00:00
Gustavo Sverzut Barbieri 733425c62c efl: make libraries aware of EFL_RUN_IN_TREE.
this variable tells that the build is being done in tree and we should
not look at install locations.



SVN revision: 82217
2013-01-04 17:19:43 +00:00
Vincent Torri 4ae8b8cf86 merge: do not use recursive make for unit tests
SVN revision: 79413
2012-11-18 07:12:38 +00:00
Vincent Torri 80910393d6 merge: add evas tests and examples
SVN revision: 79300
2012-11-14 20:12:53 +00:00