chai-xml

Chai 用の Xml アサーション。

インストール

chai パッケージに加えて、プラグインをインストールする必要があります。

npm install chai-xml --save-dev

var chai    = require('chai');
var expect  = require('chai').expect;
var chaiXml = require('chai-xml');

//loads the plugin
chai.use(chaiXml);

describe('assert some xml', function(){

    var someXml = '<root>\n\t<child name="foo" value="bar"></child>\n</root>';
    var otherXml = '<root><child value="bar" name="foo" /></root>';

    it("should be valid", function(){
        expect(someXml).xml.to.be.valid();
    });

    it("should be the same string as otherXml ", function(){
        expect(someXml).to.not.equal(otherXml);
    });
    it("should be the same XML as otherXml ", function(){
        expect(someXml).xml.to.equal(otherXml);
    });

    it("should be the same XML ignoring the whitespace at the begining and end of the text nodes", function () {
        var formattedXml = "<tag>\n\tContent\n</tag>";
        var unformattedXml = "<tag>Content</tag>";
        expect(formattedXml).xml.to.deep.equal(unformattedXml);
    });
});

使い方

  • XML は文字列でなければなりません。
  • チェーンに xml プロパティを追加します。
  • equal/eq/equals メソッドは、文字列ではなく XML を比較します。
  • valid メソッドは、XML が形式どおりかどうかを確認します。

コントリビュート

コントリビューションは歓迎です! issues をご確認ください。可能な限りユニットテストを実施してください。

リリース履歴

  • 0.4.1 依存関係の更新
  • 0.3.0 deep 比較を追加。ご協力ありがとうございます。 PR #2
    • 0.3.1 package.json キーワードの変更
    • 0.3.2 eslint の追加、無効時の構文解析エラーの修正、package-lock.json の追加
  • 0.2.0 初期リリース。xml プロパティ、valid メソッドのサポートを追加し、equal/eq/equals メソッドを上書きしました。

ライセンス

Copyright (c) 2014-2023 Bertrand Chevrier
MIT ライセンスに基づいてライセンスされています。