dtas.git  about / heads / tags
duct tape audio suite for *nix
blob b16ea15240abbb6db647ebddfe1881768dbee3a9 715 bytes (raw)
name: test/test_mlib.rb 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
# Copyright (C) 2013-2019 all contributors <dtas-all@nongnu.org>
# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
# frozen_string_literal: true
require_relative 'helper'
begin
  require 'dtas/mlib'
  require 'sequel'
  require 'sqlite3'
rescue LoadError => err
  warn "skipping mlib test: #{err.message}"
  exit 0
end

class TestMlib < Testcase
  def setup
    @db = Sequel.sqlite(':memory:', case_sensitive_like: false)
  end

  def test_migrate
    ml = DTAS::Mlib.new(@db)
    begin
      $-w = false
      ml.migrate
      tables = @db.tables
    ensure
      $-w = true
    end
    [ :nodes, :tags, :vals, :comments ].each do |t|
      assert tables.include?(t), "missing #{t}"
    end
  end
end

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

git clone git://80x24.org/dtas.git
git clone https://80x24.org/dtas.git