{"action":"opened","issue":{"url":"https://api.github.com/repos/angular/protractor/issues/2641","labels_url":"https://api.github.com/repos/angular/protractor/issues/2641/labels{/name}","comments_url":"https://api.github.com/repos/angular/protractor/issues/2641/comments","events_url":"https://api.github.com/repos/angular/protractor/issues/2641/events","html_url":"https://github.com/angular/protractor/issues/2641","id":113829980,"number":2641,"title":"by.repeater doesn't handle one-time bindings","user":{"login":"voithos","id":744228,"avatar_url":"https://avatars.githubusercontent.com/u/744228?v=3","gravatar_id":"","url":"https://api.github.com/users/voithos","html_url":"https://github.com/voithos","followers_url":"https://api.github.com/users/voithos/followers","following_url":"https://api.github.com/users/voithos/following{/other_user}","gists_url":"https://api.github.com/users/voithos/gists{/gist_id}","starred_url":"https://api.github.com/users/voithos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/voithos/subscriptions","organizations_url":"https://api.github.com/users/voithos/orgs","repos_url":"https://api.github.com/users/voithos/repos","events_url":"https://api.github.com/users/voithos/events{/privacy}","received_events_url":"https://api.github.com/users/voithos/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-28T14:13:54Z","updated_at":"2015-10-28T14:13:54Z","closed_at":null,"body":"Essentially, a repeater defined as `ng-repeat=\"item in ::ctrl.items\"` does not get found by the locator `by.repeater('item in ctrl.items')`. I'm not sure if this flexibility is desired, but since there is already a more precise `by.exactRepeater`, perhaps it'd be worthwhile.\r\n\r\nIt seems like the current implementation [simply search for the locator string via `.indexOf()`](https://github.com/angular/protractor/blob/bc16de70ae7f58474ba46ae4bf24497fab09ae70/lib/clientsidescripts.js#L149). The fix may be as simple as stripping out the `::` before checking for the locator:\r\n\r\n    return ngRepeat.replace(/::/g, '').indexOf(repeater) != -1;"}}