| /* | 
 | * Licensed to the Apache Software Foundation (ASF) under one | 
 | * or more contributor license agreements.  See the NOTICE file | 
 | * distributed with this work for additional information | 
 | * regarding copyright ownership.  The ASF licenses this file | 
 | * to you under the Apache License, Version 2.0 (the | 
 | * "License"); you may not use this file except in compliance | 
 | * with the License.  You may obtain a copy of the License at | 
 | * | 
 | *   http://www.apache.org/licenses/LICENSE-2.0 | 
 | * | 
 | * Unless required by applicable law or agreed to in writing, | 
 | * software distributed under the License is distributed on an | 
 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
 | * KIND, either express or implied.  See the License for the | 
 | * specific language governing permissions and limitations | 
 | * under the License. | 
 | */ | 
 |  | 
 | (function () { | 
 |  | 
 |     var testHelper = window.testHelper; | 
 |     var encodeHTML = testHelper.encodeHTML; | 
 |  | 
 |     var caseFrame = window.caseFrame; | 
 |  | 
 |     var filters = [{ | 
 |         name: 'primary-cases', | 
 |         whiteList: [ | 
 |             'ut/ut.html', | 
 |             'ie8.html', | 
 |             'touch-slide.html', | 
 |             'touch-test.html', | 
 |             'touch-candlestick.html', | 
 |             'tooltip-touch.html', | 
 |             'ios13-z-bug.html', | 
 |             'bar.html', | 
 |             'line.html', | 
 |             'geoLine.html', | 
 |             'graph.html', | 
 |             'graph-grid.html', | 
 |             'map.html', | 
 |             'media-finance.html', | 
 |             'axes.html', | 
 |             'dataZoom-axes.html', | 
 |             'dataZoom-axis-type.html', | 
 |             'dataZoom-dynamic.html', | 
 |             'visualMap-continuous.html', | 
 |             'visualMap-opacity.html', | 
 |             'brush.html', | 
 |             'brush2.html' | 
 |         ] | 
 |     }, { | 
 |         name: 'stream-cases', | 
 |         whiteList: [ | 
 |             'stream-basic1.html', | 
 |             'stream-basic2.html', | 
 |             'lines-ny-appendData.html', | 
 |             'scatter-stream-large.html', | 
 |             'scatter-stream-not-large.html', | 
 |             'scatter-random-stream.html', | 
 |             'scatter-random-stream-fix-axis.html', | 
 |             'scatter-gps.html', | 
 |             'scatter-weibo.html', | 
 |             'bar-stream-large.html', | 
 |             'bar-stream-large1.html', | 
 |             'candlestick-large2.html', | 
 |             'lines-flight.html', | 
 |             'lines-stream-large.html', | 
 |             'lines-stream-not-large.html', | 
 |             'stream-filter.html', | 
 |             'scatter-stream-visual.html' | 
 |         ] | 
 |     }]; | 
 |  | 
 |  | 
 |     function run() { | 
 |  | 
 |         // Init list | 
 |         var url = testHelper.dir() + '/'; | 
 |         $.ajax({ | 
 |             url: url | 
 |         }).then( | 
 |             function (content) { | 
 |                 var pagePaths = fetchPagePaths(content); | 
 |                 if (pagePaths.length) { | 
 |                     caseFrame.init({ | 
 |                         dom: document.getElementById('main'), | 
 |                         pagePaths: pagePaths, | 
 |                         filters: filters | 
 |                     }); | 
 |                 } | 
 |                 else { | 
 |                     renderFailInfo(url); | 
 |                 } | 
 |             }, | 
 |             function () { | 
 |                 renderFailInfo(url); | 
 |             } | 
 |         ); | 
 |     } | 
 |  | 
 |     function renderFailInfo(url) { | 
 |         url = encodeHTML(url); | 
 |         document.body.innerHTML = 'Error: This page requires a server that is able to list files when visiting' | 
 |             + ' <a target="_blank" href="' + url + '">' + url + '</a>.'; | 
 |     } | 
 |  | 
 |     function fetchPagePaths(content) { | 
 |         var pageList = []; | 
 |  | 
 |         singleFetch(/"([^"/]*\/)*([^"/]+\.html)\s*"/g); | 
 |         singleFetch(/'([^'/]*\/)*([^'/]+\.html)\s*'/g); | 
 |  | 
 |         function singleFetch(pattern) { | 
 |             var result; | 
 |             while ((result = pattern.exec(content)) != null) { | 
 |                 pageList.push(result[result.length - 1]); | 
 |             } | 
 |         } | 
 |  | 
 |         return pageList; | 
 |     } | 
 |  | 
 |     run(); | 
 |  | 
 | })(); |