Skip to content

Commit 8b70ce6

Browse files
committed
not using String.prototype.includes to fix IE11
1 parent 9289caf commit 8b70ce6

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

test/special-comparison-logic-test.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ QUnit.test("where to filter", function(){
3535
}, "got intersection");
3636
});
3737

38+
var stringIncludes = function(strA, strB) {
39+
return strA.indexOf(strB) >= 0;
40+
};
41+
3842
QUnit.test("Searchable string", function(){
3943
// Create a set type that is used to do comparisons.
4044
function SearchableStringSet(value) {
@@ -44,7 +48,7 @@ QUnit.test("Searchable string", function(){
4448
canReflect.assignSymbols(SearchableStringSet.prototype,{
4549
// Returns if the name on a todo is actually a member of the set.
4650
"can.isMember": function(value){
47-
return value.includes(this.value);
51+
return stringIncludes(value, this.value);
4852
},
4953
"can.serialize": function(){
5054
return this.value;
@@ -54,31 +58,31 @@ QUnit.test("Searchable string", function(){
5458
// Specify how to do the fundamental set comparisons.
5559
QueryLogic.defineComparison(SearchableStringSet,SearchableStringSet,{
5660
union: function(searchA, searchB){
57-
if(searchA.value.includes(searchB.value)) {
61+
if(stringIncludes(searchA.value, searchB.value)) {
5862
return searchB;
5963
}
60-
if(searchB.value.includes(searchA.value)) {
64+
if(stringIncludes(searchB.value, searchA.value)) {
6165
return searchA;
6266
}
6367
return new QueryLogic.ValuesOr([searchA, searchB]);
6468
},
6569
// a aa
6670
intersection: function(searchA, searchB){
67-
if(searchA.value.includes(searchB.value)) {
71+
if(stringIncludes(searchA.value, searchB.value)) {
6872
return searchA;
6973
}
70-
if(searchB.value.includes(searchA.value)) {
74+
if(stringIncludes(searchB.value, searchA.value)) {
7175
return searchB;
7276
}
7377
return QueryLogic.UNDEFINABLE;
7478
},
7579
difference: function(searchA, searchB){
7680
// if a is a subset
77-
if(searchA.value.includes(searchB.value)) {
81+
if(stringIncludes(searchA.value, searchB.value)) {
7882
return QueryLogic.EMPTY;
7983
}
8084
// a is a superset
81-
if(searchB.value.includes(searchA.value)) {
85+
if(stringIncludes(searchB.value, searchA.value)) {
8286
return QueryLogic.UNDEFINABLE;
8387
}
8488
// foo \ bar

0 commit comments

Comments
 (0)