1
0
mirror of https://github.com/MontFerret/ferret.git synced 2025-03-19 21:28:32 +02:00

81 Commits

Author SHA1 Message Date
Tim Voronov
8f2957e6ca
Feature/optimized member expression (#653)
* Added new member path resolution logic

* Updated Getter and Setter interfaces

* Added ssupport of pre-compiled static member path

* Improved error handling
2021-09-08 21:01:22 -04:00
Tim Voronov
5f361e9e1b
Added support of optional ignoring of errors to function calls (#652)
* Added support of optional ignoring of errors to function calls

* Added support of handling of source failure to optional chaining

* Updated unit tests
2021-09-06 22:21:20 -04:00
Tim Voronov
e6dd5689b4
Bugfix/e2e tests (#648)
* Fixed logger level

* Fixed WAITFOR EVENT parser

* Added tracing to Network Manager

* Updated logging

* Swtitched to value type of logger

* Added tracing

* Increased websocket maximum buffer size

* Ignore unimportant error message

* Added support of new CDP API for layouts

* Switched to value type of logger

* Added log level

* Fixed early context cancellation

* Updated example of 'click' action

* Switched to val for elements lookup

* Fixed unit tests

* Refactored 'eval' module

* Fixed SetStyle eval expression

* Fixed style deletion

* Updated logic of setting multiple styles
2021-09-02 11:09:48 -04:00
Tim Voronov
1d0617eb3b
Added support of optional chaining (#634) 2021-07-16 14:46:08 -04:00
Tim Voronov
742bdae0ae
Feature/#263 waitfor event (#590)
* Added new WAITFOR syntax

* Added support of event options

* Added support of options

* Added support of using WAITFOR EVENT in variable assignment
2021-07-13 21:34:22 -04:00
Tim Voronov
5119d62838
Feature/#478 keyboard events (#618)
* Added support of pressin special keys

* Linting
2021-04-23 10:42:31 -04:00
Vladimir Fetisov
7601c903d9
issue-607: add object(array)Literal into memberExpression (#616) 2021-04-19 13:55:24 -04:00
Tim Voronov
ae7b5ce557 Added additional unit tests for LIKE operator 2021-03-05 08:11:41 -05:00
Tim Voronov
f4876c05a3
Added LIKE operator (#591)
* Added LIKE operator
2021-02-15 11:37:52 -05:00
Roman
cd35437452
feat(runtime): check Kind() by 0 or Interface() panic (#587) 2021-01-22 14:59:02 -05:00
Tim Voronov
01088247e2
Added support of Element.nextElementSibling and Element.previousEleme… (#569)
* Added support of Element.nextElementSibling and Element.previousElementSibling

* Fixed linting issues

* Removed reedundant logger use
2020-11-13 21:48:00 -05:00
Tim Voronov
bd07b84736
Feature/#262 while loop (#567)
* Added new syntax and iterator

* Added FOR-WHILE loop

* Added 'FOR-DO-WHILE loop'
2020-11-10 19:16:22 -05:00
David BF
9988ebde6f
Add Regexp FILTER operator (#558) 2020-10-02 13:35:17 -04:00
John Bampton
de377775a9
Fix spelling (#534) 2020-07-09 17:30:50 -04:00
Tim Voronov
2643321e0f
Migration to lab (#526)
* Switched to Lab for e2e tests

* Switched to binary

* Updated lab installation

* Updated use of Lab installer

* updates

* Changed lab installation path

* Updated use of installer

* Works

* Added additional functions

* Updated some tests

* Updated go.sum

* Works

* Refactored assertions

* Added tests for testing.True

* Added tests for testing.None

* Added tests for testing.Lte

* Added tests for testing.Lt

* Added generic consturctor

* Added tests for testing.Len

* Added tests for testing.Gte

* Added tests for testing.Gt

* Added tests for testing.False

* Added tests for testing.Empty

* Added tests for testing.Fail

* Added tests for testing.Equal

* Added tests for testing.Include

* Updated urls in static page tests

* Fixed namespace unit tests

* Fixed unit test for testing.Len

* Updated E2E scripts

* Updaes

* Updated Chrome in CI/CD

* Added e2e for example test click.fql

* Added suite cases for example scripts

* Updated examples

* Updated

* Added type assertions

* Updated Chrome opts and disabled headers and cookies related tests

* Fixed iframes example

* Increased timeouts in navigation examples

* Updated value example

* Updated comments

* Disabled cookies examples

* Fixed static url

* Disabled headers examples

* Disabled UA test

* Simplified wait logic

* Added base testing module

* Fixes after codereview

* Disabled failing tests
2020-06-17 17:37:01 -04:00
Vladimir Fetisov
162b37bea1
cast namespace to upper case (#507) 2020-05-18 10:51:01 -04:00
AdamKorcz
311d07ad40
Added fuzzer (#501)
* Added fuzzer

* Formatting updates

* Attempting to fix linter error

* Corrected comment
2020-05-10 16:07:49 -04:00
Vladimir Fetisov
9be14417b3
#300: add one more test case (#487)
* add one more test case

* test nested namespace collision
2020-04-28 17:31:10 -04:00
Tim Voronov
7b2ed4c662
Added support of using keywords in namespaces (#481)
* Added support of using keywords in namespaces

* Added true and false

* Removed unnecessary string case
2020-04-28 17:30:47 -04:00
3timeslazy
64fc010e6e
MVP USE statement (#470)
* MVP USE statement
2020-04-22 10:44:10 -04:00
John Bampton
568c48ea71
Fix typos (#446) 2020-02-01 23:44:31 -05:00
Tim Voronov
d4a92fc64b Added var uniqueness check 2019-11-14 22:10:55 -05:00
Tim Voronov
c3cdb48078
Merge branch 'master' into feature/issue_#286 2019-10-17 16:58:41 -04:00
Владимир Фетисов
749bed5495 add tests 2019-10-16 23:29:24 +03:00
3timeslazy
ad2ec2e817 build core.Functions with map 2019-10-15 21:06:48 +03:00
3timeslazy
1a7240f738 add pointer receiver into all Functions methods 2019-10-15 12:04:04 +03:00
3timeslazy
83dc0d2811 make core.Functions a struct 2019-10-15 11:40:36 +03:00
3timeslazy
e5860934a4 move strings.ToUpper logic from code into core.Functions 2019-10-14 21:47:31 +03:00
Tim Voronov
c2e7315008 Improved error message 2019-10-11 21:30:42 -04:00
Tim Voronov
9e7998f9c8 Added params check before execution 2019-10-11 17:31:23 -04:00
Tim Voronov
04eea23e52 Added support for params as segments in member expression path 2019-09-07 01:57:33 -04:00
Tim Voronov
0a2fd478cd Improved path lookup 2019-09-07 01:47:58 -04:00
Tim Voronov
9c0e81a2f4 Added param to member expression 2019-09-07 01:21:43 -04:00
Tim Voronov
5928900e82
Added tick as a string literal (#367) 2019-09-01 21:41:16 -04:00
Tim Voronov
2a8135657d
Fixed access to a member property right after a function call (#368) 2019-09-01 16:01:03 -04:00
Tim Voronov
22382a0f61
Added namespace builder (#336)
* Added namespace builder

* Fixed linting issues

* Added extra check

* Updated e2e lib

* Renamed NamespaceBuilder to NamespaceContainer and changed func receivers

* Renamed NewLib to RegisterLib
2019-07-22 17:21:20 -04:00
Tim Voronov
cf43c7fdad
Feature/#293 regular exp operator (#326)
* Added Regexp operator

* Added simple type check

* Fixed linting issue
2019-07-09 14:19:53 -04:00
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
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
3timeslazy
de703513e4 Linter Cleanup (#276)
* linter cleanup

* fix default case
2019-03-29 10:48:51 -04: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
eruca
e9cd4d414d return the *FqlCompiler customed replace default (#227)
Invalid return value
2019-02-04 15:30:12 -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
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
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
1af1cc2486
Fixes (#187) 2018-11-21 22:45:00 -05:00
Tim Voronov
291d07cbef
Feature/custom iterator (#173)
* Added CollectionIterator interface

* Added PAGINATION function

* Fixed LIMIT clause

* Fixed linting issues
2018-11-12 19:58:12 -05:00
Max
ad9bfbd4ad + Remove function (#163) 2018-11-06 10:17:48 -05:00