blob: 2d433206de16ec3e0e4a7a353a3f6f120440eb0c [file] [log] [blame]
# encoding: utf-8
# frozen_string_literal: true
# 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.
require 'spec_helper'
require 'whimsy/asf'
# Test data:
# ab/ abc.pdf abcd/ abcde/
# N.B. does not make sense for top-level directory to contain more than 1 entry with same stem;
# in such cases the files are moved to a subdirectory
describe ASF::ICLAFiles do
original = nil
before(:all) do
original = set_cache # need access to listing file
end
after(:all) do
set_cache(original)
end
describe "ASF::ICLAFiles.listnames" do
it "should return 4 files" do
res = ASF::ICLAFiles.listnames
expect(res.length).to equal(4)
end
end
describe "ASF::ICLAFiles.matchStem" do
it "should return [] for abcd" do
res = ASF::ICLAFiles.matchStem('abcd')
expect(res).to eq([])
end
it "should return [abc.pdf] for abc" do
res = ASF::ICLAFiles.matchStem('abc')
expect(res).to eq(['abc.pdf'])
end
end
describe "ASF::ICLAFiles.Dir?" do
it "should return true for ab" do
res = ASF::ICLAFiles.Dir?('ab')
expect(res).to eq(true)
end
it "should return false for abc" do
res = ASF::ICLAFiles.Dir?('abc')
expect(res).to eq(false)
end
it "should return true for abcd" do
res = ASF::ICLAFiles.Dir?('abcd')
expect(res).to eq(true)
end
it "should return true for abcde" do
res = ASF::ICLAFiles.Dir?('abcde')
expect(res).to eq(true)
end
end
describe "ASF::ICLAFiles.match_claRef" do
it "should return nil for 'xyz'" do
res = ASF::ICLAFiles.match_claRef('xyz')
expect(res).to equal(nil)
end
it "should return nil for 'a'" do
res = ASF::ICLAFiles.match_claRef('a')
expect(res).to equal(nil)
end
it "should return 'ab' for 'ab'" do
res = ASF::ICLAFiles.match_claRef('ab')
expect(res).to eq('ab')
end
it "should return 'abc.pdf' for 'abc'" do
res = ASF::ICLAFiles.match_claRef('abc')
expect(res).to eq('abc.pdf')
end
it "should return 'abcd' for 'abcd'" do
res = ASF::ICLAFiles.match_claRef('abcd')
expect(res).to eq('abcd')
end
it "should return 'abcde' for 'abcde'" do
res = ASF::ICLAFiles.match_claRef('abcde')
expect(res).to eq('abcde')
end
end
end