mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-18 13:51:27 +08:00
how-tos made with markdown snippet injector
This commit is contained in:
@ -2,93 +2,70 @@ import TKUnit = require("./TKUnit");
|
||||
import bindableModule = require("ui/core/bindable");
|
||||
require("globals");
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// # Observable Array module
|
||||
// ``` JavaScript
|
||||
// >> observable-array-require
|
||||
import observableArrayModule = require("data/observable-array");
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-require
|
||||
|
||||
require("globals");
|
||||
|
||||
export var test_ObservableArray_shouldCopySourceArrayItems = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Create ObservableArray from array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-create
|
||||
var sa = [1, 2, 3];
|
||||
var array = new observableArrayModule.ObservableArray(sa);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-create
|
||||
|
||||
TKUnit.assert(sa.length === array.length && array.length === 3, "ObservableArray should copy all source array items!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_shouldCopyMultipleItemsAsSource = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Create ObservableArray from arguments.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-arguments
|
||||
var array = new observableArrayModule.ObservableArray(1, 2, 3);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-arguments
|
||||
|
||||
TKUnit.assert(array.length === 3 && array.getItem(1) === 2, "ObservableArray should copy multiple items from source!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_shouldCreateArrayFromSpecifiedLength = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Create ObservableArray with specific length.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-length
|
||||
var array = new observableArrayModule.ObservableArray(100);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-length
|
||||
|
||||
TKUnit.assert(array.length === 100, "ObservableArray should create array from specified length!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_shouldBeAbleToSetLength = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Set ObservableArray length to new value.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-newvalue
|
||||
var array = new observableArrayModule.ObservableArray(100);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
TKUnit.assert(array.length === 100, "ObservableArray should create array from specified length!");
|
||||
// </hide>
|
||||
// << (hide)
|
||||
array.length = 50;
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-newvalue
|
||||
|
||||
TKUnit.assert(array.length === 50, "ObservableArray should respect new length!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_getItemShouldReturnCorrectItem = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Get item at specified index using getItem(index) method.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-getitem
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
var firstItem = array.getItem(0);
|
||||
var secondItem = array.getItem(1);
|
||||
var thirdItem = array.getItem(2);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-getitem
|
||||
|
||||
TKUnit.assert(firstItem === 1 && secondItem === 2 && thirdItem === 3, "ObservableArray getItem() should return correct item!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_setItemShouldSetCorrectItem = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Set item at specified index using setItem(index, item) method.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-setitem
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
array.setItem(1, 5);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-setitem
|
||||
TKUnit.assert(array.getItem(1) === 5, "ObservableArray setItem() should set correct item!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_setItemShouldRaiseCorrectEvent = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Set item at specified index using setItem(index, item) method and observe change event data.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-eventdata
|
||||
var index: number;
|
||||
var action: string;
|
||||
var addedCount: number;
|
||||
@ -102,8 +79,7 @@ export var test_ObservableArray_setItemShouldRaiseCorrectEvent = function () {
|
||||
removed = args.removed; // Array of removed items. In this case with single item (2).
|
||||
});
|
||||
array.setItem(1, 5);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-eventdata
|
||||
TKUnit.assertEqual(index, 1);
|
||||
TKUnit.assertEqual(action, observableArrayModule.ChangeType.Update);
|
||||
TKUnit.assertEqual(addedCount, 1);
|
||||
@ -111,51 +87,39 @@ export var test_ObservableArray_setItemShouldRaiseCorrectEvent = function () {
|
||||
};
|
||||
|
||||
export var test_ObservableArray_concatShouldReturnNewArrayWithNewItemsAtTheEnd = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use concat() method to combine ObservableArray with array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-combine
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
var result = array.concat([4, 5, 6]);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-combine
|
||||
TKUnit.assert(result.length === 6 && result[4] === 5, "ObservableArray concat() should add items at the end!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_joinShouldReturnStringWithAllItemsSeparatedWithComma = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use join() method to convert ObservableArray to comma separated string.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-join
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
var result = array.join();
|
||||
// ```
|
||||
// </snippet>
|
||||
// >> observable-array-join
|
||||
TKUnit.assert(result === "1,2,3", "ObservableArray join() should return string with all items separated with comma!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_joinShouldReturnStringWithAllItemsSeparatedWithDot = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use join(separator) method to convert ObservableArray to string separated with specified separator.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-join-separator
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
var result = array.join(".");
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-join-separator
|
||||
TKUnit.assert(result === "1.2.3", "ObservableArray join() should return string with all items separated with dot!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_popShouldRemoveTheLastElement = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use pop() method to remove the last element.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-join-pop'
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var bindable = new bindableModule.Bindable();
|
||||
bindable.set("testProperty", 0);
|
||||
bindable.bind({ sourceProperty: "length", targetProperty: "testProperty" }, array);
|
||||
// </hide>
|
||||
// << (hide)
|
||||
var result = array.pop();
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-join-pop'
|
||||
TKUnit.assert(result === 3 && array.length === 2, "ObservableArray pop() should remove last element!");
|
||||
TKUnit.assert(bindable.get("testProperty") === array.length, "Expected: " + array.length + ", Actual: " + bindable.get("testProperty"));
|
||||
};
|
||||
@ -163,13 +127,11 @@ export var test_ObservableArray_popShouldRemoveTheLastElement = function () {
|
||||
export var test_ObservableArray_popShouldRemoveTheLastElementAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling pop() method.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-join-change
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var index = array.length - 1;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
//// Argument (args) is ChangedData<T>.
|
||||
@ -179,32 +141,28 @@ export var test_ObservableArray_popShouldRemoveTheLastElementAndRaiseChangeEvent
|
||||
//// args.removed.length is 1.
|
||||
//// args.addedCount is 0.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.pop();
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-join-change
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Delete &&
|
||||
result.removed.length === 1 && result.index === index && result.addedCount === 0, "ObservableArray pop() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_pushShouldAppendNewElement = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use push() method to add single element to the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-push
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var bindable = new bindableModule.Bindable();
|
||||
bindable.set("testProperty", 0);
|
||||
bindable.bind({ sourceProperty: "length", targetProperty: "testProperty" }, array);
|
||||
// </hide>
|
||||
// << (hide)
|
||||
var result = array.push(4);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-push
|
||||
TKUnit.assert(result === 4 && array.getItem(3) === 4, "ObservableArray push() should append new element!");
|
||||
TKUnit.assert(bindable.get("testProperty") === array.length, "Expected: " + array.length + ", Actual: " + bindable.get("testProperty"));
|
||||
};
|
||||
@ -212,9 +170,7 @@ export var test_ObservableArray_pushShouldAppendNewElement = function () {
|
||||
export var test_ObservableArray_pushShouldAppendNewElementAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling push() method with single element.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-change-push
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
//// Argument (args) is ChangedData<T>.
|
||||
@ -224,32 +180,28 @@ export var test_ObservableArray_pushShouldAppendNewElementAndRaiseChangeEventWit
|
||||
//// args.removed.length is 0.
|
||||
//// args.addedCount is 1.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.push(4);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-change-push
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Add &&
|
||||
result.removed.length === 0 && result.index === 3 && result.addedCount === 1, "ObservableArray push() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_pushShouldAppendNewElements = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use push() method to add multiple elements to the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-push-multiple
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var bindable = new bindableModule.Bindable();
|
||||
bindable.set("testProperty", 0);
|
||||
bindable.bind({ sourceProperty: "length", targetProperty: "testProperty" }, array);
|
||||
// </hide>
|
||||
// << (hide)
|
||||
var result = array.push(4, 5, 6);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-push-multiple
|
||||
TKUnit.assert(result === 6 && array.getItem(5) === 6, "ObservableArray push() should append new elements!");
|
||||
TKUnit.assert(bindable.get("testProperty") === array.length, "Expected: " + array.length + ", Actual: " + bindable.get("testProperty"));
|
||||
};
|
||||
@ -257,9 +209,7 @@ export var test_ObservableArray_pushShouldAppendNewElements = function () {
|
||||
export var test_ObservableArray_pushShouldAppendNewElementsAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling push() method with multiple elements.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-push-multiple-info
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
//// Argument (args) is ChangedData<T>.
|
||||
@ -269,32 +219,28 @@ export var test_ObservableArray_pushShouldAppendNewElementsAndRaiseChangeEventWi
|
||||
//// args.removed.length is 0.
|
||||
//// args.addedCount is equal to the number of added items.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.push(4, 5, 6);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-push-multiple-info
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Add &&
|
||||
result.removed.length === 0 && result.index === 3 && result.addedCount === 3, "ObservableArray push() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_pushShouldAppendNewElementsFromSourceArray = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use push() method to add multiple elements from source array to the ObservableArray.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-push-source
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var bindable = new bindableModule.Bindable();
|
||||
bindable.set("testProperty", 0);
|
||||
bindable.bind({ sourceProperty: "length", targetProperty: "testProperty" }, array);
|
||||
// </hide>
|
||||
// << (hide)
|
||||
var result = array.push([4, 5, 6]);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-push-source
|
||||
TKUnit.assert(result === 6 && array.getItem(5) === 6, "ObservableArray push() should append new elements from source array!");
|
||||
TKUnit.assert(bindable.get("testProperty") === array.length, "Expected: " + array.length + ", Actual: " + bindable.get("testProperty"));
|
||||
};
|
||||
@ -302,9 +248,7 @@ export var test_ObservableArray_pushShouldAppendNewElementsFromSourceArray = fun
|
||||
export var test_ObservableArray_pushShouldAppendNewElementsFromSourceArrayAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling push() method with multiple elements from source array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-push-source-info
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
//// Argument (args) is ChangedData<T>.
|
||||
@ -314,43 +258,36 @@ export var test_ObservableArray_pushShouldAppendNewElementsFromSourceArrayAndRai
|
||||
//// args.removed.length is 0.
|
||||
//// args.addedCount is equal to the number of added items.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.push([4, 5, 6]);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-push-source-info
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Add &&
|
||||
result.removed.length === 0 && result.index === 3 && result.addedCount === 3, "ObservableArray push() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_reverseShouldReturnNewReversedArray = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use reverse() method to reverse the elements order of the ObservableArray.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-reverse
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
var result = array.reverse();
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-reverse
|
||||
TKUnit.assert(result.length === 3 && result[0] === 3, "ObservableArray reverse() should return new reversed array!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_shiftShouldRemoveTheFirstElement = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use shift() method to remove the first element of the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-shift
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var bindable = new bindableModule.Bindable();
|
||||
bindable.set("testProperty", 0);
|
||||
bindable.bind({ sourceProperty: "length", targetProperty: "testProperty" }, array);
|
||||
// </hide>
|
||||
// << (hide)
|
||||
var result = array.shift();
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-shift
|
||||
TKUnit.assert(result === 1 && array.length === 2, "ObservableArray shift() should remove first element!");
|
||||
TKUnit.assert(bindable.get("testProperty") === array.length, "Expected: " + array.length + ", Actual: " + bindable.get("testProperty"));
|
||||
};
|
||||
@ -358,9 +295,7 @@ export var test_ObservableArray_shiftShouldRemoveTheFirstElement = function () {
|
||||
export var test_ObservableArray_shiftShouldRemoveTheFirstElementAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling shift() method.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-shift-change
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
@ -371,76 +306,60 @@ export var test_ObservableArray_shiftShouldRemoveTheFirstElementAndRaiseChangeEv
|
||||
//// args.removed.length is 1.
|
||||
//// args.addedCount is 0.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.shift();
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-shift-change
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Delete &&
|
||||
result.removed.length === 1 && result.index === 0 && result.addedCount === 0, "ObservableArray shift() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_sliceShouldReturnSectionAsNewArray = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use slice() method to return array with all ObservableArray elements.
|
||||
// ``` JavaScript
|
||||
// observable-array-slice
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
var result = array.slice();
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-slice
|
||||
TKUnit.assert(result[2] === 3 && result.length === 3, "ObservableArray slice() should return section!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_sliceWithParamsShouldReturnSectionAsNewArray = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use slice(star, end) method to return section of the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-slice-args
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3, 4, 5]);
|
||||
var result = array.slice(2, 4);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-slice-args
|
||||
TKUnit.assert(result[1] === 4 && result.length === 2, "ObservableArray slice() should return section according to specified arguments!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_sortShouldReturnNewSortedArray = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use sort() method to sort the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-sort
|
||||
var array = new observableArrayModule.ObservableArray([3, 2, 1]);
|
||||
var result = array.sort();
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-sort
|
||||
TKUnit.assert(result[0] === 1 && result.length === 3, "ObservableArray sort() should return new sorted array!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_sortShouldReturnNewSortedArrayAccordingSpecifiedOrder = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use sort(compareFunction) method to sort the array with your own comparing logic.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-sort-comparer
|
||||
var array = new observableArrayModule.ObservableArray([10, 100, 1]);
|
||||
var result = array.sort((a: number, b: number) => { return a - b; });
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-sort-comparer
|
||||
TKUnit.assert(result[2] === 100 && result.length === 3, "ObservableArray sort() should return new sorted array according to specified order!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_spliceShouldRemoveSpecifiedNumberOfElementsStartingFromSpecifiedIndex = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use splice(start, deleteCount) method to delete elements in the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-splice
|
||||
var array = new observableArrayModule.ObservableArray(["one", "two", "three"]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var bindable = new bindableModule.Bindable();
|
||||
bindable.set("testProperty", 0);
|
||||
bindable.bind({ sourceProperty: "length", targetProperty: "testProperty" }, array);
|
||||
// </hide>
|
||||
// << (hide)
|
||||
var result = array.splice(1, 2);
|
||||
// ```
|
||||
// </snippet>
|
||||
// <, observable-array-splice
|
||||
TKUnit.assert(result.length === 2 && result[0] === "two" && array.length === 1 && array.getItem(0) === "one",
|
||||
"ObservableArray splice() should remove specified number of elements starting from specified index!");
|
||||
TKUnit.assert(bindable.get("testProperty") === array.length, "Expected: " + array.length + ", Actual: " + bindable.get("testProperty"));
|
||||
@ -449,9 +368,7 @@ export var test_ObservableArray_spliceShouldRemoveSpecifiedNumberOfElementsStart
|
||||
export var test_ObservableArray_spliceShouldRemoveSpecifiedNumberOfElementsStartingFromSpecifiedIndexAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling splice(start, deleteCount) method.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-splice-change
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
@ -462,27 +379,23 @@ export var test_ObservableArray_spliceShouldRemoveSpecifiedNumberOfElementsStart
|
||||
//// args.removed.length is equal to the number of deleted items.
|
||||
//// args.addedCount is 0.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.splice(1, 2);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-splice-change
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Splice &&
|
||||
result.removed.length === 2 && result.index === 1 && result.addedCount === 0, "ObservableArray splice() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_spliceShouldInsertNewItemsInPlaceOfRemovedItemsStartingFromSpecifiedIndex = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use splice(start, deleteCount, ...arguments) method to remove and insert elements in the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-splice-args
|
||||
var array = new observableArrayModule.ObservableArray(["one", "two", "three"]);
|
||||
var result = array.splice(1, 2, "six", "seven");
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-splice-args
|
||||
TKUnit.assert(result.length === 2 && result[0] === "two" && array.length === 3 && array.getItem(2) === "seven",
|
||||
"ObservableArray splice() should insert new items in place of removed!");
|
||||
};
|
||||
@ -490,9 +403,7 @@ export var test_ObservableArray_spliceShouldInsertNewItemsInPlaceOfRemovedItemsS
|
||||
export var test_ObservableArray_spliceShouldRemoveAndInertSpecifiedNumberOfElementsStartingFromSpecifiedIndexAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling splice(start, deleteCount, ...arguments) method.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-splice-args-change
|
||||
var array = new observableArrayModule.ObservableArray(["one", "two", "three"]);
|
||||
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
@ -503,32 +414,28 @@ export var test_ObservableArray_spliceShouldRemoveAndInertSpecifiedNumberOfEleme
|
||||
//// args.removed.length is equal to the number of deleted items.
|
||||
//// args.addedCount is equal to the delta between number of inserted items and number of deleted items but not less than 0.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.splice(1, 2, "six", "seven", "eight");
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-splice-args-change
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Splice &&
|
||||
result.removed.length === 2 && result.index === 1 && result.addedCount === 1, "ObservableArray splice() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_unshiftShouldInsertNewElementsFromTheStart = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use unshift(item1, item2... itemN) method to insert elements from the start of the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-unshift
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
var bindable = new bindableModule.Bindable();
|
||||
bindable.set("testProperty", 0);
|
||||
bindable.bind({ sourceProperty: "length", targetProperty: "testProperty" }, array);
|
||||
// </hide>
|
||||
// << (hide)
|
||||
var result = array.unshift(4, 5);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-unshift
|
||||
|
||||
TKUnit.assert(array.getItem(0) === 4 && result === 5 && array.length === 5, "ObservableArray unshift() should insert new elements from the start!");
|
||||
TKUnit.assert(bindable.get("testProperty") === array.length, "Expected: " + array.length + ", Actual: " + bindable.get("testProperty"));
|
||||
@ -537,9 +444,7 @@ export var test_ObservableArray_unshiftShouldInsertNewElementsFromTheStart = fun
|
||||
export var test_ObservableArray_unshiftShouldInsertNewElementsFromTheStartAndRaiseChangeEventWithCorrectArgs = function () {
|
||||
var result: observableArrayModule.ChangedData<number>;
|
||||
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Handle "change" event to know more info about the change after calling unshift(item1, item2... itemN) method.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-unshift-change
|
||||
var array = new observableArrayModule.ObservableArray([1, 2, 3]);
|
||||
array.on(observableArrayModule.ObservableArray.changeEvent, (args: observableArrayModule.ChangedData<number>) => {
|
||||
//// Argument (args) is ChangedData<T>.
|
||||
@ -549,60 +454,47 @@ export var test_ObservableArray_unshiftShouldInsertNewElementsFromTheStartAndRai
|
||||
//// args.removed.length is 0.
|
||||
//// args.addedCount is equal to the number of inserted items.
|
||||
|
||||
// <hide>
|
||||
// >> (hide)
|
||||
result = args;
|
||||
// </hide>
|
||||
// << (hide)
|
||||
});
|
||||
|
||||
array.unshift(4, 5);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-unshift-change
|
||||
|
||||
TKUnit.assert(result.eventName === observableArrayModule.ObservableArray.changeEvent && result.action === observableArrayModule.ChangeType.Add &&
|
||||
result.removed.length === 0 && result.index === 0 && result.addedCount === 2, "ObservableArray unshift() should raise 'change' event with correct args!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_indexOfShouldReturnCorrectIndex = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use indexOf(item) method to get the index of the desired item in the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-indexof
|
||||
var array = new observableArrayModule.ObservableArray(["one", "two", "three"]);
|
||||
var result = array.indexOf("two");
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-indexof
|
||||
TKUnit.assert(result === 1, "ObservableArray indexOf() should return correct index!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_indexOfShouldReturnCorrectIndexStartingFrom = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use indexOf(item, fromIndex) method to get the index of the desired item in the array starting from specified index.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-indexof-args
|
||||
var array = new observableArrayModule.ObservableArray(["one", "two", "three"]);
|
||||
var result = array.indexOf("two", 2);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-indexof-args
|
||||
TKUnit.assert(result === -1, "ObservableArray indexOf() should return correct index!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_lastIndexOfShouldReturnCorrectIndex = function () {
|
||||
var array = new observableArrayModule.ObservableArray(["one", "two", "two", "three"]);
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use lastIndexOf(item) method to get the last index of the desired item in the array.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-lastindexof
|
||||
var result = array.lastIndexOf("two");
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-lastindexof
|
||||
TKUnit.assert(result === 2, "ObservableArray lastIndexOf() should return correct index!");
|
||||
};
|
||||
|
||||
export var test_ObservableArray_lastIndexOfShouldReturnCorrectIndexStartingFrom = function () {
|
||||
// <snippet module="data/observable-array" title="observable-array">
|
||||
// ### Use lastIndexOf(item, fromIndex) method to get the last index of the desired item in the array starting from specified index.
|
||||
// ``` JavaScript
|
||||
// >> observable-array-lastindexof-args
|
||||
var array = new observableArrayModule.ObservableArray(["one", "two", "two", "one", "three"]);
|
||||
var result = array.lastIndexOf("two", 1);
|
||||
// ```
|
||||
// </snippet>
|
||||
// << observable-array-lastindexof-args
|
||||
TKUnit.assert(result === 1, "ObservableArray lastIndexOf() should return correct index!");
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user