<?php
namespace nur\sery\php\content;

use nur\sery\php\content\content;
use nur\sery\php\content\impl\html;
use PHPUnit\Framework\TestCase;

class contentTest extends TestCase {
  function testFlattern() {
    self::assertSame([], content::flatten(null));
    self::assertSame([], content::flatten([null]));
    self::assertSame([""], content::flatten(""));
    self::assertSame([""], content::flatten([""]));

    self::assertSame(["a", "b", "c", "d"], content::flatten(["a", ["b", ["c"], "d"]]));
  }

  function testResolve_static() {
    self::assertSame([], content::resolve_static(null, null));
    self::assertSame([], content::resolve_static([null], [null]));
    self::assertSame([""], content::resolve_static("", ""));
    self::assertSame([""], content::resolve_static([""], [""]));

    self::assertSame(["&lt;quoted&gt;"], content::resolve_static("<quoted>", "<quoted>"));
    self::assertSame(["<non-quoted>"], content::resolve_static(["<non-quoted>"], ["<non-quoted>"]));

    self::assertSame(
      "<h1>title&lt;q/&gt;</h1><p>hello<nq/><span>brave&lt;q/&gt;</span><span>world<nq/></span></p>",
      content::to_string([
        [html::H1, "title<q/>"],
        [html::P, [
          "hello<nq/>",
          [html::SPAN, "brave<q/>"],
          [html::SPAN, ["world<nq/>"]],
        ]],
      ]));
  }
}

