ember-cli-page-object
Advanced tools
Comparing version 1.3.0 to 1.4.0
@@ -120,2 +120,3 @@ import Ember from 'ember'; | ||
* @param {number} options.at - Reduce the set of matched elements to the one at the specified index | ||
* @param {boolean} options.visible - Make the action to raise an error if the element is not visible | ||
* @param {boolean} options.resetScope - Override parent's scope | ||
@@ -122,0 +123,0 @@ * @param {String} options.testContainer - Context where to search elements in the DOM |
@@ -9,4 +9,4 @@ import Ember from 'ember'; | ||
// Run this to validate if the element exists | ||
simpleFindElementWithAssert(tree, fullSelector, options) | ||
// Run this to validate if the element exists and it is visible | ||
simpleFindElementWithAssert(tree, fullSelector, options); | ||
@@ -75,2 +75,3 @@ if (context) { | ||
* @param {number} options.at - Reduce the set of matched elements to the one at the specified index | ||
* @param {boolean} options.visible - Make the action to raise an error if the element is not visible | ||
* @param {boolean} options.resetScope - Ignore parent scope | ||
@@ -77,0 +78,0 @@ * @param {String} options.testContainer - Context where to search elements in the DOM |
@@ -5,2 +5,3 @@ import Ember from 'ember'; | ||
import { count } from './queries/count'; | ||
import Ceibo from 'ceibo'; | ||
@@ -16,3 +17,3 @@ const mergeFunction = Ember.assign || Ember.merge; | ||
function generateEnumerable(definition) { | ||
function generateEnumerable(node, definition, key) { | ||
var enumerable = merge({}, definition); | ||
@@ -31,3 +32,3 @@ | ||
var collection = create(enumerable, { parent: this }); | ||
var collection = create(enumerable, { parent: node }); | ||
@@ -38,10 +39,18 @@ if (typeof Symbol !== 'undefined' && Symbol.iterator) { | ||
// Change the key of the root node | ||
Ceibo.meta(collection).key = `${key}()`; | ||
return collection; | ||
} | ||
function generateItem(index, definition) { | ||
function generateItem(node, index, definition, key) { | ||
var filters = merge({}, { scope: definition.scope, at: index }); | ||
var scope = buildSelector({}, definition.itemScope, filters); | ||
return create(merge({}, definition.item, { scope, resetScope: definition.resetScope }), { parent: this }); | ||
var tree = create(merge({}, definition.item, { scope, resetScope: definition.resetScope }), { parent: node }); | ||
// Change the key of the root node | ||
Ceibo.meta(tree).key = `${key}(${index})`; | ||
return tree; | ||
} | ||
@@ -53,3 +62,3 @@ | ||
for (var index = 0, count = this.count; index < count; index++) { | ||
array.push(generateItem.call(this, index, definition)); | ||
array.push(generateItem(this, index, definition)); | ||
} | ||
@@ -201,10 +210,12 @@ return array; | ||
value(index) { | ||
if (typeof index === 'number') { | ||
return generateItem.call(this, index, definition); | ||
} else { | ||
return generateEnumerable.call(this, definition); | ||
} | ||
get(key) { | ||
return index => { | ||
if (typeof index === 'number') { | ||
return generateItem(this, index, definition, key); | ||
} else { | ||
return generateEnumerable(this, definition, key); | ||
} | ||
}; | ||
} | ||
}; | ||
} |
@@ -32,2 +32,6 @@ import Ember from 'ember'; | ||
if (this.targetFilters.visible) { | ||
filters.push(`:visible`); | ||
} | ||
if (this.targetFilters.contains) { | ||
@@ -117,2 +121,3 @@ filters.push(`:contains("${this.targetFilters.contains}")`); | ||
* @param {boolean} options.last - Filter by using :last pseudo-class | ||
* @param {boolean} options.visible - Filter by using :visible pseudo-class | ||
* @return {string} Fully qualified selector | ||
@@ -155,2 +160,3 @@ */ | ||
* @param {boolean} options.last - Filter by using :last pseudo-class | ||
* @param {boolean} options.visible - Filter by using :visible pseudo-class | ||
* @param {boolean} options.multiple - Specify if built selector can match multiple elements. | ||
@@ -216,2 +222,3 @@ * @param {String} options.testContainer - Context where to search elements in the DOM | ||
* @param {boolean} options.last - Filter by using :last pseudo-class | ||
* @param {boolean} options.visible - Filter by using :visible pseudo-class | ||
* @param {boolean} options.multiple - Specify if built selector can match multiple elements. | ||
@@ -218,0 +225,0 @@ * @param {String} options.testContainer - Context where to search elements in the DOM |
@@ -7,2 +7,3 @@ import { create } from './create'; export { create }; | ||
import { visitable } from './actions/visitable'; export { visitable }; | ||
import { triggerable } from './actions/triggerable'; export { triggerable }; | ||
import { contains } from './predicates/contains'; export { contains }; | ||
@@ -20,3 +21,3 @@ import { hasClass } from './predicates/has-class'; export { hasClass }; | ||
export { buildSelector, findElementWithAssert, findElement } from './helpers'; | ||
export { buildSelector, findElementWithAssert, findElement, getContext } from './helpers'; | ||
@@ -41,3 +42,4 @@ export default { | ||
value, | ||
visitable | ||
visitable, | ||
triggerable | ||
}; |
{ | ||
"name": "ember-cli-page-object", | ||
"version": "1.3.0", | ||
"version": "1.4.0", | ||
"description": "This ember-cli addon eases the construction of page objects on your acceptance tests", | ||
@@ -51,2 +51,3 @@ "homepage": "http://ember-cli-page-object.js.org", | ||
"ember-resolver": "^2.0.3", | ||
"ember-suave": "2.0.1", | ||
"ember-try": "^0.1.2", | ||
@@ -53,0 +54,0 @@ "glob": "^5.0.13", |
@@ -1,46 +0,22 @@ | ||
import { create } from 'ember-cli-page-object/create'; | ||
import { attribute } from 'ember-cli-page-object'; export { attribute }; | ||
import { clickOnText } from 'ember-cli-page-object'; export { clickOnText }; | ||
import { clickable } from 'ember-cli-page-object'; export { clickable }; | ||
import { collection } from 'ember-cli-page-object'; export { collection }; | ||
import { contains } from 'ember-cli-page-object'; export { contains }; | ||
import { count } from 'ember-cli-page-object'; export { count }; | ||
import { create } from 'ember-cli-page-object'; export { create }; | ||
import { fillable } from 'ember-cli-page-object'; export { fillable, fillable as selectable }; | ||
import { hasClass } from 'ember-cli-page-object'; export { hasClass }; | ||
import { is } from 'ember-cli-page-object'; export { is }; | ||
import { isHidden } from 'ember-cli-page-object'; export { isHidden }; | ||
import { isVisible } from 'ember-cli-page-object'; export { isVisible }; | ||
import { notHasClass } from 'ember-cli-page-object'; export { notHasClass }; | ||
import { property } from 'ember-cli-page-object'; export { property }; | ||
import { text } from 'ember-cli-page-object'; export { text }; | ||
import { triggerable } from 'ember-cli-page-object'; export { triggerable }; | ||
import { value } from 'ember-cli-page-object'; export { value }; | ||
import { visitable } from 'ember-cli-page-object'; export { visitable }; | ||
import { collection } from 'ember-cli-page-object/collection'; | ||
export { buildSelector, findElementWithAssert, findElement, getContext } from 'ember-cli-page-object'; | ||
import { clickable } from 'ember-cli-page-object/actions/clickable'; | ||
import { clickOnText } from 'ember-cli-page-object/actions/click-on-text'; | ||
import { fillable, fillable as selectable } from 'ember-cli-page-object/actions/fillable'; | ||
import { visitable } from 'ember-cli-page-object/actions/visitable'; | ||
import { contains } from 'ember-cli-page-object/predicates/contains'; | ||
import { hasClass } from 'ember-cli-page-object/predicates/has-class'; | ||
import { isHidden } from 'ember-cli-page-object/predicates/is-hidden'; | ||
import { isVisible } from 'ember-cli-page-object/predicates/is-visible'; | ||
import { notHasClass } from 'ember-cli-page-object/predicates/not-has-class'; | ||
import { attribute } from 'ember-cli-page-object/queries/attribute'; | ||
import { count } from 'ember-cli-page-object/queries/count'; | ||
import { is } from 'ember-cli-page-object/queries/is'; | ||
import { text } from 'ember-cli-page-object/queries/text'; | ||
import { value } from 'ember-cli-page-object/queries/value'; | ||
export { create } from 'ember-cli-page-object/create'; | ||
export { collection } from 'ember-cli-page-object/collection'; | ||
export { clickable } from 'ember-cli-page-object/actions/clickable'; | ||
export { clickOnText } from 'ember-cli-page-object/actions/click-on-text'; | ||
export { fillable, fillable as selectable } from 'ember-cli-page-object/actions/fillable'; | ||
export { visitable } from 'ember-cli-page-object/actions/visitable'; | ||
export { contains } from 'ember-cli-page-object/predicates/contains'; | ||
export { hasClass } from 'ember-cli-page-object/predicates/has-class'; | ||
export { isHidden } from 'ember-cli-page-object/predicates/is-hidden'; | ||
export { isVisible } from 'ember-cli-page-object/predicates/is-visible'; | ||
export { notHasClass } from 'ember-cli-page-object/predicates/not-has-class'; | ||
export { attribute } from 'ember-cli-page-object/queries/attribute'; | ||
export { count } from 'ember-cli-page-object/queries/count'; | ||
export { is } from 'ember-cli-page-object/queries/is'; | ||
export { text } from 'ember-cli-page-object/queries/text'; | ||
export { value } from 'ember-cli-page-object/queries/value'; | ||
export { property } from 'ember-cli-page-object/queries/property'; | ||
export { buildSelector, findElementWithAssert, findElement } from 'ember-cli-page-object/helpers'; | ||
export default { | ||
@@ -60,6 +36,8 @@ attribute, | ||
notHasClass, | ||
selectable, | ||
property, | ||
selectable: fillable, | ||
text, | ||
triggerable, | ||
value, | ||
visitable | ||
}; |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
15321614
228
92483
33
1
3
1