1
0
mirror of https://github.com/MontFerret/ferret.git synced 2024-12-14 11:23:02 +02:00
Commit Graph

200 Commits

Author SHA1 Message Date
Tim Voronov
d7b923e4c3
Feature/#220 iframe support (#315)
* Refactored Virtual DOM structure
* Added new E2E tests
* Updated E2E Test Runner
2019-06-19 17:58:56 -04:00
Tim Voronov
6933798419
Bugfix/#295 arithmetic operators (#298)
* Some work

* Updated Add operator

* Updated Subtract operator

* Updated Subtract operator tests

* Added tests for multiplication

* Added division

* Updated the rest of operators
2019-05-19 12:12:11 -04:00
Adam Argo
65b6981a8e fixes race condition when EventLoad listener isn't removed prior to the next page loading (#281) 2019-05-10 13:14:38 -04:00
Tim Voronov
101da6323a
Added namespaces support (#296)
* Added namespaces support

* Updated regexp for func name validation
2019-05-10 12:53:31 -04:00
3timeslazy
acf2f13dcb Linter Cleanups (#294)
* sync with MontFerret/ferret

* fix --param handling

When params is converted to map it uses strings.Split,
which slices a string into all substrings separated by :.

* remove impossible conditions nil != nil

* delete ineffectual assignments

* replace '+= 1' with '++'

* remove useless comparison with nil

* merge variable declarations

* remove bool comparison

* fix imports

* fix imports

* delete unused file

* use copy instead of loop

* delete unused DummyInterface

* remove unnecassary break statements

* tidy modules
2019-05-03 17:10:34 -04:00
Tim Voronov
e23e73c1c4
Added delay randomization for inputs (#283)
* Added delay randomization for inputs

* Fixed formatting
2019-04-12 21:05:11 -04:00
3timeslazy
de703513e4 Linter Cleanup (#276)
* linter cleanup

* fix default case
2019-03-29 10:48:51 -04:00
Tim Voronov
37fb385ba4
Updated RAND function (#271)
* Updated RAND function

* renamed a func
2019-03-19 16:17:05 -04:00
3timeslazy
1cf260cd59 fix order of arguments (#269) 2019-03-19 12:32:28 -04:00
Tim Voronov
71c246dd17
Feature/#236 cookies (#242)
* Added KeepCookies option to CDP driver

* Added LoadDocumentParams

* Added COOKIE_GET and COOKIE_SET methods
2019-03-15 19:59:05 -04:00
Tim Voronov
803ae0ea24 Fixed string encoding 2019-03-15 00:09:34 -04:00
Tim Voronov
53549de76b Updated style template 2019-03-15 00:06:55 -04:00
Tim Voronov
a2c4610fce Removed IteratorFn 2019-03-15 00:00:21 -04:00
Tim Voronov
32bfd4be3d Added IteratorFn 2019-03-14 22:33:22 -04:00
Tim Voronov
e17ce5a3d5
Feature/#250 wait style 2 (#260)
* Added WAIT_STYLE and WAIT_NO_STYLE

* Added WAIT_NO_STYLE and WAIT_NO_STYLE_ALL functions
2019-03-14 22:10:15 -04:00
Tim Voronov
82f7317ebe
Feature/#250 wait style (#257)
* Added WAIT_ATTR functions
2019-03-13 22:50:29 -04:00
Tim Voronov
376ad77404
Feature/#250 wait style (#255)
* Added support for parsed styles

* Added stdlib function.

* Added e2e tests

* Added e2e tests for STYLE_* functions
2019-03-13 14:51:30 -04:00
Tim Voronov
201ff95f6c Ignore empty CDP address value 2019-03-06 22:54:12 -05:00
Tim Voronov
d0caef8be7
Feature/#229 wait no element (#249)
* Added possibility to wait for an element or a class absence
2019-03-06 21:52:41 -05:00
Tim Voronov
b702f127ed
Fixed graceful process termination (#240) 2019-02-26 15:32:50 -05:00
Tim Voronov
63dfcdeefd
Fixed dot notation for HTML elements (#239)
* Fixed dot notation for HTML elements
2019-02-25 21:46:39 -05:00
Tim Voronov
14dd7ac40b
Fixed incorrect String.length (#238)
* Fixed incorrect String.length
2019-02-24 13:21:34 -05:00
Tim Voronov
eb523f01cc
Feature/#221 mouse events (#237)
* Initial work

* Added MoveMouseByXY and ScrollByXY

* Fixed liniting issues
2019-02-23 17:52:01 -05:00
Tim Voronov
2be0d471ac Updated default driver registration 2019-02-21 13:04:38 -05:00
Tim Voronov
6e15846d0f
Added Context to HTML methods (#235)
* Added Context to HTML methods

* Fixed unit tests

* Updated timeout

* Fixed WAIT_CLASS timeout
2019-02-20 21:24:05 -05:00
Tim Voronov
34c8c02258
Refactoring/externalized html (#234)
* Externalized HTML drivers

* Fixed unit tests

* Updated logging

* Added support to set default driver

* Updated GetIn and SetIn helpers
2019-02-19 18:10:18 -05:00
Tim Voronov
f8e061cc80
Move value specific Iterable and Iterator interfaces into core module (#233)
* Move value specific Iterable and Iterator interfaces into core module

* Update Makefile

Reverted test command

* Update collection.go

* Fixed wrong iterator usage

* Updated use of switch statements
2019-02-15 07:41:08 -05:00
Tim Voronov
1af8b37a0f
New type system (#232)
* New type system

* Fixed dot notation for HTML elements
2019-02-13 12:31:18 -05:00
3timeslazy
b3bcbda3b9 rename functions Parse<Type>P -> MustParse<Type>. while dined (#231) 2019-02-12 18:01:49 -05:00
Tim Voronov
749cb8945d Fixed linting issues 2019-02-08 13:45:21 -05:00
eruca
e9cd4d414d return the *FqlCompiler customed replace default (#227)
Invalid return value
2019-02-04 15:30:12 -05:00
3timeslazy
24512715e5 rename KEEP -> KEEP_KEYS (#223) 2019-02-01 21:39:28 -05:00
Tim Voronov
fdf3c7c33f Updated JS event dispatching 2019-01-21 13:58:37 -05:00
jasonparekh
61933caec9 Allows simulated clicks to be canceled (#222)
User-generated mouse clicks are cancelable (and thus preventDefault() works), but the simulated MouseEvents were not cancelable.  This led to some sites to have different behavior between user-generated and simulated clicks.

See https://developer.mozilla.org/en-US/docs/Web/Events/click.
2019-01-21 13:52:17 -05:00
3timeslazy
7cb7d75204 Autocomplete REPL (#219)
* add pkg/stdlib/objects Length function

* rename lenght.go -> length.go

* fix tests according to other tests

* add new tests to length tests

* delete objects method Length

* add objects method Has

* add objects function Keys

* small fixes in Keys and Has functions

* change Has function

* unit tests for Keys function

* add unit tests for merge. also little change in lib.go

* add doc to Keys function

* Merge function prototype

* add unit tests for KEEP function

* added KEEP function

* added doc for KEYS function

* update lib.go

* update lib.go

* upd merge prototype

* addded isEqualObjects function to objects tests

* change object method Compare

* added unit tests for Compare method

* changed Compare method

* fix Compare method

* rename method Clone to Copy

* added Cloneable interface

* added Value to Cloneable interface

* implemented Cloneable intefrace by array

* added some more unit tests for values.Array

* fix values.Array.Compare method

* added one more unit test

* implemented Cloneable interface by Object

* unit tests for Object.Clone

* move core.IsCloneable to value.go

* change Clone function

* move IsClonable to package values

* updated MERGE unit tests

* added MERGE function

* added MERGE to lib

* added one more test

* changed MERGE function

* rewrite a few comments according to Go Best Practices

* rewrite comments

* fix bug when result of the KEEP function was dependent on source object

* some more changes in KEEP function

* init VALUES function

* push test with bug

* add stress test

* small changes in stress tests

* changes in object.Comapare

* change object.Compare

* add more tests for object.Compare

* added comments to object.Compare function

* change object.Comapare

* delete useless comment

* one more change in object.Compare

* init datetime

* added test for datetime

* added lib.go

* add helpers functions

* made values.DefaultTimeLayout public

* added DATE function

* added DATE_DAYOFWEEK function

* added DATE_YEAR function

* added DATE_MONTH function

* added one more testCase for DATE_MONTH

* added DATE_DAY function

* added DateDay to lib

* added DATE_HOUR, DATE_MINUTE and DATE_SECOND functions

* added DATE_DAYOFYEAR, DATE_LEAPYEAR, DATE_MILLISECOND functions

* fix names in tests

* one more case into dayofyear_test

* added DATE_QUARTER function

* added DATE_DAYS_IN_MONTH function

* added DATE_FORMAT function

* added -v flag into go test

* update DATE_FORMAT test cases

* added one more test case

* add helpers functions

* made values.DefaultTimeLayout public

* added DATE function

* added DATE_DAYOFWEEK function

* added DATE_YEAR function

* added DATE_MONTH function

* added one more testCase for DATE_MONTH

* added DATE_DAY function

* added DateDay to lib

* added DATE_HOUR, DATE_MINUTE and DATE_SECOND functions

* added DATE_DAYOFYEAR, DATE_LEAPYEAR, DATE_MILLISECOND functions

* fix names in tests

* one more case into dayofyear_test

* added DATE_QUARTER function

* added DATE_DAYS_IN_MONTH function

* added DATE_FORMAT function

* added -v flag into go test

* Set codecov support for all branches

* update DATE_FORMAT test cases

* Updated codecov settings

* Added panic recovery mechanism (#158)

* Bump github.com/mafredri/cdp from 0.19.0 to 0.20.0 (#159)

Bumps [github.com/mafredri/cdp](https://github.com/mafredri/cdp) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/mafredri/cdp/releases)
- [Commits](https://github.com/mafredri/cdp/compare/v0.19.0...v0.20.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* Bump github.com/gofrs/uuid from 3.1.1 to 3.1.2 (#160)

Bumps [github.com/gofrs/uuid](https://github.com/gofrs/uuid) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/gofrs/uuid/releases)
- [Commits](https://github.com/gofrs/uuid/compare/v3.1.1...v3.1.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>

* added one more test case

* sorter instead Compare now

* rename utils.LOG -> utils.PRINT

* rename utils.Logs -> utils.Print

* added DATE_ADD, DATE_SUBTRACT functions

* use keyed fields now

* added DATE_DIFF function

* delete unused var

* delete useless type cast

* fixed a bug when adding/subtrating did not take an amount of units

* added DateCompare function

* renames

* fix small bug

* fix

* init autocompleter

* init autocomplete

* delete init tokens and add fql.LiteralNames in autocomplete
2019-01-19 10:00:49 -05:00
Tim Voronov
2712c3836b Updated parser 2018-12-24 11:54:47 -05:00
Tim Voronov
e535f602d5 Added unit tests for Setter and Getter interfaces 2018-12-24 10:48:34 -05:00
Tim Voronov
5620be211c
Next (#214)
* Renamed DOCUMENT to PAGE

* Added PageLoadParams

* Added PageLoadParams

* Renamed LoadPageParams -> PageLoadParams

* Added support for context.Done() (#201)

* Bug/#189 operators precedence (#202)

* Fixed math operators precedence

* Fixed logical operators precedence

* Fixed array operator

* Added support for parentheses to enforce a different operator evaluation order

* Feature/#200 drivers (#209)

* Added new interfaces

* Renamed dynamic to cdp driver

* Renamed drivers

* Added ELEMENT_EXISTS function (#210)

* Renamed back PAGE to DOCUMENT (#211)

* Added Getter and Setter interfaces
2018-12-21 23:14:41 -05:00
Paul
6bc4b3e0e3 Prevent memory leak (#213) 2018-12-19 16:12:37 -05:00
Tim Voronov
a219e776ad
Switched from int to int64 (#188) 2018-11-30 19:31:08 -05:00
Tim Voronov
39e379f0f2
Decoupled runtime and HTML driver initialization (#198)
* Decoupled runtime and HTML driver initialization

* Updates
2018-11-30 19:30:55 -05:00
Tim Voronov
f5901e2226
Switched from 0.0.0.0 to 127.0.0.1 (#197) 2018-11-30 14:12:08 -05:00
Tim Voronov
b3611c5713
Fixed use of duplicate variable as a source in FOR IN statement (#196) 2018-11-30 13:12:00 -05:00
Tim Voronov
dc3de71554
Bug/#194 empty value (#195)
* Fixes

* Fixed path to HTMLElement.value
2018-11-28 07:39:12 -05:00
Tim Voronov
0f3af382a9
Fixes (#193) 2018-11-22 11:44:05 -05:00
Tim Voronov
a5dec54a3c
Fixed WAIT_CLASS args validation (#192) 2018-11-22 10:39:15 -05:00
Tim Voronov
47a4a18375 Fixed int oveflow for page load timeout 2018-11-21 23:11:01 -05:00
Tim Voronov
1af1cc2486
Fixes (#187) 2018-11-21 22:45:00 -05:00
Tim Voronov
d94a2fb004
Added timeout to DOCUMENT function (#186) 2018-11-21 20:38:27 -05:00
Tim Voronov
30abe61f72 Updated ANTLR binary name for code generation 2018-11-19 20:51:05 -05:00