{"action":"created","issue":{"url":"https://api.github.com/repos/qa-tools/qa-tools/issues/115","labels_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/115/labels{/name}","comments_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/115/comments","events_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/115/events","html_url":"https://github.com/qa-tools/qa-tools/issues/115","id":56575555,"number":115,"title":"Don't use \"SelectorsHandler::xpathLiteral\" method ","user":{"login":"aik099","id":1277526,"avatar_url":"https://avatars.githubusercontent.com/u/1277526?v=3","gravatar_id":"","url":"https://api.github.com/users/aik099","html_url":"https://github.com/aik099","followers_url":"https://api.github.com/users/aik099/followers","following_url":"https://api.github.com/users/aik099/following{/other_user}","gists_url":"https://api.github.com/users/aik099/gists{/gist_id}","starred_url":"https://api.github.com/users/aik099/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aik099/subscriptions","organizations_url":"https://api.github.com/users/aik099/orgs","repos_url":"https://api.github.com/users/aik099/repos","events_url":"https://api.github.com/users/aik099/events{/privacy}","received_events_url":"https://api.github.com/users/aik099/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/qa-tools/qa-tools/labels/module-all","name":"module-all","color":"eb6420"},{"url":"https://api.github.com/repos/qa-tools/qa-tools/labels/type-bug","name":"type-bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/qa-tools/qa-tools/milestones/4","html_url":"https://github.com/qa-tools/qa-tools/milestones/1.1.0","labels_url":"https://api.github.com/repos/qa-tools/qa-tools/milestones/4/labels","id":762304,"number":4,"title":"1.1.0","description":null,"creator":{"login":"aik099","id":1277526,"avatar_url":"https://avatars.githubusercontent.com/u/1277526?v=3","gravatar_id":"","url":"https://api.github.com/users/aik099","html_url":"https://github.com/aik099","followers_url":"https://api.github.com/users/aik099/followers","following_url":"https://api.github.com/users/aik099/following{/other_user}","gists_url":"https://api.github.com/users/aik099/gists{/gist_id}","starred_url":"https://api.github.com/users/aik099/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aik099/subscriptions","organizations_url":"https://api.github.com/users/aik099/orgs","repos_url":"https://api.github.com/users/aik099/repos","events_url":"https://api.github.com/users/aik099/events{/privacy}","received_events_url":"https://api.github.com/users/aik099/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":24,"state":"open","created_at":"2014-08-22T08:46:33Z","updated_at":"2015-04-30T08:46:42Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2015-02-04T19:32:35Z","updated_at":"2015-05-08T15:14:59Z","closed_at":null,"body":"The `SelectorsHandler::xpathLiteral` method will be deprecated in Mink 1.7 and the `Element::getSelectorsHandler` method, that is currently (in QA-Tools) used to reach selectors handler will be removed after https://github.com/minkphp/Mink/pull/641 merge.\r\n\r\nWe should use `Escaper::escapeLiteral` method, which (class & method) was introduced in Mink 1.6 to do xpath escaping when we're manually building xpaths."},"comment":{"url":"https://api.github.com/repos/qa-tools/qa-tools/issues/comments/100268227","html_url":"https://github.com/qa-tools/qa-tools/issues/115#issuecomment-100268227","issue_url":"https://api.github.com/repos/qa-tools/qa-tools/issues/115","id":100268227,"user":{"login":"evangelion1204","id":685814,"avatar_url":"https://avatars.githubusercontent.com/u/685814?v=3","gravatar_id":"","url":"https://api.github.com/users/evangelion1204","html_url":"https://github.com/evangelion1204","followers_url":"https://api.github.com/users/evangelion1204/followers","following_url":"https://api.github.com/users/evangelion1204/following{/other_user}","gists_url":"https://api.github.com/users/evangelion1204/gists{/gist_id}","starred_url":"https://api.github.com/users/evangelion1204/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evangelion1204/subscriptions","organizations_url":"https://api.github.com/users/evangelion1204/orgs","repos_url":"https://api.github.com/users/evangelion1204/repos","events_url":"https://api.github.com/users/evangelion1204/events{/privacy}","received_events_url":"https://api.github.com/users/evangelion1204/received_events","type":"User","site_admin":false},"created_at":"2015-05-08T15:14:59Z","updated_at":"2015-05-08T15:14:59Z","body":"> I don't remember if selectors handler concept wasn't removed from Mink after Escaper class was introduced.\r\n\r\nThe selectors are still there, I am not really sure if they help us.\r\n\r\n\r\n\r\n> We should think of the way how we can do it too. Maybe we can store an instance in the PageFactory.\r\n\r\nThis might work out but only elements inheriting `AbstractElementContainer` are able to access the `PageFactory`but `Select` and `LabeledElement` are subclasses of `AbstractTypifiedElement` which never needed the PageFactory. \r\nThe easiest way would to move the factory one level up to the Element or create it in classes that require an `Escaper`. There should never be a need to use a custom `Escaper`."}}